Build on the data
The Atlas Circular API — circular-economy legislation as structured, current data
Every bill, status, deadline, fee, and AI classification behind Atlas Circular is available over a plain REST/JSON API. Read endpoints are open and rate-limited — no key needed to start. For production volume, commercial terms, bulk exports, or webhooks, — see pricing.
Extracted figures are grounded: every fee rate, target, and deadline carries a source_excerpt quoting the enacting text verbatim, so you can render the citation next to the number instead of asking your users to trust a model. Rows we could not tie back to statutory language are flagged rather than dropped.
Base URL
https://api.atlascircular.com
Responses are JSON. All endpoints are versionless today; breaking changes will be announced to access-holders before they ship.
Quickstart
The 25 most recent enacted EPR laws, newest first:
curl "https://api.atlascircular.com/bills?ce_relevant=true&status=enacted&limit=25"
One bill in full — Oregon’s Recycling Modernization Act, with its extracted compliance detail:
curl "https://api.atlascircular.com/bills/72452"
Note: list results omit compliance_details by design — the extraction is per-bill, and shipping it on every row of a bulk list would make the corpus-wide dataset a single call. Fetch it from /bills/{id}, which is free and needs no key. If the field looks missing, you’re reading a list response.
Authentication & limits
- Read endpoints need no auth — they are rate-limited per IP. Fine for prototyping, dashboards, and research.
- Analysis endpoints (
POST /evaluate/bill,POST /research/ask) run large-model inference and are Pro-gated — pass a Bearer token:Authorization: Bearer <token>. - Production use — higher rate limits, a stable SLA, bulk/webhook delivery, and commercial licensing come with an API plan. Usage-based pricing.
Endpoints
Bills
The core dataset — circular-economy bills across all 50 US states, the EU, and 35+ national jurisdictions, kept current with extracted compliance detail. compliance_details is served in full on the per-bill record, free and unauthenticated; the bulk list omits it.
/billsList / filter bills. Params: ce_relevant, state, region, regions (CSV), status, instrument_type, material_category, policy_stance, urgency, limit, offset.
/bills/{id}One bill in full, including the extracted compliance_details (the 8 dimension envelopes).
/bills/search?q=Full-text search over persisted bill text; returns highlighted snippets.
/bills/outcomesDocumented real-world outcomes attributable to enacted laws (each source-cited).
/bills/deadlines/upcomingUpcoming compliance deadlines extracted from enacted laws.
Analytics
Pre-computed aggregates — the same series behind the Insights dashboards, ready to chart.
/bills/timelineBill counts per year by status (introduced → enacted). Counts distinct laws: acts that only amend another law are excluded unless include_amending=true. Params: instrument_type, material_category, regions, include_amending.
/bills/laws-in-forceEnacted law totals per region, by year in force. Excludes amending acts unless include_amending=true.
/bills/stance-momentumPer-year counts by policy stance (advances / weakens / neutral).
/bills/instrument-material-matrixCoverage heatmap: bill counts per (policy instrument × material).
/bills/collection-target-basisHow collection targets are measured (weight vs value-recovered vs …), per region.
Compliance & regulatory
The obligations behind the laws — fees, pathways, federal action, and litigation. Fee data comes in two layers: the amounts a law itself STATES (fee-amounts, cited to the enacting text) and curated per-material rate tables set by agency/PRO rulemaking (fee-schedule).
/compliance/fee-amountsProducer fees a law states — per-tonne / per-unit / flat / %-revenue, each cited to a verbatim excerpt. US-only free; the full 40+ jurisdictions need an API plan.
/compliance/fee-amounts/summaryOpen aggregate: fee coverage counts by jurisdiction, kind, basis, and currency.
/compliance/eco-modulationEco-modulation criteria (design attributes that raise/lower fees) per law, cited. US-only free; full set with an API plan.
/compliance/fee-scheduleCurated per-material producer-fee rate tables + eco-modulation math (CA SB 54, UK pEPR, Japan) — the runnable rates set by agency/PRO rulemaking, not the statute.
/compliance/pathwaysThe primary next-action per enacted law (join this PRO / file this plan).
/federal-actionsTracked federal regulatory actions (US).
/litigation-casesCircular-economy litigation cases; drill into a case for events.
Analysis (AI)
Structured judgment over the corpus. These accept a request body and are Pro-gated (Bearer token).
/research/askProAsk a natural-language question over the corpus; returns a cited answer + optional SQL-backed chart.
/evaluate/billProScore a draft or enacted bill against the regime baseline for its material — where it is strong, where it is thin.
Example response
GET /bills/72452 returns the bill plus its extracted compliance envelopes — abridged here, but every field below is verbatim from the live response:
{
"id": 72452,
"region": "US",
"state": "OR",
"bill_number": "SB-582",
"title": "Relating to modernizing Oregon's recycling system.",
"status": "enacted",
"instrument_type": "epr",
"compliance_details": {
"extraction_version": 5,
"collection_targets": {
"status": "present",
"targets": [
{ "material": "Plastic", "percent": 25, "by_year": "2028", "basis": "material_specific" },
{ "material": "Plastic", "percent": 50, "by_year": "2040", "basis": "material_specific" },
{ "material": "Plastic", "percent": 70, "by_year": "2050", "basis": "material_specific" }
],
"source_excerpt": "It is the goal of the State of Oregon that the statewide recycling rate
for plastic be: (A) At least 25 percent by calendar year 2028…"
},
"pro_structure": { "status": "present", "model": "competitive_pros", "source_excerpt": "…" },
"eco_modulation": {
"status": "present",
"criteria": ["Post-consumer recycled content", "Product-to-package ratio", "Recyclability"],
"source_excerpt": "…"
}
// …fee_amounts, penalties, recycled_content, bans_restrictions, labeling
}
}Each envelope carries a status of present, absent, or not_applicable — so a dimension a law genuinely does not address is distinguishable from one we have not extracted.
Ready for production?
Tell us your use case and volume — we’ll set you up with an API plan, higher limits, and commercial terms. See pricing.