Skip to content

FousMetrc

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.

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

What you can build on Metrc

  • Get incoming transfers

    Build this

    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

    Build this

    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

    Build this

    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

    Build this

    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 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

    Build this
    Starts
    Every weekday at 7:00
    Step 1
    For each facility license you name, get the incoming transfers not yet received.
    Step 2
    Keep the transfers that were not there on the last run.
    Step 3
    Email you the list by facility, with manifest number, shipper, estimated arrival and package count.
  • Yesterday's sales receipts, handed to accounting

    Build this
    Starts
    Every day at 6:00
    Step 1
    For each retail facility, get the sales receipts dated yesterday.
    Step 2
    Stop when there are none.
    Step 3
    Post receipt number, sales date, package tags, quantities and total price to your accounting webhook.
  • Packages on hold, every week

    Build this
    Starts
    Every Monday at 8:00
    Step 1
    For each facility license, get the packages in the On Hold list.
    Step 2
    Keep the packages that changed since the last run.
    Step 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, 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.

OptionWhat it coversWhat it takes
Metrc Web API, version 2Packages (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 handThe 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), California track and trace account manager rule.

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

Other industries: PEXA, FMCSA Drug & Alcohol Clearinghouse, PlanetBids, Georgia Tax Center, Vestwell State Savings employer portal, 京东企业购.

Frequently asked questions

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.

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.

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.

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.

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.

Put Metrc behind an API call

Describe one job in Studio and see the method it builds, with 100 credits a month and no credit card, or book a demo and bring the sites your team signs in to.

Read nextwebDEALERThe Compliance EngineeFileILPEXAHow methods workHow workflows run

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.