Compliance data for 51 US hemp jurisdictions. One call. JSON in, legal answer out.
$ curl https://api.hempdata.io/v1/compliance/check \ -H "Authorization: Bearer $KEY" \ -G -d "state=TX" -d "substance=cbd" -d "product_type=edibles"
{
"success": true,
"data": {
"state": "TX",
"substance": "cbd",
"product_type": "edibles",
"legal_status": "legal_with_restrictions",
"summary": "CBD edibles legal under DSHS registration…",
"confidence_score": 0.94
}
}
Plain HTTPS + JSON. Any language with an HTTP client works; generate a typed client from the OpenAPI spec if you want one.
# 1. Get a key open https://api.hempdata.io/signup # 2. Export it export HEMPDATA_KEY="hda_live_sk_..." # 3. Make a call curl "https://api.hempdata.io/v1/compliance/check?state=KY&substance=cbd&product_type=edibles" \ -H "Authorization: Bearer $HEMPDATA_KEY"
Use your secret key (hda_live_sk_...) for API calls; the publishable key (hda_live_pk_...) is only for the embeddable widget.
What we ship, in one grid.
Everything you can call. Full reference →
| Method | Path | What it does |
|---|---|---|
| GET | /v1/answer | Plain-English question → verified, statute-cited answer |
| GET | /v1/compliance/check | Single product + single state → compliant? |
| POST | /v1/compliance/scan | Upload COA → 51-state legality map |
| POST | /v1/compliance/reformulate | Product + target state → what to change |
| GET | /v1/regulations | Query the full regulation database |
| GET | /v1/states/:code | Everything we know about a state |
| GET | /v1/verified/:brand_id | Verified badge lookup |
| POST | /v1/webhooks | Subscribe to regulation changes |
| GET | /v1/status | Service health |
You'll hit them eventually. Better to know upfront than to debug a 429 in production at 2 a.m.
| Tier | Requests / minute | Requests / month | Overage |
|---|---|---|---|
| Free | 60 | 1,000 | Hard cap — request returns 429 |
| Developer — $49/mo | 300 | 10,000 | $0.005 per extra request |
| Scale — $149/mo | 1,200 | 100,000 | $0.002 per extra request |
| Enterprise — custom | Custom | Custom | Committed-use pricing |
429 responses include Retry-After header and current quota. Webhook available if you want a heads-up at 80% usage.
Import-ready specs for any language or tool.
Import and start poking.
Free tier covers 100 product checks + 100 state lookups a month. No card required.