Delhi + NCR · every monitor · checked hourly

The air is already being measured.That's not the same as true.

Ground Truth checks every air-quality monitor in Delhi against the stations around it, its own past and physics, and tells you in plain words whether its number adds up.

or watch the 60-second tour
Checked every hour, from the live data
52stations checked
0don't add up
0worth a look
30/30planted anomalies caught in tests
The problem, and our answer

Delhi decides on these numbers.Nobody checks the monitors.

The problem

A number on a screen doesn't tell you if the monitor behind it works.

  • Real decisions ride on it. A principal keeps assembly outdoors, a parent takes a child to the park, the city stops construction, all on what about 40 monitors report.
  • Monitors go wrong. Sensors drift, break, get dusty or get moved, and the number keeps publishing as if nothing happened.
  • Sometimes worse. In October 2025, water tankers were filmed spraying near a Delhi monitor, which makes the air read cleaner than it is.

Today, nobody can tell a working monitor from a broken one.

Our answer: Ground Truth

Every monitor, checked every hour, with a plain answer.

  1. 1
    Physics: is the reading even possible? Fine dust can never be more than all dust.
  2. 2
    Neighbours: does it agree with the four monitors around it?
  3. 3
    History: did it suddenly change against its own last three weeks?

When a monitor is in doubt, we show what the four around it read right now, so you still have a number you can act on.

An example morning in East Delhi
  1. 7:30

    The principal checks the nearest monitor. It says the air is Moderate.

  2. 7:31

    Ground Truth marks that monitor : it disagrees with the four around it.

  3. 7:31

    The four monitors around the school read Very poor.

  4. 7:32

    Assembly moves indoors. The decision is made on a number that adds up.

Why we built it · October 2025

Spray water around a monitor,and its number drops. The air doesn't.

In October 2025, water tankers were filmed spraying near a Delhi monitor. Wet the air at the inlet and the dust settles right there, so the monitor reads cleaner than the air the city is breathing.

illustration / water tanker at a monitor
This monitor310µg/m³ PM2.5
Monitors nearby302µg/m³ PM2.5

1 · Before. The monitor and the monitors around it agree: about 310 µg/m³ PM2.5.

An illustration, not footage, and the numbers are examples. We did test whether the monitors named in the October 2025 reports show this pattern. On a method fixed before looking, they didn't stand out (Anand Vihar ranked 6th and Jahangirpuri 13th of 38). So a flag on this site means a monitor's numbers don't add up, never that someone sprayed it.

How it works, in ten seconds

A reading on its own can't tell you if it's right.The monitors around it can.

  1. 1

    A monitor reports a number

    Every hour, each of Delhi's monitors publishes its PM2.5 reading.

  2. 2

    We ask its four neighbours

    We compare it with the four nearest monitors, within 12 km.

  3. 3

    You get a plain answer

    If the numbers don't add up, we say so, and show you which number to use instead.

Reading the answers

Three answers, and an honest "can't tell".Here's what to do with each.

Live map

Find the monitor you rely on.See its answer, and why.

Each mast is a monitor, and its column is as tall as its PM2.5 reading. The smog is thicker where the air is worse. Click a monitor for its answer, or click the city to explore it in 3D.

groundtruth / delhi / liveLive

Loading the monitors…

Every monitor, by area

The method

Three checks, every hour.Every formula, in the open.

Physics, neighbours and history: what each check asks, its exact formula and thresholds, how they combine into one answer, and how they did on two months of real data.

Read the method →
Who it's for

For anyone who acts on the number.Before they act on it.

A school principal

Deciding at 7:30 whether assembly and PE stay outdoors. If the nearest monitor doesn't add up, they use what the monitors around the school read.

A parent

Planning a walk or a park visit with a child, or deciding when to run the air purifier. One glance tells them whether today's number can be trusted.

A reporter or official

Checking whether a monitor's readings changed, and when, before writing about it. Every answer links to the hour-by-hour evidence.

Does it actually work?

We tried to fool it 30 times.It caught all 30.

We took real data from November 2025 and, one quiet monitor at a time, secretly lowered its daytime dust by 40%. Ground Truth flagged every one of them, and wrongly flagged another monitor only 3 times across all 30 runs.

We also scored every day of October and November 2025 as this site would have. Most flags were readings that can't be real, and smaller planted drops were caught less often (30%: 29 of 30, 20%: 10 of 30). Read the validation report

This test, and 98 others, run automatically every time the code changes. See the tests

Built on AWS

Nobody presses a button.It checks itself every hour.

The whole system is one AWS SAM template, deployed in us-east-1 next to the public OpenAQ archive it reads from.

  1. Every hourAmazon EventBridgestarts the check
  2. Fetch + checkAWS Lambdareads new readings from OpenAQ, with the key from Parameter Store, and runs the three checks
  3. StoreAmazon S3keeps 29 days of history and the results
  4. ServeLambda function URLdelivers this page and the data over HTTPS
  5. ReadYousee every monitor's answer

Watching it: Amazon CloudWatch tracks how old the data is and every failed run, Amazon SNS emails us when an alarm fires, and AWS Budgets caps the bill at $5 a month. GitHub Actions deploys each change through OIDC, with no stored AWS keys.

Before you act on a number,check that it adds up.

Find the station you rely on. It takes ten seconds.

Find your station ↑