Skill Tracer
Skills › Scientific Agent Skills › database-lookup › epa.md

epa.md

43 lines · skills/database-lookup/references/epa.md at 5f2bc03

Open on GitHub
1# EPA Envirofacts Data Service
2
3Current public base: `https://data.epa.gov/dmapservice`.
4[Official query contract](https://www.epa.gov/enviro/web-services).
5No key is required for this service; AQS below is separate.
6
7Tables are qualified as `program.table`. Discover table/column names through the
8EPA data model, rather than guessing names from a program abbreviation.
9
10```text
11GET https://data.epa.gov/dmapservice/tri.tri_facility/state_abbr/equals/VA/1:10/JSON
12```
14Filters use `/column/operator/value`; available operators include `equals`,
15`notEquals`, `lessThan`, `greaterThan`, `beginsWith`, `contains`, `in`, and `notIn`.
16Combine filters with `/and/` or `/or/`; encode values in path segments.
17Rows are one-based and inclusive (`1:10`, then `11:20`). Sort with
18`/sort/column:asc` or `:desc` for repeatable paging. JSON is the default;
19CSV, XML and other formats are available.
21The API supports server-side joins. For example, qualifying two tables and
22joining on their documented common identifier avoids mismatching similarly named
23facilities. Use explicit join keys when needed and verify row cardinality.
25The older `/efservice/.../rows/0:9` grammar is not the current documented contract.
26Keep program, reporting year, units and method with environmental observations;
27facility records alone do not measure exposure or individual health risk.

EPA Envirofacts Data Service

Current public base: https://data.epa.gov/dmapservice. Official query contract. No key is required for this service; AQS below is separate.

Tables are qualified as program.table. Discover table/column names through the EPA data model, rather than guessing names from a program abbreviation.

GET https://data.epa.gov/dmapservice/tri.tri_facility/state_abbr/equals/VA/1:10/JSON

Filters use /column/operator/value; available operators include equals, notEquals, lessThan, greaterThan, beginsWith, contains, in, and notIn. Combine filters with /and/ or /or/; encode values in path segments. Rows are one-based and inclusive (1:10, then 11:20). Sort with /sort/column:asc or :desc for repeatable paging. JSON is the default; CSV, XML and other formats are available.

The API supports server-side joins. For example, qualifying two tables and joining on their documented common identifier avoids mismatching similarly named facilities. Use explicit join keys when needed and verify row cardinality.

The older /efservice/.../rows/0:9 grammar is not the current documented contract. Keep program, reporting year, units and method with environmental observations; facility records alone do not measure exposure or individual health risk.

Raw lines 1 to 28
29## AQS Data API (Separate System)
31For more granular air quality data, EPA also provides the AQS Data API at:
32```
33https://aqs.epa.gov/data/api
34```
36- **Requires:** Free account at https://aqs.epa.gov/data/api/signup?email=YOUR_EMAIL
37- **Auth:** Pass `email` and `key` as query parameters.
38- Key endpoints: `/dailyData/byState`, `/annualData/byState`, `/sampleData/bySite`, `/monitors/byState`.
40**Example:**
41```
42https://aqs.epa.gov/data/api/dailyData/byState?email=YOUR_EMAIL&key=YOUR_KEY&param=44201&bdate=20240101&edate=20240131&state=06
43```

AQS Data API (Separate System)

For more granular air quality data, EPA also provides the AQS Data API at:

https://aqs.epa.gov/data/api
  • Requires: Free account at https://aqs.epa.gov/data/api/signup?email=YOUR_EMAIL
  • Auth: Pass email and key as query parameters.
  • Key endpoints: /dailyData/byState, /annualData/byState, /sampleData/bySite, /monitors/byState.

Example:

https://aqs.epa.gov/data/api/dailyData/byState?email=YOUR_EMAIL&key=YOUR_KEY&param=44201&bdate=20240101&edate=20240131&state=06
Raw lines 29 to 43