WAQI Air Quality Scraper avatar

WAQI Air Quality Scraper

Pricing

from $3.75 / 1,000 result items

Go to Apify Store
WAQI Air Quality Scraper

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

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

ParseForge Banner

🌬️ 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 NGOsAQI 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 demo token 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 at https://aqicn.org/data-platform/token/ and pass it in the token input. 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

InputTypeDefaultBehavior
maxItemsinteger10Records to return. Free plan caps at 10, paid plan at 1,000,000.
modestring"city"city, here, or bounds.
citiesarray["beijing","shanghai","tokyo","delhi","london"]City slugs when mode = "city".
boundsobjectnullUsed when mode = "bounds". Object {lat1, lng1, lat2, lng2}. Your own token required.
tokenstring"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 demo token 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 at https://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

FieldTypeExample
πŸ™οΈ cityNamestring"Shanghai (上桷)"
πŸ†” stationIdnumber1437
🌬️ aqinumber82
🏭 dominantPollutantstring"pm25"
βš—οΈ pm25number | null82
βš—οΈ pm10number | null29
βš—οΈ o3number | null22.8
βš—οΈ no2number | null8.3
βš—οΈ so2number | null4.6
βš—οΈ conumber | null10
🌑️ temperaturenumber | null22
πŸŒͺ️ pressurenumber | null1008
πŸ’§ humiditynumber | null88
πŸƒ windnumber | null3.6
πŸ“ latitudenumber31.2047372
πŸ“ longitudenumber121.4489017
πŸ•’ observedAtISO 8601"2026-05-21T05:00:00+08:00"
πŸ”— stationUrlstring"https://aqicn.org/city/shanghai"
πŸ“‘ attributionsarraySee sample
πŸ•’ scrapedAtISO 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

ApproachCostCoverageRefreshFiltersSetup
⭐ WAQI Air Quality Scraper (this Actor)$5 free credit, then pay-per-use12,000+ stationsLive per runcity, here, bounding box⚑ 2 min
Commercial AQI APIs$99+/monthVendor networkStreamingMany⏳ Onboarding
Direct WAQI integrationFreeWorldwidePer-callMany🐒 Dev work
National regulator portalsFreeCountry-specificHourlyLimitedπŸ•’ Variable

Pick this Actor when you want WAQI data in a clean dataset, attributed, with weather context, on demand.


πŸš€ How to use

  1. πŸ“ Sign up. Create a free account with $5 credit (takes 2 minutes).
  2. πŸ”‘ Optional: get a free WAQI token at https://aqicn.org/data-platform/token/ for full station coverage.
  3. 🌐 Open the Actor. Go to the WAQI Air Quality Scraper page on the Apify Store.
  4. 🎯 Set input. Pick a mode (city, here, bounds), supply the cities or bounds, paste your token, set maxItems.
  5. πŸš€ Run it. Click Start and let the Actor collect your data.
  6. πŸ“₯ 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

🌱 ESG & Sustainability Reporting

  • Facility-level AQI for ESG disclosures
  • Supply-chain pollution exposure analysis
  • Sustainability-report data backbones
  • Scope-3 environmental risk inputs

🏘️ Real Estate Due Diligence

  • Air-quality scoring for residential listings
  • Office portfolio location risk reviews
  • Tenant disclosure and amenity insights
  • Acquisition due-diligence environmental data

πŸ₯ Public Health Operations

  • Asthma and COPD exposure forecasting
  • School and hospital outdoor-activity alerts
  • Vulnerable-population early warnings
  • City-level pollution dashboards

πŸŒ† Smart City & Mobility

  • Routing optimisation around pollution hotspots
  • Traffic-policy impact monitoring
  • EV-adoption ROI dashboards
  • Public transit air-quality positioning

πŸ”Œ Automating WAQI Air Quality Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

  • 🟒 Node.js. Install the apify-client NPM package.
  • 🐍 Python. Use the apify-client PyPI 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.

πŸŽ“ Research and academia

  • Atmospheric-science coursework with live data
  • Pollution-exposure epidemiology studies
  • Climate-policy reproducible papers
  • Urban-planning lab projects

🎨 Personal and creative

  • Personal AQI dashboards for runners and cyclists
  • Travel-blogger air-quality maps
  • Family-health alert apps
  • Hobbyist environmental data art

🀝 Non-profit and civic

  • Community-led pollution monitoring
  • Environmental-justice advocacy reports
  • School-district air-quality auditing
  • Investigative reporting on industrial sites

πŸ§ͺ Experimentation

  • Train AQI-forecasting ML models
  • Prototype geo-targeted alert systems
  • Test cross-pollutant correlation tools
  • Validate satellite-vs-ground pollution data

πŸ€– Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:


❓ 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.

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.


πŸ’‘ 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.