What's on — and whether that's still true.

Television listings, the stations you can physically receive where you're standing, and an honest timestamp on every claim. Built for people and for the assistant sitting next to them.

41,090outlets
9,439US transmitters
15,819dated airings
438true right now
8,974already expired

What can I receive?

Terrain between each transmitter and that exact point is computed from the USGS 10 m elevation model. The grade ranks path geometry — it is not a promise that a picture appears. First lookup for a new location takes a few seconds; after that it is cached.

On right now

loading…

How current is this?

Every record carries the moment it was observed and the moment it stops being claimable. Nothing is overwritten — when a schedule changes, a new record is written pointing at the one it replaced, so you can ask when something stopped being true.

19 changes recorded · collecting since 2026-09-11 04:47:50

What we don't have

The four pillars, as checkable things

pillarwhat it meanswhere it is, here
Originwho created it and when Every record carries its source, the moment we observed it, and the run that produced it — plus an Ed25519 signature over the claim. check one
Reliabilityproof it hasn't been tampered with Tampering breaks the signature. Nothing is ever overwritten: a change inserts a new record pointing at the one it replaced.
Ownershipwho created it and owns it The signing key is the claim. Source data here is public domain and Rootz owns none of it — but the terrain paths are our own work.
Accesswho can use it Not enforced. This tier is deliberately open and unmetered; access control belongs to the signed-publisher tier, not to this.

The public key and the exact canonicalisation are published at /.well-known/dtv-intel-signing.json, so you can verify a record offline without calling us at all — verify.py in the repo is an independent implementation that does exactly that. A signature proves a record is unchanged since we signed it. It does not prove the underlying schedule was correct: a faithfully observed wrong schedule is still signed.

For your assistant

Everything above is an API call. Point any agent at it — no key, no account, discovery is never metered.

POST /mcpMCP over JSON-RPC 2.0 — seven tools, every one accepts free text
/.well-known/aimachine-readable description of this service
/llms.txtplain-text orientation
/api/receivable?lat=&lon=transmitters reaching a point, terrain-graded
/api/whats-onprogrammes airing now, each with its expiry
/api/still-true?q=is a remembered claim still current
/api/freshnesshow stale we are, including where we're weak
/api/verify?airing_id=check a signature — or POST a record you cached
/.well-known/dtv-intel-signing.jsonpublic key + exact canonicalisation, for offline verification

A Rootz dataset. Sources and licences at /api/sources.