Skip to content

PM25.in

Air quality of China

Open documentation ↗
API keyNo HTTPSNo CORSEnvironment

Verified today: 100% uptime

API key

Required

HTTPS

Not supported

Browser calls

No, needs a proxy

Status

Live · 100/100

Overview & Architectural Role

PM25.in provides programmatic access to air quality of china. Delivered over secure HTTP protocols, it exposes structured endpoints designed to integrate cleanly into modern frontend frameworks, backend microservices, and automated data pipelines without requiring local database provisioning.

Who it is built for

Engineers building web dashboards, mobile applications, CLI utilities, or background cron workers in need of reliable environment data feeds.

Architectural Advantage

Consuming PM25.in removes the operational overhead of running custom scrapers, orchestrating headless browser fleets, or manually seeding and maintaining a local database. Instead of reverse-engineering volatile DOM layouts or dealing with anti-bot IP blocks, your application connects directly to a standardized JSON interface designed for backend ingestion with consistent schema schemas. Dedicated authentication ensures rate quotas and credential tracking per project environment.

What our checks found

Health score
100/100
Reliability
100%
Average latency
2688ms

Last checked 2026-10-24. Measured independently, not self-reported by the provider.

Core Use Cases & Architecture Ideas

Practical real-world patterns for integrating PM25.in into software systems.

Smart Environmental IoT Controller

Feed live atmospheric data from PM25.in into microcontrollers to dynamically govern heating, cooling, or automated window actuators.

Architecture: Edge device or serverless cron polls PM25.in every 15 minutes, compares ambient metrics with indoor telemetry, and triggers local relays.

Logistics & Delivery Route Optimization

Adjust dispatch schedules and estimated delivery times dynamically when adverse conditions impact transit zones.

Architecture: A Node.js/Go dispatch worker queries localized status codes along shipping waypoints, dispatching customer updates via webhooks.

Context-Aware Frontend Dashboard Widget

Render dynamic UI themes and localized weather cards tailored to the user's geolocated IP coordinates.

Architecture: React/Next.js frontend fetches telemetry client-side (or through a cached server route) to render live status indicators.

Code Implementation Examples

Production-ready starting templates with error handling for PM25.in.

// Requires an API key. Check the docs for whether it goes in a header or a query parameter.
// Modern native fetch with error handling
async function callApi() {
  try {
    const response = await fetch('http://www.pm25.in/api/v1/resource', {
      method: 'GET',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      Accept: 'application/json',
    },
    });

    if (!response.ok) {
      throw new Error(`HTTP ${response.status}: ${response.statusText}`);
    }

    const data = await response.json();
    console.log('Response payload:', data);
    return data;
  } catch (error) {
    console.error('API request failed:', error);
    throw error;
  }
}

// callApi();

This API does not send CORS headers, so a browser will block a direct call from your front end. Call it from your server, or put a small proxy in front of it.

This API is served over plain HTTP. Browsers block HTTP requests made from an HTTPS page, so you will need a server-side call.

Response Payload & Live Testing

Inspect the expected JSON structure returned by PM25.in.

Expected JSON Response Payload

Authentic sample payload structure to evaluate schema attributes before integration.

{
  "status": 200,
  "api": "PM25.in",
  "endpoint": "/pm25-in",
  "data": {
    "id": 101,
    "title": "PM25.in Sample Payload",
    "description": "Air quality of China",
    "verified": true,
    "category": "Environment",
    "updated_at": "2026-10-24T07:39:47.246Z"
  },
  "meta": {
    "response_time_ms": 2688,
    "cached": false
  }
}
Format: application/json

Integration Considerations & Best Practices

Technical factors to keep in mind when integrating PM25.in into production environments.

Implement In-Memory or Edge Caching

Avoid triggering rate limits on public feeds by caching response payloads in Redis, Vercel KV, or standard HTTP Cache-Control headers with a 5-to-15 minute TTL.

Shield Credentials in Backend Route Handlers

Never expose private API keys in client-side JavaScript or bundle environments. Proxy requests through a Next.js API route or serverless backend to keep secret keys out of public DevTools inspection.

CORS Proxy Required for Browser Frontend Calls

This API does not send Access-Control-Allow-Origin response headers. Direct fetch() calls from browser JavaScript will fail due to Same-Origin Policy. Route your calls through a server backend or lightweight edge proxy.

Validate HTTP Status Before Parsing JSON

Always inspect response.ok before executing response.json(). Upstream services returning 4xx or 502 Bad Gateway often serve HTML error pages, which cause syntax errors when parsed as JSON.

Where this listing comes from

Aggregated from one public source (public-apis), then normalised and checked by us.

Report an issue with this listing ↗

Other Environment APIs

See all 32 →

DC Hub

Environment

Live data on data-center facilities, power markets, grid telemetry, and fiber infrastructure

No keyCORSHTTPS

Verified today: 100% uptime

View Details

Luchtmeetnet

Environment

Predicted and actual air quality components for The Netherlands (RIVM)

No keyCORSHTTPS

Verified today: 100% uptime

View Details

Open-Meteo Marine

Environment

Ocean wave height, swell, sea temperature and marine weather data

No keyCORSHTTPS

Verified today: 100% uptime

View Details

UK Carbon Intensity

Environment

The Official Carbon Intensity API for Great Britain developed by National Grid

No keyCORSHTTPS

Verified today: 100% uptime

View Details

WattFigure

Environment

US electricity rates by state, with appliance and EV charging running costs

No keyCORSHTTPS

Verified today: 100% uptime

View Details

Open-Meteo

Environment

Open-Meteo is an open-source weather API and offers free access for non-commercial use. No API key required. Start using it now!

No keyCORSHTTPS

Verified today: 100% uptime

View Details

PM25.in — common questions

Answered from what our own scheduled checks found, not from the provider's marketing.

Is PM25.in free to use?

PM25.in is listed in our free catalogue, but it requires an API key, so you will need to register before your first call. Providers frequently reserve higher limits and commercial use for paid plans.

Does PM25.in need an API key?

Yes. PM25.in authenticates with an API key. Keep it server-side rather than in browser code, because anything in your frontend bundle is readable by anyone who opens developer tools.

Can I call PM25.in from browser JavaScript?

Not directly. PM25.in did not return CORS headers when we checked, so the browser will block your page from reading the response even though the request itself succeeds. Call it from a server, or put a small proxy in front of it.

Is PM25.in still working?

Yes, as of 2026-10-24. Our automated check reached PM25.in and recorded a 100% reliability score with a median response time of 2688 ms. We re-check on a schedule, and this page updates with the result.

Is PM25.in available over HTTPS?

No. PM25.in was only reachable over plain HTTP when we checked. Browsers block HTTP requests made from an HTTPS page, so this will fail in production unless you call it from a server instead.