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
}
}
Two endpoints work with zero signup. Paste either into a terminal right now.
# Ask a question — deterministic, statute-cited answer (no key)
curl -X POST https://api.hempdata.io/v1/answer \
-H 'Content-Type: application/json' \
-d '{"question":"Is delta-8 legal in Texas?"}'
# Check a product/state combo on the public demo endpoint (no key)
curl "https://api.hempdata.io/v1/demo/compliance-check?state=TX&substance=cbd&product_type=edibles"/v1/demo/compliance-check takes state (two-letter code), substance (e.g. cbd, cbg, cbn, delta-8-thc, delta-9-thc, thca), and product_type (e.g. edibles, beverages, tinctures, topicals, vape, flower). Keyless endpoints are IP rate-limited — currently 120 requests/min per IP; every response carries X-Demo-IP-Limit and X-Demo-IP-Remaining headers so you can see your budget. Your own free key removes the demo cap.
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/demo/compliance-check | Keyless demo of the compliance check (IP rate-limited) |
| 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 |
HempData is free. Every API key gets the same limit and there are no monthly caps.
| Limit | Value |
|---|---|
| Requests / minute / key | 1,200 |
| Requests / month | No cap |
Over the limit, a request returns 429 with a Retry-After header. Back off and retry.
Import-ready specs for any language or tool.
Import and start poking.
HempData is free. No card required, no monthly cap.