WAQI Air Quality Scraper
Pricing
from $3.75 / 1,000 result items
WAQI Air Quality Scraper
Export real-time air quality from the World Air Quality Index. Pull AQI, dominant pollutant, PM2.5, PM10, O3, NO2, SO2, CO, temperature, humidity, pressure and geo data for any city. Bring your own token or use the included demo key.
Pricing
from $3.75 / 1,000 result items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share

π¬οΈ WAQI Air Quality Scraper
π Export real-time air-quality data in seconds. Pull AQI, PM2.5, PM10, O3, NO2, SO2, CO, weather, and geo for any city or bounding box from the World Air Quality Index. Free to start, full coverage with a free WAQI token.
π Last updated: 2026-05-21 Β· π 20 fields per record Β· π 12,000+ stations Β· π 7 pollutants Β· π Global coverage
The WAQI Air Quality Scraper exports real-time air-quality readings from the World Air Quality Index (waqi.info, aqicn.org), the largest open AQI network on the planet. Each record returns 20 fields, including the AQI value, the dominant pollutant, individual measurements for PM2.5, PM10, O3, NO2, SO2, and CO, weather observations (temperature, pressure, humidity, wind), the station latitude/longitude, the observation timestamp, the official station URL, and the data attributions for proper citation.
The network covers 12,000+ monitoring stations across cities, suburbs, embassies, ports, and rural sites in nearly every country. Three run modes are supported: query a list of named cities, locate the nearest station to the caller, or sweep every station inside a custom lat/lng bounding box.
| π― Target Audience | π‘ Primary Use Cases |
|---|---|
| Climate research, ESG analysts, public-health teams, real-estate due diligence, smart-city ops, news media, environmental NGOs | AQI dashboards, ESG reporting, pollution-exposure studies, location risk assessment, real-time air-quality alerts, environmental journalism |
π What the WAQI Air Quality Scraper does
Three run modes plus seven-pollutant breakdown:
- π City mode. Hand a list of city slugs (
beijing,shanghai,delhi,london) and get the official station for each. - π Here mode. Auto-detects the nearest station to the caller IP (good for "what is the AQI right now where I am").
- π¦ Bounds mode. Sweep every station inside a
{lat1, lng1, lat2, lng2}bounding box (requires your own token). - π Seven pollutants. AQI plus individual PM2.5, PM10, O3, NO2, SO2, CO readings.
- π‘οΈ Weather context. Temperature, pressure, humidity, and wind on the same row.
- πΊοΈ Geo + attribution. Latitude, longitude, station URL, and the official data-source attributions.
Each record includes the city name, the station ID, the AQI, the dominant pollutant, the seven pollutant readings, the four weather readings, the station coordinates, the observation timestamp, the official station detail URL, the data attributions list, and the scrape time.
π‘ Why it matters: WAQI is the most-cited open AQI source for ESG disclosures, real-estate due diligence, and public-health journalism. Building your own pipeline against the data service means writing a station resolver, rate-limit handler, and citation tracker. This Actor returns the row, the weather, the geo, and the attributions on every call.
π Token note: the Actor ships with the public
demotoken so anyone can try it. The demo token only returns the Shanghai sample station regardless of the city you ask for. For full 12,000+ station coverage and bounding-box queries, grab a free WAQI token athttps://aqicn.org/data-platform/token/and pass it in thetokeninput. Free WAQI tokens have generous limits for individual and research use.
π¬ Full Demo
π§ Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset.
βοΈ Input
| Input | Type | Default | Behavior |
|---|---|---|---|
maxItems | integer | 10 | Records to return. Free plan caps at 10, paid plan at 1,000,000. |
mode | string | "city" | city, here, or bounds. |
cities | array | ["beijing","shanghai","tokyo","delhi","london"] | City slugs when mode = "city". |
bounds | object | null | Used when mode = "bounds". Object {lat1, lng1, lat2, lng2}. Your own token required. |
token | string | "demo" | WAQI access token. demo returns the Shanghai sample station only. Replace with your own free WAQI token for full coverage. |
Example: AQI for five major cities (with your own token).
{"maxItems": 5,"mode": "city","cities": ["beijing", "shanghai", "tokyo", "delhi", "london"],"token": "YOUR_WAQI_TOKEN"}
Example: every station inside a Tokyo bounding box.
{"maxItems": 200,"mode": "bounds","bounds": { "lat1": 35.5, "lng1": 139.5, "lat2": 35.8, "lng2": 139.9 },"token": "YOUR_WAQI_TOKEN"}
β οΈ Good to Know: the included
demotoken is a public preview key from WAQI. It returns the Shanghai station for almost any city slug and does not support bounding-box queries. Get a free token athttps://aqicn.org/data-platform/token/for full 12,000+ station coverage.
π Output
Each air-quality record contains 20 fields. Download the dataset as CSV, Excel, JSON, or XML.
π§Ύ Schema
| Field | Type | Example |
|---|---|---|
ποΈ cityName | string | "Shanghai (δΈζ΅·)" |
π stationId | number | 1437 |
π¬οΈ aqi | number | 82 |
π dominantPollutant | string | "pm25" |
βοΈ pm25 | number | null | 82 |
βοΈ pm10 | number | null | 29 |
βοΈ o3 | number | null | 22.8 |
βοΈ no2 | number | null | 8.3 |
βοΈ so2 | number | null | 4.6 |
βοΈ co | number | null | 10 |
π‘οΈ temperature | number | null | 22 |
πͺοΈ pressure | number | null | 1008 |
π§ humidity | number | null | 88 |
π wind | number | null | 3.6 |
π latitude | number | 31.2047372 |
π longitude | number | 121.4489017 |
π observedAt | ISO 8601 | "2026-05-21T05:00:00+08:00" |
π stationUrl | string | "https://aqicn.org/city/shanghai" |
π attributions | array | See sample |
π scrapedAt | ISO 8601 | "2026-05-20T22:15:29.901Z" |
π¦ Sample records
β¨ Why choose this Actor
| Capability | |
|---|---|
| π¬οΈ | 12,000+ stations. Cities, suburbs, embassies, ports, rural and roadside sites worldwide. |
| π | 7 pollutants. AQI plus PM2.5, PM10, O3, NO2, SO2, CO on every row. |
| π‘οΈ | Weather context. Temperature, pressure, humidity, wind from co-located sensors. |
| π¦ | 3 query modes. City list, nearest station, or bounding box. |
| π | Bring your own token. Public demo key included to test, swap in your free WAQI token for full coverage. |
| β‘ | Fast. 5 stations in under 4 seconds. |
| π | Citation-ready. Every record carries the official WAQI attributions list. |
π WAQI is the canonical open AQI feed cited in ESG disclosures, real-estate due diligence, and global-health reporting. Real-time, attributed data is the foundation of any air-quality workflow.
π How it compares to alternatives
| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| β WAQI Air Quality Scraper (this Actor) | $5 free credit, then pay-per-use | 12,000+ stations | Live per run | city, here, bounding box | β‘ 2 min |
| Commercial AQI APIs | $99+/month | Vendor network | Streaming | Many | β³ Onboarding |
| Direct WAQI integration | Free | Worldwide | Per-call | Many | π’ Dev work |
| National regulator portals | Free | Country-specific | Hourly | Limited | π Variable |
Pick this Actor when you want WAQI data in a clean dataset, attributed, with weather context, on demand.
π How to use
- π Sign up. Create a free account with $5 credit (takes 2 minutes).
- π Optional: get a free WAQI token at
https://aqicn.org/data-platform/token/for full station coverage. - π Open the Actor. Go to the WAQI Air Quality Scraper page on the Apify Store.
- π― Set input. Pick a mode (
city,here,bounds), supply the cities or bounds, paste your token, setmaxItems. - π Run it. Click Start and let the Actor collect your data.
- π₯ Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.
β±οΈ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.
πΌ Business use cases
π Automating WAQI Air Quality Scraper
Control the scraper programmatically for scheduled runs and pipeline integrations:
- π’ Node.js. Install the
apify-clientNPM package. - π Python. Use the
apify-clientPyPI package. - π See the Apify API documentation for full details.
The Apify Schedules feature lets you trigger this Actor every hour. Pair with webhooks to push readings into a BI dashboard, alert Slack on AQI thresholds, or write rows to BigQuery.
π Beyond business use cases
Air-quality data powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
π€ Ask an AI assistant about this scraper
Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:
- π¬ ChatGPT
- π§ Claude
- π Perplexity
- π Copilot
β Frequently Asked Questions
π§© How does it work?
Pick a mode (city, here, or bounds), supply the cities or bounds, paste a WAQI token, and click Start. The Actor queries WAQI for each station, normalises the response, and emits clean rows with AQI, pollutants, weather, geo, and attributions.
π Why is the demo token limited?
The demo token is the public preview key shipped by WAQI. It returns the Shanghai sample station for most city slugs and does not support bounding-box queries. Grab a free token at https://aqicn.org/data-platform/token/ to unlock the full 12,000+ station network and bounds mode.
π How accurate is the data?
Every record is read live from WAQI. The pollutant numbers, weather observations, and attributions are passed through unchanged from the source feed.
π How often is the dataset refreshed?
WAQI updates station feeds in near real time as monitoring agencies post new readings (typically hourly). Every run of this Actor reads the live feed.
π Which countries are covered?
WAQI aggregates feeds from environmental agencies in nearly every country, plus embassy and consulate monitors in many regions. With your own token, you can query any city slug or any bounding box.
β° Can I schedule regular runs?
Yes. Use Apify Schedules to refresh AQI hourly or on any cron expression. Pair with webhooks to power live dashboards or alerting.
βοΈ Is this data legal to use?
WAQI publishes the feeds openly under attribution. The attributions field in every record lists the original data providers; include them when republishing or visualising.
πΌ Can I use this data commercially?
Yes, with proper attribution. WAQI supports commercial use; review WAQI's terms for redistribution at scale.
π³ Do I need a paid Apify plan to use this Actor?
No. The free Apify plan is enough for testing (10 records per run). A paid plan lifts the limit and unlocks scheduling and larger datasets.
π What happens if a run fails or gets interrupted?
Apify automatically retries transient errors. Partial datasets are preserved.
π¦ What is bounds mode for?
Bounds mode sweeps every WAQI station inside a {lat1, lng1, lat2, lng2} rectangle, ideal for city-scale or regional pollution snapshots. Requires your own WAQI token.
π What if I need help?
Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.
π Integrate with any app
WAQI Air Quality Scraper connects to any cloud service via Apify integrations:
- Make - Automate multi-step workflows
- Zapier - Connect with 5,000+ apps
- Slack - Get run notifications in your channels
- Airbyte - Pipe AQI rows into your warehouse
- GitHub - Trigger runs from commits and releases
- Google Drive - Export datasets straight to Sheets
You can also use webhooks to trigger downstream actions when a run finishes. Push fresh AQI rows into your monitoring backend, or alert your team in Slack when readings cross a threshold.
π Recommended Actors
- π WHO GHO Health Indicators Scraper - Global health observatory indicators
- βοΈ NOAA Weather Scraper - US National Weather Service forecasts
- π‘οΈ Open-Meteo Weather Scraper - Global weather and climate data
- π‘ Measurement Lab NDT Scraper - M-Lab broadband-speed-test servers
- π°οΈ OpenSky Flights Scraper - Live global aircraft positions
π‘ Pro Tip: browse the complete ParseForge collection for more environmental and infrastructure scrapers.
π Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.
β οΈ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the World Air Quality Index Project (WAQI / aqicn.org) or any of its contributors. All trademarks mentioned are the property of their respective owners. Only publicly available air-quality data is collected.