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

Scrapes real-time air quality data from WAQI stations by city, nearest location, or bounding box. Returns AQI, pollutant readings, weather, and station coordinates as flat rows.

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

6 days ago

Last modified

Share

ParseForge

WAQI Air Quality Scraper

Scrape real-time air quality data from any WAQI station, city, or bounding box. Every record includes AQI, pollutant concentrations, weather, and station coordinates. No API key needed for demo access. Export to CSV, JSON, Excel, or XML.

WAQI's official API requires a token and limits how you can query stations. This Actor reads the public WAQI feeds directly, by city name, nearest station, or bounding box, and returns each station's AQI, pollutants, weather, and coordinates in one flat row. Use the free demo token for Shanghai, or bring your own token for global coverage.

Who uses itWhat they scrape WAQI for
Environmental researchersCompare air quality across cities over time
Health app developersFeed real-time AQI into wellness or asthma apps
Urban plannersMap pollution hotspots across a region
Data journalistsReport on air quality events with current readings
Smart city integratorsMonitor station networks for public dashboards

What it does

This Actor collects air quality data from WAQI stations by city, nearest location, or bounding box, and returns each station as a flat row with AQI, pollutant readings, weather, and coordinates.

  • πŸ“ Three search modes: by city name, nearest station to your IP, or every station inside a bounding box.
  • πŸ”’ Flexible volume: collect from 1 up to 1,000,000 stations per run.
  • πŸ”‘ Token support: use the free demo token for Shanghai, or bring your own WAQI token for global access.
  • πŸ“¦ Structured output: each station returns as one flat row with AQI, pollutants, weather, and coordinates.
  • 🌐 Global coverage: access thousands of stations across the WAQI network.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with WAQI data

πŸ“ˆ Track air quality trends.

A researcher collects daily AQI for a list of cities to build a time series and spot pollution episodes.

πŸ“ Build a local air quality app.

A developer uses the nearest-station mode to show users the AQI at their current location.

πŸ—ΊοΈ Map pollution across a region.

An urban planner pulls all stations within a bounding box to visualize pollution hotspots.

πŸ“° Report on air quality events.

A journalist scrapes stations in a city during a smog event to get real-time readings for a story.

πŸ™οΈ Monitor a station network.

A smart city integrator collects all stations in a metro area to feed a public dashboard.

Why choose this scraper

What you get
Real-time AQICurrent air quality index for each station, updated from WAQI feeds
Pollutant breakdownPM2.5, PM10, O3, NO2, SO2, CO concentrations where available
Weather contextTemperature, humidity, wind, and pressure at the station
Station metadataName, coordinates, and attribution for every station
Flexible searchCity, nearest, or bounding box modes cover most use cases

How it compares

This Actor focuses on flexible station discovery and structured output, while the competitor adds forecast data.

FeatureParseForgeExtract WAQI Air Quality Data with Forecasts
Real-time AQIYesYes
Pollutant readingsYesYes
Weather dataYesYes
Station coordinatesYesYes
Forecast dataNot listedYes
Bounding box searchYesYes
Nearest station searchYesNot listed

Configure the run

Drive the Actor from city names, your current location, or a bounding box, and set a maximum number of stations to collect per run. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10,
"mode": "city",
"token": "demo"
}

A larger pull:

{
"maxItems": 200,
"mode": "city",
"token": "demo"
}

Pricing

Pay-per-result: $0.005 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$0.50
1,000 results$5.00
10,000 results$50.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the WAQI Air Quality Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to WAQI through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/waqi-air-quality-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your city names are correct. Use the slug format (e.g., 'beijing', 'new-york') or the full name. If using bounds mode, ensure your bounding box coordinates are valid and that you have provided your own token.

Why do I only get Shanghai data?

You are using the demo token, which is limited to Shanghai. Sign up for a free token at aqicn.org/data-platform/token/ and pass it in the token field to access global stations.

Why is my run slow?

The Actor makes one request per station. If you are collecting many stations, it will take time. Reduce maxItems or use a token with higher rate limits.

Why do I get an error about the token?

Make sure your token is valid and has not expired. You can test it on the WAQI website. If the problem persists, contact WAQI support.

Why are some pollutant fields empty?

Not all stations report all pollutants. WAQI provides data only for pollutants that the station measures. Empty fields mean the station does not report that pollutant.

FAQ

QuestionAnswer
Do I need a WAQI API token?No. The Actor works with the free demo token, which returns data for Shanghai only. For global station access, sign up for a free token at aqicn.org/data-platform/token/ and pass it in the token field.
What is the difference between city, here, and bounds modes?City mode takes a list of city names or slugs and returns stations in those cities. Here mode returns the nearest station to your IP address. Bounds mode returns every station inside a latitude/longitude bounding box and requires your own token.
How many stations can I collect in one run?You can set maxItems from 1 up to 1,000,000. The Actor will stop after collecting that many stations.
What data does each station record include?Each record includes the AQI, pollutant concentrations (PM2.5, PM10, O3, NO2, SO2, CO), weather data (temperature, humidity, wind, pressure), station name, coordinates, and attribution.
Can I export the data?Yes. The Actor outputs a dataset that you can export to CSV, JSON, Excel, or XML from the Apify platform.
Is the data real-time?The Actor reads the current WAQI feeds, so the data is as fresh as WAQI provides. There may be a short delay depending on WAQI's update frequency.
What is the demo token?The demo token is a public token provided by WAQI that returns data for Shanghai only. It is useful for testing the Actor without signing up.
Can I use this for commercial purposes?You should check WAQI's terms of service. The Actor itself is a tool for data collection; you are responsible for how you use the data.
Does the Actor handle rate limits?The Actor makes requests sequentially and respects WAQI's rate limits. If you have a token with higher limits, you can pass it to increase throughput.
Can I schedule this Actor to run periodically?Yes. You can set up a schedule in Apify to run the Actor at intervals, such as hourly or daily, to collect fresh air quality data.

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by World Air Quality Index project. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.