Custom Connector

EPA Air Quality Connector

US

The EPA Air Quality Connector enables seamless integration with the U.S. EPA Air Quality System (AQS) API. Acting as a lightweight proxy, it simplifies access to air-quality datasets — sample, daily, and annual measurements, plus QA and metadata resources — handling query normalization, content-type headers, and parameter encoding. An API key is required for all endpoints.

Type
Virtual machines, Single VM, BYOL
Runs on
Google Compute Engine
Last update
24 Oct 2024
Category
Integration
Overview

Integration Overview

This document provides a comprehensive guide to each integration point, its purpose, configuration, and supported parameters using the EPA Air Quality Connector. Endpoints are grouped by data family, each offering by-state, by-county, by-site, and (where applicable) by-CBSA or by-bounding-box variants.

  • Sample Data. sampleData by state, county, site, CBSA, or bounding box.
  • Daily Data. dailyData by state, county, site, CBSA, or bounding box.
  • Annual Data. annualData by state, county, site, CBSA, or bounding box.
  • QA Annual Performance Evaluations. by site, county, state, or MA.
  • QA Collocated Assessments. by state, county, site, PQAO, or MA.
  • QA PEP Audits. by state, county, site, PQAO, or MA.
  • QA Flow Rate Audits. by state, county, site, PQAO, or MA.
  • QA Flow Rate Verifications. by state, county, site, PQAO, or MA.
  • QA Blanks. by state, county, site, PQAO, or MA.
  • QA One Point QC Raw Data. by state, county, site, PQAO, or MA.
  • Transactions Sample. by state, county, site, POC, or MA.
  • Transactions QA Annual Performance Evaluations. by site, county, state, PQAO, or MA.
  • Monitors. by state, county, site, CBSA, or bounding box.
  • List endpoints. states, counties, sites, CBSAs, classes, parameters, PQAOs, MAs.
  • Meta data & utility. fields by service, availability, revision history, issues, signup, service check.
Documentation

Detailed Integration Documentation

Sample Data by State

ActionsampleDataByState
PurposeRetrieves sample-level air-quality measurements filtered by U.S. state.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersRequired:
state (FIPS, e.g. 06), bdate, edate (YYYYMMDD), param (e.g. 88101). Optional:
site, county, cbsa, format, callback.
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /sampleData/byState?state=06&bdate=20240101&edate=20240131&param=88101 for PM2.5 samples in California.

Sample Data by County / Site / CBSA / Box

ActionsampleData*
PurposeRetrieves sample-level measurements scoped to a county, site, CBSA, or geographic bounding box.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersBy county: state, county, param, bdate, edate. By site: state, county, site, param, bdate, edate. By CBSA: cbsa, param, bdate, edate. By box: minlat, maxlat, minlon, maxlon, param, bdate, edate.
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /sampleData/byCounty?state=06&county=001&param=44201&bdate=20240101&edate=20240131 for ozone in a county.

Daily Data (byState / byCounty / bySite / byCBSA / byBox)

ActiondailyData*
PurposeRetrieves daily average air-quality data for a state, county, site, CBSA, or bounding box.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersSame scoping parameters as Sample Data (state/county/site, cbsa, or min/max lat/lon), plus param, bdate, edate.
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /dailyData/bySite?state=06&county=001&site=0001&param=44201&bdate=20240101&edate=20240131.

Annual Data (byState / byCounty / bySite / byCBSA / byBox)

ActionannualData*
PurposeRetrieves annual aggregate statistics for air-quality parameters, scoped by state, county, site, CBSA, or box.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersScoping parameters (state/county/site, cbsa, or min/max lat/lon), plus param and year.
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /annualData/byState?state=06&param=88101&year=2024.

QA Annual Performance Evaluations

ActionqaAnnualPerformanceEvaluations*
PurposeRetrieves QA annual performance evaluation results (bySite, byCounty, byState, byMA) for assessing instrument accuracy and data quality.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersScoping parameters (site/county/state/ma), plus param and year.
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /qaAnnualPerformanceEvaluations/bySite?state=06&county=001&site=0001&param=88101&year=2024.

QA Collocated Assessments

ActionqaCollocatedAssessments*
PurposeRetrieves collocated assessment records (byState, byCounty, bySite, byPQAO, byMA) comparing instrument consistency.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersScoping parameters (state/county/site/pqao/ma), plus param and year.
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /qaCollocatedAssessments/byState?state=06&param=88101&year=2024.

QA PEP Audits

ActionqaPepAudits*
PurposeRetrieves Performance Evaluation Program (PEP) audit data (byState, byCounty, bySite, byPQAO, byMA).
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersScoping parameters (state/county/site/pqao/ma), plus param and year.
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /qaPepAudits/byState?state=06&param=88101&year=2024.

QA Flow Rate Audits

ActionqaFlowRateAudits*
PurposeRetrieves QA flow rate audit data (byState, byCounty, bySite, byPQAO, byMA) for monitors.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersScoping parameters plus year (param optional).
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /qaFlowRateAudits/byState?state=06&param=44201&year=2024.

QA Flow Rate Verifications

ActionqaFlowRateVerifications*
PurposeRetrieves flow rate verification data (byState, byCounty, bySite, byPQAO, byMA) to confirm calibration.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersScoping parameters plus year (param optional).
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /qaFlowRateVerifications/byState?state=06&param=88101&year=2024.

QA Blanks

ActionqaBlanks*
PurposeRetrieves QA blank sample records (byState, byCounty, bySite, byPQAO, byMA) for baseline/contamination control.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersScoping parameters plus year (param optional).
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /qaBlanks/byState?state=06&param=44201&year=2024.

QA One Point QC Raw Data

ActionqaOnePointQcRawData*
PurposeRetrieves one-point QC raw data (byState, byCounty, bySite, byPQAO, byMA) for verifying calibration accuracy.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersScoping parameters plus year (param optional).
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /qaOnePointQcRawData/byState?state=06&param=88101&year=2024.

Transactions Sample

ActiontransactionsSample*
PurposeRetrieves transactional-level sample records (byState, byCounty, bySite, byPOC, byMA).
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersScoping parameters (state/county/site/poc/ma), plus param, bdate, edate.
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /transactionsSample/byState?state=06&param=44201&bdate=20240101&edate=20240131.

Transactions QA Annual Performance Evaluations

ActiontransactionsQaAnnualPerformanceEvaluations*
PurposeRetrieves transactional QA annual performance evaluations (bySite, byCounty, byState, byPQAO, byMA).
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersScoping parameters plus param and year.
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /transactionsQaAnnualPerformanceEvaluations/bySite?state=06&county=001&site=0001&param=44201&year=2024.

Monitors (byState / byCounty / bySite / byCBSA / byBox)

Actionmonitors*
PurposeRetrieves information about air-quality monitors — site identifiers, coordinates, parameter codes, operational details.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersScoping parameters (state/county/site, cbsa, or min/max lat/lon), plus optional param and format.
OutputSuccessful: JSON object with the requested records. Failure: error object from the upstream EPA AQS API.
Workflow exampleGET /monitors/byState?state=06&param=44201.

List Endpoints

Actionslist/states, list/countiesByState, list/sitesByCounty, list/cbsas, list/classes, list/parametersByClass, list/pqaos, list/mas
PurposeRetrieve reference lists — states, counties, sites, CBSAs, parameter classes, parameters by class, PQAOs, and monitoring agencies.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
ParametersVary by endpoint (e.g. state for countiesByState; state+county for sitesByCounty; class for parametersByClass). All accept an optional format.
OutputSuccessful: JSON reference list. Failure: error object.
Workflow exampleGET /list/countiesByState?state=06, then GET /list/sitesByCounty?state=06&county=001 to build query selectors.

Meta Data & Utility

ActionsmetaData/fieldsByService, metaData/isAvailable, metaData/revisionHistory, metaData/issues, signup, serviceAvailable
PurposeRetrieve field metadata per service, check service availability, view revision history and known issues, sign up for credentials, and health-check the service.
ConfigurationConfigure the base URL via AQS_ENV_BASE_URL and AQS_ENV_PORT. An API key is required for all endpoints.
Parametersservice (for field/availability/history queries); others require none. All accept an optional format.
OutputSuccessful: JSON metadata or status. Failure: error object.
Workflow exampleGET /metaData/fieldsByService?service=dailyData to discover available fields; GET /serviceAvailable as a heartbeat.

Example Workflow: Air Quality Data Pipeline

Discover referencesUse /list/states, /list/countiesByState, /list/sitesByCounty to build query selectors.
Fetch dataUse /dailyData/bySite with state, county, site, param, and a date range to fetch daily measurements.
Assess qualityUse the QA families (e.g. /qaOnePointQcRawData/bySite) to validate data quality.
ReportProcess the data for reporting or visualization in a dashboard.
Support

For technical support, contact custom-connectors-support@isolutions.sa.

free consultation

Schedule a Free Consultation With Our Specialists

Book a free demo
request

Begin Your Adventure With Experienced Professionals

Send request
help desk

Do You Have Questions or Want More Information? Call Now.

Contact support