Developer tools · News & feeds
USGS Earthquake Data Scraper — FDSN Event Feed
Query USGS's public FDSN earthquake catalog by time window, magnitude, depth, bounding box, or radius and export flat, typed rows — magnitude, location, depth, significance, alert level, tsunami flag, and felt reports — no raw GeoJSON to hand-parse.
Free Apify credit covers a first run. No credit card to try.
What this Actor scrapes
USGS's public FDSN event web service (earthquake.usgs.gov/fdsnws/event/1/query) — the same catalog that feeds USGS's own earthquake map. Every event in scope carries magnitude, exact location, depth, significance score, PAGER alert level, tsunami flag, and community felt-report data (CDI/MMI), flattened into one typed row.
What we handle for you
- Full FDSN parameter surface — magnitude, depth, and time filters,
- Every risk field on every row —
alert,tsunami,sig,felt, - Flat, typed output — a fixed schema (
event_id,magnitude, - 🛡️ We rotate browser fingerprints (curl-cffi impersonation across
- 🔁 We retry with exponential backoff on
408/429/5xxand honour - 🧱 We never crash on a bad record. A malformed event is skipped with
- 🧊 A zero-match search still succeeds. A narrow filter combination
Use cases
- Catastrophe-risk and reinsurance monitoring — pull every event above
- Geotech and infrastructure risk dashboards — track seismic activity
- News-desk earthquake alerting — poll a rolling time window and
- Research and academic datasets — build a clean, reproducible seismic
Input
Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.
| Field | Type | Required | What it does |
|---|---|---|---|
starttime | string | yes | Earliest event time (inclusive). Accepts YYYY-MM-DD or full ISO-8601, passed through to USGS unchanged. |
endtime | string | yes | Latest event time (inclusive). Accepts YYYY-MM-DD or full ISO-8601, passed through to USGS unchanged. |
minmagnitude | number | no | Only events at or above this magnitude. |
maxmagnitude | number | no | Only events at or below this magnitude. |
mindepth | number | no | Only events at or below this depth in kilometers (deeper = larger value). |
maxdepth | number | no | Only events at or above this depth in kilometers. |
minlatitude | number | no | Bounding-box filter. Must be set together with Max latitude, Min longitude, and Max longitude — all four or none. |
maxlatitude | number | no | Bounding-box filter. Must be set together with Min latitude, Min longitude, and Max longitude — all four or none. |
minlongitude | number | no | Bounding-box filter. Must be set together with Min latitude, Max latitude, and Max longitude — all four or none. |
maxlongitude | number | no | Bounding-box filter. Must be set together with Min latitude, Max latitude, and Min longitude — all four or none. |
latitude | number | no | Radius-search center. Must be set together with Center longitude and Max radius (km) — all three or none. |
longitude | number | no | Radius-search center. Must be set together with Center latitude and Max radius (km) — all three or none. |
{
"starttime": "2026-08-03",
"endtime": "2026-09-02",
"minmagnitude": 4.5
} Output
One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.
event_idmagnitudemagnitude_typeplaceevent_timeupdated_timelongitudelatitudedepth_kmalert_leveltsunamisignificancefelt_reportscdimmistatus
{
"event_id": "us7000td6k",
"magnitude": 4.8,
"magnitude_type": "mb",
"place": "176 km SE of Gizo, Solomon Islands",
"event_time": "2026-08-30T02:00:29.055Z",
"updated_time": "2026-08-30T02:28:22.040Z",
"longitude": 158.1558,
"latitude": -9.0154,
"depth_km": 10.0,
"alert_level": null,
"tsunami": false,
"significance": 354,
"felt_reports": null,
"cdi": null,
"mmi": null,
"status": "reviewed",
"event_type": "earthquake",
"title": "M 4.8 - 176 km SE of Gizo, Solomon Islands",
"event_url": "https://earthquake.usgs.gov/earthquakes/eventpage/us7000td6k",
"network": "us"
} Pricing
| Event | Price | When |
|---|---|---|
| Actor start | $0.05 | Once per run, covers warm-up and proxy session setup. |
| Result emitted | $0.0020 | Per result written to the dataset. |
You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.
Limitations
- USGS's FDSN endpoint caps a single page at 20 000 events and this Actor
- The
/countpre-flight endpoint and the per-event detail endpoint eventtype,catalog,contributor, and a handful of other long-tail
FAQ
Can I combine a bounding box and a radius search in the same run?
Ready to run it?
Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.
Related Actors