Cross-validated air-quality API: two networks, one verdict.
One reading is a claim; two independent readings that agree are evidence. This serves PM2.5, PM10, ozone and NO2 from a CAMS-based model AND the nearest reference-grade ground monitor, with an agreement verdict per pollutant — both values shown, never blended.
The call
Keyless. Each pollutant carries both readings, the delta, the monitor's name, distance and freshness — and the whole response is Ed25519-signed.
# keyless — any city, AU preset, or 'lat,lon'
curl -X POST https://dynamicfeed.ai/v1/batch -H "Content-Type: application/json" \
-d '{"calls":[{"tool":"air_quality_fusion","args":{"location":"sydney"}}]}'
# MCP (keyless) — point any client at https://dynamicfeed.ai/mcp, then call:
air_quality_fusion(location="brisbane")
Sample response
{ "location": "Brisbane", "agreement_overall": "moderate", "us_aqi": 31,
"pollutants": { "pm2_5": {
"primary": 6.6, "openaq": 4.3, "units": "µg/m³", "delta_pct": 42.2, "agreement": "moderate",
"openaq_station": { "name": "Brisbane CBD", "distance_km": 0.9,
"provider": "Australia - Queensland", "is_reference_monitor": true } } },
"summary": "Two independent networks read PM2.5 within 42.2% — moderate confidence ... 3 of 4 pollutants cross-validated." }
Why live data
During smoke and dust events — exactly when air quality matters — a model gridpoint and the street can drift apart. Single-source air-quality APIs can't tell you when that's happening. This one reads two methodologically independent networks (a CAMS-based model and government reference monitors) and grades their agreement per pollutant. When they agree, you have corroborated evidence; when they diverge, you know to be careful — which is itself the valuable signal. If one network is down it degrades honestly to single-source, marked 'unverified'.
Use it for
- Bushfire-smoke and dust-event communications that can show their working
- Health-sensitive operations — outdoor work, sport, schools
- HVAC and filtration automation with a confidence signal
- AI agents answering 'is the air actually bad right now?' with two sources, not one
FAQ
Why do the two values differ?
Because they measure differently: an exact-point model value vs a physical station that may be kilometres away, sampling at a different minute. Legitimate disagreement is expected — the per-pollutant agreement verdict (high/moderate/low/divergent) quantifies it instead of hiding it.
Are the ground stations licensed for this?
Stations whose licence disallows commercial use are auto-excluded via OpenAQ's machine-readable licence flags, and per-station provider attribution is carried in the response.
What if a network is down?
The result degrades honestly to single-source with agreement marked 'unverified' — it never silently pretends to be cross-validated.
What does it cost?
Keyless to try over MCP and POST /v1/batch; free REST key; paid plans from US$19/month — /#pricing.