← Back to all docs

Metrc API

Metrc is the cannabis track-and-trace and compliance platform mandated across 30+ U.S. jurisdictions, combining software with RFID tagging to monitor product from cultivation through retail sale. An unofficial API lets you programmatically pull plants, harvests, packages, transfers, lab results, sales receipts, and facility data—and push compliant updates like new packages, plant movements, and sales reporting back into Metrc.

By Alex KlarfeldMay 30, 2026
Metrc API

What is Metrc?

Metrc is a cannabis compliance and track-and-trace platform that pioneered Colorado's seed-to-sale solution and is now the regulatory standard across 30+ U.S. jurisdictions and territories. Founded in 2011, Metrc combines software with RFID tagging to monitor cannabis movement from cultivation through processing, testing, transport, and retail sale—consolidating supply-chain data into a unified system that growers, processors, retailers, and state regulators rely on for compliance, recall management, tax documentation, and chain-of-custody tracking.

Core capabilities include:

  • Track-and-trace technology combining software with RFID tags for plants and packages
  • Open API and Metrc Connect integration framework for third-party software providers
  • Validated Integrators certification program for partner software
  • Streamlined product recall management, including Metrc Retail ID for direct-to-consumer recalls
  • Tax revenue documentation, inspection, audit, and reporting automation
  • Patient validation at point-of-sale against state medical registries

Common data entities:

  • Plants, Plant Batches, Harvests, Waste
  • Packages, Items, Item Categories, Brands
  • Transfers, Deliveries, Manifests, Receipts
  • Lab Results / Test Results
  • Sales Receipts, Sales Transactions
  • Facilities, Employees, Strains, Locations, Tags

The Metrc Integration Challenge

Cannabis operators depend on Metrc for daily compliance, but building reliable automation on top of it is non-trivial:

  • State-by-state endpoints: Metrc runs a separate instance per jurisdiction (api-ca, api-or, api-co, …), each with its own base URL, rules, and feature availability
  • Dual-key authentication: Calls require both a vendor (software) API key and a user API key, with keys scoped per facility license
  • Validated Integrator gating: Production access requires sandbox testing and approval through Metrc's managed integration process before keys are issued
  • Strict compliance ordering: Plant, harvest, package, and transfer operations must follow exact lifecycle sequences and tag rules or the state rejects the report
  • Rate limiting and throttling: Metrc enforces request limits that vary by endpoint and jurisdiction, so naive polling gets throttled
  • Metrc Connect migration: The newer Metrc Connect surface changes endpoint behavior and capabilities relative to the legacy open API, varying by state rollout

How Supergood Creates Metrc APIs

Supergood delivers a resilient, normalized API layer over Metrc's open API and Metrc Connect surfaces—handling the dual-key authentication, per-state base URLs, and compliance lifecycle rules so you integrate once across every facility and jurisdiction you operate in.

  • Manages vendor and user API keys securely, scoped to each facility license
  • Routes requests to the correct state instance and adapts to Metrc Connect rollout differences
  • Normalizes responses across plants, harvests, packages, transfers, lab results, and sales into consistent objects
  • Respects per-endpoint rate limits with adaptive throttling, retries, and idempotent compliance writes

Use Metrc with AI agents: Metrc MCP Server →

Getting Started

  • Schedule Integration Assessment

Book a 30-minute session to confirm your states, facility licenses, and Metrc Connect status.

  • Supergood Generates and Validates Your API

We deliver a production-ready Metrc adapter tuned to your jurisdictions and compliance workflows.

  • Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as Metrc and state rules evolve.

metrc

API Endpoints

Authentication

POST/authenticate

Authenticate using the vendor and user API keys scoped to a facility license and obtain a session for downstream calls.

Cultivation

GET/plants

List vegetative and flowering plants with filters for facility, growth phase, location, strain, and tag.

Cultivation

GET/harvests

Retrieve active, on-hold, and inactive harvests with associated weights, waste, and package activity.

Inventory

GET/packages

Pull active and inactive packages with item, quantity, lab-test status, and source harvest details.

Inventory

POST/create_package

Create a new package from harvested material or existing packages, assigning a Metrc tag and item.

Distribution

GET/transfers

List incoming, outgoing, and rejected transfers with manifests, delivery routes, and destination facilities.

Retail

GET/sales_receipts

Retrieve point-of-sale sales receipts and transactions with package, quantity, price, and patient validation data.

Use Cases

Sync seed-to-sale inventory into your ERP or warehouse

- Pull plants, harvests, and packages by facility into a single normalized warehouse - Reconcile package quantities and tags against ERP and POS inventory - Surface lab-test status and item categories for downstream reporting

Automate compliant package and transfer reporting

- Create packages from harvests and existing packages with correct tags and items - Build outgoing transfer manifests and deliveries without manual portal entry - Enforce lifecycle ordering so the state accepts each compliance report

Stream retail sales and patient validation

- Push and pull sales receipts and transactions across retail locations - Validate patients against state medical registries at point-of-sale - Reconcile sold quantities back to package inventory for accurate counts

Unify compliance across multiple states and licenses

- Route calls to the correct per-state Metrc instance automatically - Aggregate plants, packages, and sales across facilities into one view - Adapt to Metrc Connect rollout differences without rewriting integrations

Technical Specifications

Authentication

Dual API keys (vendor software key plus user key) scoped per facility license, managed in a secure session

Connectivity

Metrc open API and Metrc Connect REST surfaces, routed to the correct per-state base URL (api-ca, api-or, api-co, …)

Response format

Normalized JSON across plants, harvests, packages, transfers, lab results, and sales objects

Rate limits

Adaptive throttling tuned to Metrc's per-endpoint and per-jurisdiction request limits to avoid throttling

Session management

Automatic key rotation, credential vaulting, and per-facility scope handling

Data freshness

Near real-time pulls for packages, transfers, and sales with optional scheduled batch syncs

Security

Encrypted credential vault, scoped access, SOC 2-aligned controls, and audit logging

Webhooks

Event-style callbacks for package creation, transfer status, harvest changes, and sales activity

Latency

Sub-second reads on cached entities; multi-second writes when posting compliance transactions

Throughput

Horizontally scaled workers sized to multi-facility, multi-state cultivation and retail volume

Reliability

Retry, backoff, and idempotency keys for package, transfer, and sales compliance writes

Adaptation

Continuous monitoring of Metrc Connect rollouts, state rule changes, and per-jurisdiction endpoint drift

Frequently asked questions

Production Metrc access requires sandbox testing and approval through Metrc's managed integration process before vendor and user keys are issued. Supergood works with your authorized keys and handles the dual-key, per-facility scoping for you.

Yes. Metrc runs a separate instance per jurisdiction with its own base URL and rules. Supergood routes each call to the correct per-state endpoint and normalizes responses so you integrate once across every state you operate in.

Plant, harvest, package, and transfer operations must follow exact lifecycle sequences and tag rules. Supergood enforces correct ordering and idempotent writes so the state accepts each report rather than rejecting it.

Metrc Connect changes endpoint behavior and capabilities relative to the legacy open API and rolls out by state. Supergood adapts to both surfaces and the rollout differences so your integration keeps working as states migrate.

Yes. The same normalized API surfaces plants, harvests, packages, and transfers alongside sales receipts and patient validation, so cultivation and retail data sit together for unified reporting.

Ready to get a real API?