WAQI Air Quality Scraper
Pricing
from $3.75 / 1,000 result items
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
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 it | What they scrape WAQI for |
|---|---|
| Environmental researchers | Compare air quality across cities over time |
| Health app developers | Feed real-time AQI into wellness or asthma apps |
| Urban planners | Map pollution hotspots across a region |
| Data journalists | Report on air quality events with current readings |
| Smart city integrators | Monitor 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 AQI | Current air quality index for each station, updated from WAQI feeds |
| Pollutant breakdown | PM2.5, PM10, O3, NO2, SO2, CO concentrations where available |
| Weather context | Temperature, humidity, wind, and pressure at the station |
| Station metadata | Name, coordinates, and attribution for every station |
| Flexible search | City, 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.
| Feature | ParseForge | Extract WAQI Air Quality Data with Forecasts |
|---|---|---|
| Real-time AQI | Yes | Yes |
| Pollutant readings | Yes | Yes |
| Weather data | Yes | Yes |
| Station coordinates | Yes | Yes |
| Forecast data | Not listed | Yes |
| Bounding box search | Yes | Yes |
| Nearest station search | Yes | Not 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 collected | Approximate 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
- Create a free Apify account with $5 in credit.
- Open the WAQI Air Quality Scraper.
- Set your inputs and any filters, then click Start.
- 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
| Question | Answer |
|---|---|
| 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. |
Related actors
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.
