How AI agents track earthquakes in real time
An AI agent tracks earthquakes by calling a wire that reads the USGS real-time summary feeds at runtime. It returns events filtered by magnitude band and time window, each with location, magnitude, origin time and a link to the USGS event page, without an API key or a signup step.
/mcp. Nothing here needs an API key or a signup.
Earthquake data has a property that makes it unusually well suited to agents and unusually easy to report badly: the first number published is frequently not the final number. An agent that treats an automatic magnitude as settled fact will state, with confidence, a figure the USGS itself has already withdrawn.
The three magnitude bands
The wire reads three USGS summary feeds, exposed through the mag filter:
| Filter value | What it carries | USGS feed span |
|---|---|---|
significant | Events flagged significant by USGS | Past 7 days |
m4.5 | Magnitude 4.5 and above | Past 24 hours |
m2.5 | Magnitude 2.5 and above | Past 24 hours |
The spans differ on purpose, and the difference matters. Significance is a USGS judgment that blends magnitude with felt reports and impact, so a moderate quake under a city can be significant while a larger one under open ocean is not. That band is drawn from a weekly feed because such events are rare. The two magnitude bands come from daily feeds because they are not: the M2.5+ past-day feed carried 53 events when this page was written, which is a routine day rather than a busy one.
Below M2.5 the wire has nothing. USGS publishes M1.0+ and all-events feeds, and an agent doing microseismic work should read those directly.
The call an agent makes
# free preview, top 3 results, no payment and no wallet curl "https://thebotwire.com/quake/preview?mag=significant" # paid, $0.005: everything M4.5 and above in the last 24 hours curl "https://thebotwire.com/quake/latest?mag=m4.5&since=24h&limit=20" # region search across all bands curl "https://thebotwire.com/quake/latest?q=japan&since=3d"
Parameters are mag (significant, m4.5, m2.5), q (region or place name as USGS writes it), since (30m, 2h, 24h, 3d) and limit (1 to 50). The wire holds a 72-hour window and defaults to a 24-hour lookback. The route costs $0.005 per call in USDC on Base.
Early magnitudes are provisional, and an agent should say so
USGS locates events automatically within minutes, then a seismologist reviews and revises them. Magnitude shifts of a few tenths are ordinary, depth estimates move more, and small events are sometimes deleted outright when they turn out to be a quarry blast or a timing artefact.
This wire captures each event as it was published. It does not retroactively rewrite an item when USGS revises it, so the value an agent read at minute three may differ from the USGS event page at hour three.
Two habits keep this honest, and they cost nothing:
- Report the magnitude with its origin time and link the USGS event page. A
human following the link sees the current value. An agent that strips the link removes the only path to the correction.
- Re-query rather than caching a magnitude. For anything consequential, call
again closer to the moment of use. At half a cent a call, refetching is cheaper than being wrong.
This is the same discipline that keeps agents accurate on any fast-moving primary source, described in how AI agents get real-time data, and it pairs naturally with severe weather alerts for agents doing disaster or logistics work. The routing table lists which endpoint owns which question.
Freshness against a feed that updates every minute
USGS states that its summary feeds are updated every minute. This wire sits in the breaking tier and refreshes on every ingest run, with an observed interval of about 298 seconds between runs, published live at /health.
That gap is the honest number: a few minutes behind USGS, not real-time in the seismological sense. For notification, mapping, travel and supply-chain reasoning the difference is immaterial. For earthquake early warning it is disqualifying, and no polled feed of any kind is the right tool there. Early warning runs on dedicated systems that broadcast in seconds.
FAQ
Can an AI agent get every earthquake from this wire?
No. The wire carries the significant, M4.5+ and M2.5+ summary feeds. Events below magnitude 2.5 are not included, and an empty result means nothing matched in the window rather than that no earthquakes occurred.
Why does the magnitude sometimes disagree with the USGS site?
Because USGS revises. The first solution is automatic, a human reviews it later, and magnitude, depth and location can all move. This wire records what was published when it polled, so an agent should link the USGS event page and treat any early magnitude as provisional.
How does an agent watch one region?
Pass a place name to q. USGS writes locations in a consistent style, such as "southern Alaska" or "off the east coast of Honshu, Japan", so region words match well. A sweep every 15 minutes is 96 calls a day, about $14 a month at $0.005 a call, and needs no account.
Does the agent need an API key?
No. The route answers HTTP 402 with a price offer, an x402 client signs a USDC authorization on Base and retries, and the results come back. Wallet requirements are listed in what an agent wallet needs on Base.
Sources
Event data on this wire comes from the USGS real-time earthquake feeds, documented at GeoJSON Summary Format, which states the summary feeds are updated every minute and lists five magnitude bands across four time spans. The count of 53 M2.5+ events in the past day was read from that feed on 2 August 2026. Poll cadence for this service is live at thebotwire.com/health.
Related: How do AI agents watch severe weather alerts? · How AI agents get real-time data past the training cutoff