Regulations API
The regulations endpoints are the core of HempData API. Use them to query structured regulatory data, track changes over time, and compare rules across states.
GET /v1/regulations
Retrieve a paginated list of regulations matching your filters.
Query Parameters
| Parameter | Type | Required | Description |
|---|
state | string | No | Two-letter state code (e.g., CO, CA). Filter to a single state. |
substance | string | No | Substance identifier (e.g., delta-9-thc, cbd, delta-8-thc, thca, cbg, cbn). |
product_type | string | No | Product type (e.g., edibles, topicals, smokable, tinctures, beverages, flower, concentrates, pet-products). |
legal_status | string | No | Filter by status: legal, legal_with_restrictions, restricted, prohibited, unclear. |
min_confidence | number | No | Minimum confidence score (0.0 to 1.0). Only return entries at or above this threshold. Default: 0.0. |
verified_after | string | No | ISO 8601 datetime. Only return regulations verified after this timestamp. |
include_changelog | boolean | No | If true, include recent change history for each regulation. Default: false. |
include_sources | boolean | No | If true, include source citations for each regulation. Default: false. |
include_bills | boolean | No | If true, include related pending bills. Default: false. |
page | integer | No | Page number for pagination. Default: 1. |
per_page | integer | No | Results per page (1-100). Default: 25. |
format | string | No | Response format: json (default) or csv. CSV is available on Professional tier and above. |
Request Example
curl -X GET "https://api.hempdataapi.com/v1/regulations?state=CO&substance=delta-9-thc&product_type=edibles&include_sources=true&include_bills=true" \
-H "Authorization: Bearer YOUR_API_KEY"
Response Example
{
"success": true,
"data": [
{
"id": "reg_a1b2c3d4-5678-9012-abcd-ef3456789012",
"state": "CO",
"state_name": "Colorado",
"substance": "delta-9-thc",
"product_type": "edibles",
"legal_status": "legal_with_restrictions",
"summary": "Delta-9 THC edibles are legal in Colorado for adults 21+ with licensed retail sale. Products must not exceed 10mg THC per serving and 100mg per package.",
"details": {
"thc_limit": "0.3% dry weight (hemp-derived); up to 10mg/serving (retail)",
"age_requirement": 21,
"license_required": true,
"testing_required": true,
"labeling_requirements": "Must include THC content per serving, total THC, ingredients, batch number, and QR code to COA.",
"packaging_requirements": "Child-resistant, opaque, resealable packaging required.",
"sales_channels": ["licensed_retail", "online_with_age_verification"],
"possession_limit": "2 oz hemp-derived products",
"additional_restrictions": "No sales within 500 feet of schools. No marketing targeting minors."
},
"effective_date": "2024-01-01",
"expiration_date": null,
"confidence": 0.94,
"confidence_breakdown": {
"source_quality": 0.95,
"recency": 0.98,
"consistency": 0.90,
"ai_parsing": 0.92
},
"last_verified": "2026-03-18T06:00:00Z",
"verified_by": "automated",
"sources": [
{
"id": "src_001",
"title": "Colorado Revised Statutes 44-10-601",
"url": "https://leg.colorado.gov/sites/default/files/images/olls/crs2024-title-44.pdf",
"type": "statute",
"retrieved_at": "2026-03-17T12:00:00Z"
},
{
"id": "src_002",
"title": "Colorado Department of Revenue — Marijuana Enforcement Division Rules",
"url": "https://sbg.colorado.gov/med-rules",
"type": "regulatory_guidance",
"retrieved_at": "2026-03-16T08:00:00Z"
}
],
"related_bills": [
{
"bill_id": "bill_co_2026_hb1234",
"number": "HB26-1234",
"title": "Concerning Hemp-Derived Cannabinoid Product Regulation",
"status": "in_committee",
"introduced_date": "2026-01-15",
"last_action": "Referred to House Health & Insurance Committee",
"last_action_date": "2026-02-20",
"impact_summary": "Would raise serving size limit to 25mg THC for edibles sold to adults 21+."
}
],
"created_at": "2025-06-01T00:00:00Z",
"updated_at": "2026-03-17T12:30:00Z"
}
],
"meta": {
"page": 1,
"per_page": 25,
"total": 1,
"total_pages": 1,
"request_id": "req_abc123",
"applied_filters": {
"state": "CO",
"substance": "delta-9-thc",
"product_type": "edibles"
}
},
"errors": []
}
Response Fields
| Field | Type | Description |
|---|
id | string | Unique regulation identifier (UUID, prefixed reg_) |
state | string | Two-letter state code |
state_name | string | Full state name |
substance | string | Regulated substance identifier |
product_type | string | Product type this regulation applies to |
legal_status | string | One of: legal, legal_with_restrictions, restricted, prohibited, unclear |
summary | string | Plain-English summary of the regulation |
details | object | Structured regulatory details (see below) |
effective_date | string | Date the regulation took effect (ISO 8601) |
expiration_date | string or null | Sunset date if applicable |
confidence | number | Overall confidence score (0.0 to 1.0) |
confidence_breakdown | object | Component scores: source_quality, recency, consistency, ai_parsing |
last_verified | string | When this entry was last checked (ISO 8601) |
verified_by | string | automated or manual |
sources | array | Source citations (when include_sources=true) |
related_bills | array | Pending legislation (when include_bills=true) |
created_at | string | When this regulation was first added |
updated_at | string | When this regulation was last modified |
Details Object
| Field | Type | Description |
|---|
thc_limit | string | THC concentration or serving size limits |
age_requirement | integer or null | Minimum age for purchase (18, 21, or null) |
license_required | boolean | Whether a license is required to sell |
testing_required | boolean | Whether third-party testing is mandated |
labeling_requirements | string | Labeling rules summary |
packaging_requirements | string | Packaging rules summary |
sales_channels | array | Allowed sales channels |
possession_limit | string or null | Consumer possession limits |
additional_restrictions | string or null | Other notable restrictions |
Legal Status Values
| Value | Meaning |
|---|
legal | Fully legal with no special restrictions beyond federal hemp definition |
legal_with_restrictions | Legal but with specific conditions (age, licensing, THC limits, etc.) |
restricted | Significantly restricted (e.g., only certain sales channels, medical only) |
prohibited | Explicitly banned in this jurisdiction |
unclear | Regulatory status is ambiguous or in flux |
GET /v1/regulations/:id
Retrieve a single regulation by its UUID.
Path Parameters
| Parameter | Type | Description |
|---|
id | string | Regulation UUID (e.g., reg_a1b2c3d4-5678-9012-abcd-ef3456789012) |
Request Example
curl -X GET "https://api.hempdataapi.com/v1/regulations/reg_a1b2c3d4-5678-9012-abcd-ef3456789012" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
Returns a single regulation object in the data field (same structure as the list endpoint).
{
"success": true,
"data": {
"id": "reg_a1b2c3d4-5678-9012-abcd-ef3456789012",
"state": "CO",
"state_name": "Colorado",
"substance": "delta-9-thc",
"product_type": "edibles",
"legal_status": "legal_with_restrictions",
"summary": "...",
"details": { "..." : "..." },
"confidence": 0.94,
"last_verified": "2026-03-18T06:00:00Z",
"sources": [],
"related_bills": [],
"created_at": "2025-06-01T00:00:00Z",
"updated_at": "2026-03-17T12:30:00Z"
},
"meta": {
"request_id": "req_def456"
},
"errors": []
}
GET /v1/regulations/changelog
Retrieve the change history for regulations. Useful for auditing and tracking regulatory shifts.
Query Parameters
| Parameter | Type | Required | Description |
|---|
state | string | No | Filter changes by state code |
substance | string | No | Filter changes by substance |
regulation_id | string | No | Filter to a specific regulation's history |
since | string | No | ISO 8601 datetime. Only return changes after this timestamp. |
until | string | No | ISO 8601 datetime. Only return changes before this timestamp. |
page | integer | No | Page number. Default: 1. |
per_page | integer | No | Results per page (1-100). Default: 25. |
Request Example
curl -X GET "https://api.hempdataapi.com/v1/regulations/changelog?state=TX&since=2026-01-01T00:00:00Z" \
-H "Authorization: Bearer YOUR_API_KEY"
Response Example
{
"success": true,
"data": [
{
"id": "chg_x1y2z3",
"regulation_id": "reg_f1e2d3c4-5678-9012-abcd-ef3456789012",
"state": "TX",
"substance": "delta-8-thc",
"product_type": "edibles",
"event_type": "legal_status_changed",
"before": {
"legal_status": "legal_with_restrictions",
"summary": "Delta-8 THC edibles permitted with labeling requirements."
},
"after": {
"legal_status": "prohibited",
"summary": "Delta-8 THC edibles prohibited following HB 1842 effective March 1, 2026."
},
"diff_summary": "legal_status: legal_with_restrictions -> prohibited",
"plain_english_summary": "Texas has banned Delta-8 THC edibles effective March 1, 2026, following the passage of HB 1842.",
"changed_at": "2026-03-01T00:00:00Z",
"detected_at": "2026-03-01T06:15:00Z"
}
],
"meta": {
"page": 1,
"per_page": 25,
"total": 1,
"total_pages": 1,
"request_id": "req_ghi789"
},
"errors": []
}
Changelog Event Types
| Event Type | Description |
|---|
legal_status_changed | The legal status of a regulation changed |
details_updated | Regulatory details were modified (limits, requirements, etc.) |
source_added | A new source citation was added |
bill_linked | A pending bill was linked to this regulation |
confidence_changed | The confidence score changed significantly |
new_regulation | A new regulation entry was created |
regulation_expired | A regulation reached its sunset/expiration date |
GET /v1/regulations/compare
Compare regulations across multiple states side by side. Requires at least 2 state codes.
Query Parameters
| Parameter | Type | Required | Description |
|---|
states | string | Yes | Comma-separated state codes (minimum 2, e.g., CO,CA,TX) |
substance | string | No | Filter comparison to a specific substance |
product_type | string | No | Filter comparison to a specific product type |
Request Example
curl -X GET "https://api.hempdataapi.com/v1/regulations/compare?states=CO,CA,TX&substance=delta-9-thc&product_type=edibles" \
-H "Authorization: Bearer YOUR_API_KEY"
Response Example
{
"success": true,
"data": {
"comparison": [
{
"state": "CO",
"state_name": "Colorado",
"legal_status": "legal_with_restrictions",
"summary": "Delta-9 THC edibles legal for 21+ with licensed retail sale. Max 10mg/serving.",
"thc_limit": "10mg/serving, 100mg/package",
"age_requirement": 21,
"license_required": true,
"confidence": 0.94,
"regulation_id": "reg_a1b2c3d4-5678-9012-abcd-ef3456789012"
},
{
"state": "CA",
"state_name": "California",
"legal_status": "legal_with_restrictions",
"summary": "Hemp-derived Delta-9 THC edibles permitted under AB-45 framework. Must comply with CDPH regulations.",
"thc_limit": "5mg/serving, 50mg/package (hemp-derived)",
"age_requirement": 21,
"license_required": true,
"confidence": 0.91,
"regulation_id": "reg_b2c3d4e5-6789-0123-bcde-fg4567890123"
},
{
"state": "TX",
"state_name": "Texas",
"legal_status": "prohibited",
"summary": "Delta-8 and Delta-9 THC edibles prohibited following HB 1842, effective March 1, 2026.",
"thc_limit": "N/A — prohibited",
"age_requirement": null,
"license_required": false,
"confidence": 0.88,
"regulation_id": "reg_f1e2d3c4-5678-9012-abcd-ef3456789012"
}
],
"summary": "2 of 3 states allow Delta-9 THC edibles with restrictions. Texas prohibits them as of March 2026."
},
"meta": {
"states_compared": ["CO", "CA", "TX"],
"substance": "delta-9-thc",
"product_type": "edibles",
"request_id": "req_jkl012"
},
"errors": []
}
Comparison Notes
- You can compare up to 10 states in a single request.
- If a state has no matching regulation for the given filters, it will still appear in the comparison with
legal_status: "unclear" and a note explaining no data is available. - The
summary field in the response root provides a plain-English comparison overview.