# Get your Metrc packages and transfers through an API

> Read your active and on-hold packages, incoming transfers and sales receipts from Metrc with one API call each. A workflow can check each facility's incoming transfers every morning and hand yesterday's receipts to accounting.

Page: https://fous.com/automate/metrc
Updated: 2026-11-12

Works with your own Metrc account. Fous is an independent product.

## What you can build on Metrc

### Get incoming transfers

Reads the Incoming tab under Transfers for one facility: each manifest, who shipped it, when it is due and the packages on it.

- Takes: Facility license number, received or not (optional)
- Returns: Manifest number, shipper license and name, estimated arrival, received date, package count, package tags

### Get active packages

Reads the Active or On Hold list under Packages for one facility, with each package's tag, item and quantity.

- Takes: Facility license number, Active or On Hold
- Returns: Package tag, item, product type, brand, quantity, unit of measure, packaged date

### Get sales receipts

Reads the sales receipts recorded under Sales for one facility and a date range, with the packages and quantities on each.

- Takes: Facility license number, sales date from, sales date to
- Returns: Receipt number, sales date and time, customer type, package tags, quantities, total price

### Adjust a package with a reason

Opens a package under Packages, enters an adjustment to its quantity with a reason and a note, and saves it.

- Takes: Facility license number, package tag, new quantity, unit of measure, reason, note, date
- Returns: Package tag, previous quantity, new quantity, reason, adjustment date

## Automate Metrc with a workflow

A [workflow](/product/workflows) runs your methods as one process, with nobody at the screen. A schedule or a call from your own system starts it, the steps run in order, and the result arrives in your inbox or in the systems you already use.

### Incoming transfers for each facility, every morning

Starts: Every weekday at 7:00

1. For each facility license you name, get the incoming transfers not yet received.
2. Keep the transfers that were not there on the last run.
3. Email you the list by facility, with manifest number, shipper, estimated arrival and package count.

### Yesterday's sales receipts, handed to accounting

Starts: Every day at 6:00

1. For each retail facility, get the sales receipts dated yesterday.
2. Stop when there are none.
3. Post receipt number, sales date, package tags, quantities and total price to your accounting webhook.

### Packages on hold, every week

Starts: Every Monday at 8:00

1. For each facility license, get the packages in the On Hold list.
2. Keep the packages that changed since the last run.
3. Email you the list with package tag, item, quantity and packaged date.

You can run a workflow by hand on every plan, Free included. Schedules and webhook triggers come with the paid plans, from $29 a month.

## Once built, one call from your code

Once you have built a [method](/product/methods), it is one POST to /v1/runs from your backend, or a tool an AI agent calls over MCP. This is what “Get incoming transfers” would look like.

Example request:

```
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "ca.metrc.com/get_incoming_transfers",
    "input": {
      "facility_license": "C11-0000123-LIC",
      "not_received_only": true
    }
  }'
```

Example response:

```
{
  "status": "completed",
  "data": {
    "facility_license": "C11-0000123-LIC",
    "transfers": [
      {
        "manifest_number": "0004821937",
        "shipper_license": "C11-0000456-LIC",
        "shipper_name": "Northwind Distribution",
        "estimated_arrival": "2026-11-12T10:30:00-08:00",
        "received_at": null,
        "package_count": 1,
        "package_tags": [
          "1A4FF0100000000000012345"
        ]
      }
    ],
    "count": 1
  }
}
```

An example with invented data, not a ready-made endpoint. The method exists in your organization once you build it, and its name, inputs and fields follow your request.

## Metrc’s own options

Metrc publishes a Web API for each state's system it runs, such as California's at api-ca.metrc.com, with version 2 endpoints for packages, transfers, sales receipts, plants, harvests and lab tests. Its documentation describes two keys for a call: an integrator API key and a user API key. Without them you have the Metrc site itself, under each person's own login.

| Option | What it covers | What it takes |
| --- | --- | --- |
| Metrc Web API, version 2 | Packages (active, on hold, inactive, in transit), incoming and outgoing transfers, sales receipts, plants, harvests and lab tests. | An integrator API key and a user API key, as Metrc's API documentation sets out. |
| Metrc by hand | The Packages, Transfers and Sales screens, used by each person under their own login. | A unique Metrc login for each person, set up after the account manager completes the state's new user system training. |

Read on November 12, 2026: [Metrc Web API documentation (California)](https://api-ca.metrc.com/Documentation/), [California track and trace account manager rule](https://www.law.cornell.edu/regulations/california/4-CCR-15048).

## Signing in to Metrc

In California, each person signs in to Metrc with a unique username and password and may use only their assigned login. Access starts with the account manager, an owner of the business who completes new user training. With Fous you sign in once through Metrc's own sign-in with your own login: it is sealed with AES-256, and an expired session is signed back in.

## Worth knowing

- **Activity is due in Metrc within 24 hours**: In California, receiving, rejection, packaging, lab testing, destruction and sale must be recorded in Metrc within 24 hours of occurrence. A record for yesterday may still arrive today, so plan daily reads with that window.
- **Every package carries a UID tag**: In California, all cannabis and cannabis products on the premises are assigned a plant or package tag. The tag's UID is the key to match Metrc records against your own inventory system.
- **An adjustment needs a reason**: When a package adjustment changes the recorded quantity, California requires a description of the reason. A write method should take that reason as an input, never fill it in for you.
- **Each state has its own Metrc**: Metrc runs a separate system and API address per state: ca.metrc.com and api-ca.metrc.com for California, api-co.metrc.com for Colorado. A method is built against your state's site.

## More in Government: US courts, records, permits and licensing

- [Sunshine 811](https://fous.com/automate/sunshine-811.md)
- [Texas811 Portal](https://fous.com/automate/texas811-portal.md)
- [USA North 811](https://fous.com/automate/usa-north-811.md)
- [Accela Citizen Access](https://fous.com/automate/accela-citizen-access.md)
- [DOB NOW](https://fous.com/automate/dob-now.md)
- [webDEALER](https://fous.com/automate/webdealer.md)
- [The Compliance Engine](https://fous.com/automate/the-compliance-engine.md)
- [eFileIL](https://fous.com/automate/efileil.md)
- [eFileTexas](https://fous.com/automate/efiletexas.md)
- [Florida Courts E-Filing Portal](https://fous.com/automate/florida-courts-e-filing-portal.md)
- [Odyssey File & Serve](https://fous.com/automate/odyssey-file-and-serve.md)
- [LOOP](https://fous.com/automate/loop.md)

Other industries: [PEXA](/automate/pexa), [FMCSA Drug & Alcohol Clearinghouse](/automate/fmcsa-drug-and-alcohol-clearinghouse), [PlanetBids](/automate/planetbids), [Georgia Tax Center](/automate/georgia-tax-center), [Vestwell State Savings employer portal](/automate/vestwell-state-savings-employer-portal), [京东企业购](/automate/jd-enterprise).

## Frequently asked questions

### Does Metrc have an API?

Yes. Metrc publishes a Web API for each state's system it runs, with version 2 endpoints for packages, transfers, sales receipts, plants, harvests and lab tests. Its documentation describes two keys for each call: an integrator API key and a user API key.

### How quickly must activity be recorded in Metrc?

In California, within 24 hours of occurrence. That covers receipt, rejection, manufacturing, packaging, lab testing, destruction and sale. Each record includes the product type, weight, volume or count, the date, the UID and the brand name.

### Can I see incoming transfers for several facilities at once?

Yes, with a workflow you build. It runs on a schedule, loops over your facility license numbers, calls the same method for each and emails you one list or posts it to your webhook.

### Who sets up access to Metrc?

In California, an owner of the business is named the track and trace account manager no later than 10 calendar days after license issuance. That person completes the state's new user system training and requests access by email to Metrc support.

### Is Fous affiliated with Metrc LLC?

No. Fous is an independent product. You use it with your own Metrc login, and a method reads and does only what that login can.

Fous is an independent product: it is not affiliated with, endorsed by or sponsored by the operator of Metrc (Metrc LLC). The name is used only to say which system this page is about. Something here wrong or out of date? Write to legal@fous.com.
