EPA
US environmental facilities and datasets
The US Environmental Protection Agency's Envirofacts service serves environmental records by building a REST path of table, column filter and row range. The sample returns a Toxics Release Inventory facility in California as JSON.
GET https://data.epa.gov/efservice/tri_facility/state_abbr/CA/rows/0:1/JSON
[
{
"tri_facility_id": "90001BCNCX935E5",
"facility_name": "NEWARK CUSTOM PAPERBOARD",
"city_name": "LOS ANGELES",
"county_name": "LOS ANGELES",
"state_abbr": "CA",
"zip_code": "900011007",
"region": "9"
}
]curl "https://data.epa.gov/efservice/tri_facility/state_abbr/CA/rows/0:1/JSON"const res = await fetch("https://data.epa.gov/efservice/tri_facility/state_abbr/CA/rows/0:1/JSON");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://data.epa.gov/efservice/tri_facility/state_abbr/CA/rows/0:1/JSON")
print(res.json())/efservice/tri_facility/state_abbr/CA/rows/0:1/JSONPROBEDUS environmental facilities and datasets
/efserviceEfservice — documented GET route.
/efservice/1Efservice details by ID (example: 1).
/efservice?limit=10Efservice — documented GET route.
/efservice/search?q=testSearch by query parameters.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.
EPA: common questions
Is EPA free to use?
Yes — EPA is a free government API. Free tier: Free — limits not published. Whether the free tier allows commercial use is unclear — check the provider docs.
Does EPA need an API key?
No — EPA needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished).
Can I call EPA from the browser?
Yes — EPA returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.
Is EPA up right now?
As of our last scheduled check, EPA is unmonitored. We re-probe it every sweep — the status badge and uptime chart above always show the latest.