USGS Earthquakes Scraper: Quakes by Place and Date | $1/1K avatar

USGS Earthquakes Scraper: Quakes by Place and Date | $1/1K

Pricing

from $1.00 / 1,000 results

Go to Apify Store
USGS Earthquakes Scraper: Quakes by Place and Date | $1/1K

USGS Earthquakes Scraper: Quakes by Place and Date | $1/1K

$1 per 1,000 results, platform usage included. Earthquake events from the official USGS catalog: time, magnitude, place, depth, latitude, longitude, alert level, felt reports and event link. Filter by date, magnitude, depth, a radius around a point, or a map box. No key.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

One Dollar Store

One Dollar Store

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

USGS Earthquakes Scraper: earthquakes by date, place and magnitude

$1 per 1,000 earthquakes. Platform usage included. No rental, no minimum.

Pull earthquake events from the official USGS catalog (the FDSN event service that serves earthquake.usgs.gov). Pick a date range, a minimum magnitude, and optionally a place: a radius around a point, a map box, or a word in the place name such as Alaska or Japan. Each event comes back as one row with time, magnitude, place, depth, latitude, longitude, alert level, felt reports and a link to the USGS event page. No API key and no account with USGS.

Open it in Apify Console

New to Apify? [Create a free account](https://www.apify.com?fpr=ymnoit) (referral link). Runs from a free plan account return the first 10 results; any paid plan returns everything you ask for, up to your limit.

What it costs

EarthquakesThis actor
1,000$1.00
10,000$10.00
100,000$100.00

Plus $0.001 per run. One flat price, platform usage included, so there is no separate compute or proxy bill. Only event rows are charged. A run returns at most 10,000 events, so 100,000 events is ten runs, for example one per year of data. A weekly refresh of the 500 largest events of the last seven days costs about $0.50 a run, or about $2.00 a month.

Why use it

  • Official data, no key. The rows come straight from the USGS earthquake catalog. Nothing to sign up for on the USGS side.
  • Search by place without writing coordinates. Use a radius around a point, a map box, or a word from the place text. The place text is what USGS writes for each event, for example "45 km SSE of Hachinohe, Japan".
  • Flat rows. Magnitude, depth, coordinates and times are plain numbers and ISO dates, ready for a spreadsheet, a database or a map. Times are UTC.
  • Impact fields when USGS has them. Alert level, felt reports, intensity, significance and the tsunami flag are on the row.
  • Safe for scheduled jobs. A search that matches nothing ends cleanly with zero rows. A bad date or an incomplete radius ends with a short message, not a crash.

Quick start

  1. Open the actor, keep the example values, press Start.
  2. Or paste this input, which returns the 100 newest magnitude 4 and up events of the last 30 days:
{ "daysBack": 30, "minMagnitude": 4, "maxItems": 100 }
  1. Download the results as JSON, CSV or Excel, or read them through the API.

Use it from code

curl -X POST "https://api.apify.com/v2/acts/one_dollar_store~usgs-earthquakes-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"daysBack": 30, "minMagnitude": 4, "maxItems": 100}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("one_dollar_store/usgs-earthquakes-scraper").call(
run_input={"daysBack": 30, "minMagnitude": 4, "maxItems": 100}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["time"], item["magnitude"], item["place"])

Use it from an AI assistant

Claude, ChatGPT, Cursor and other assistants can call this actor through Apify's MCP server. Add it with this server address:

https://mcp.apify.com?tools=one_dollar_store/usgs-earthquakes-scraper

Then ask, for example: "List the magnitude 5 and up earthquakes of the last 30 days, largest first, with place and depth."

Switching from another earthquake scraper

Time range is daysBack, or startDate and endDate (YYYY-MM-DD, UTC). Size is minMagnitude and maxMagnitude. Place is latitude, longitude and maxRadiusKm, or the box fields minLatitude, maxLatitude, minLongitude and maxLongitude, or the word filter placeContains. The core output fields are id, time, magnitude, place, latitude, longitude and depthKm. One row is one event.

Input

FieldTypeDefaultWhat it does
daysBacknumber7Only events from the last N days, counted back from now (UTC). Ignored when startDate is set.
startDatetextemptyFirst day to include, YYYY-MM-DD (UTC).
endDatetextnowLast day to include, YYYY-MM-DD (UTC).
minMagnitudenumbernoneOnly events at or above this magnitude.
maxMagnitudenumbernoneOnly events at or below this magnitude.
placeContainstextnoneKeep only events whose place text contains this word, without regard to case.
latitude, longitude, maxRadiusKmnumbersnoneRadius search. All three are needed together. Radius up to 20,001 km.
minLatitude, maxLatitude, minLongitude, maxLongitudenumbersnoneMap box. Ignored when a radius is set.
minDepthKm, maxDepthKmnumbersnoneDepth range in kilometres.
eventTypechoiceearthquakeEarthquake, any type, quarry blast, explosion or ice quake.
reviewStatuschoiceanyReviewed events only, automatic ones only, or both.
alertLevelchoiceanyOnly events with this PAGER alert color (green, yellow, orange, red).
orderBychoicetimeNewest first, oldest first, largest magnitude first or smallest first.
maxItemsnumber100Most events in the run. Minimum 10, maximum 10,000.

When the list is longer than maxItems, orderBy decides which events you get. With the default you get the newest. With largest first you get the biggest events of the period.

Output fields

FieldMeaning
idUSGS event ID.
timeWhen the event happened, UTC, ISO 8601.
magnitude, magnitudeTypePreferred magnitude and the method behind it (for example mww, mb, ml).
place, titleThe place text USGS writes, and a short title that joins magnitude and place.
latitude, longitude, depthKmEpicenter and depth in kilometres.
type, statusKind of event, and whether it is reviewed or still an automatic solution.
alertPAGER impact color, when USGS has set one.
tsunamiTrue for large events in ocean regions, where a tsunami is possible. It does not mean one happened.
significanceUSGS significance number. Larger means more significant.
feltReports, communityIntensity, instrumentalIntensityFelt reports and the highest intensities from reports and from sensors, when available.
stationsUsed, azimuthalGapDeg, nearestStationDeg, rmsSecondsQuality numbers for the location, when available.
networkCode of the network behind the preferred solution.
updatedWhen USGS last changed the record, UTC.
url, detailUrlThe USGS event page and the full GeoJSON detail of the event.
source, scrapedAtWhere the row came from and when this run read it.

Fields USGS leaves empty are left out of the row, so small events often have no alert, feltReports or intensity.

Sample results

Real rows from a test run on 20 October 2026: the newest magnitude 4 and up events of the last 30 days.

[
{"id": "us6000u3jl", "time": "2026-10-20T04:20:38.737Z", "magnitude": 6.3, "magnitudeType": "mww", "place": "197 km NW of Port-Olry, Vanuatu", "title": "M 6.3 - 197 km NW of Port-Olry, Vanuatu", "latitude": -13.9906, "longitude": 165.5892, "depthKm": 16, "type": "earthquake", "status": "reviewed", "alert": "green", "tsunami": true, "significance": 611, "feltReports": 1, "communityIntensity": 3.4, "instrumentalIntensity": 0, "stationsUsed": 138, "azimuthalGapDeg": 27, "nearestStationDeg": 6.641, "rmsSeconds": 0.81, "network": "us", "updated": "2026-10-20T05:09:13.719Z", "url": "https://earthquake.usgs.gov/earthquakes/eventpage/us6000u3jl", "detailUrl": "https://earthquake.usgs.gov/fdsnws/event/1/query?eventid=us6000u3jl&format=geojson", "source": "USGS FDSN event service", "scrapedAt": "2026-10-20T05:51:16.374Z"},
{"id": "us6000u3jd", "time": "2026-10-20T02:54:15.972Z", "magnitude": 5, "magnitudeType": "mb", "place": "Pagan region, Northern Mariana Islands", "title": "M 5.0 - Pagan region, Northern Mariana Islands", "latitude": 18.2529, "longitude": 146.0345, "depthKm": 129.361, "type": "earthquake", "status": "reviewed", "tsunami": false, "significance": 385, "stationsUsed": 71, "azimuthalGapDeg": 74, "nearestStationDeg": 3.011, "rmsSeconds": 1.01, "network": "us", "updated": "2026-10-20T05:05:28.819Z", "url": "https://earthquake.usgs.gov/earthquakes/eventpage/us6000u3jd", "detailUrl": "https://earthquake.usgs.gov/fdsnws/event/1/query?eventid=us6000u3jd&format=geojson", "source": "USGS FDSN event service", "scrapedAt": "2026-10-20T05:51:16.532Z"},
{"id": "us6000u3db", "time": "2026-10-19T16:13:53.665Z", "magnitude": 4.6, "magnitudeType": "mb", "place": "south of the Fiji Islands", "title": "M 4.6 - south of the Fiji Islands", "latitude": -23.5497, "longitude": 179.8713, "depthKm": 536.111, "type": "earthquake", "status": "reviewed", "tsunami": false, "significance": 326, "stationsUsed": 35, "azimuthalGapDeg": 126, "nearestStationDeg": 6.021, "rmsSeconds": 0.69, "network": "us", "updated": "2026-10-19T16:29:35.040Z", "url": "https://earthquake.usgs.gov/earthquakes/eventpage/us6000u3db", "detailUrl": "https://earthquake.usgs.gov/fdsnws/event/1/query?eventid=us6000u3db&format=geojson", "source": "USGS FDSN event service", "scrapedAt": "2026-10-20T05:51:17.164Z"}
]

Limits

  • 10,000 events per run. For more, run again with a different date range, for example one run per year.
  • Speed. A 100 event run takes 6 to 38 seconds. A run of 2,267 events took just under 5 minutes in our tests: USGS needed 18 to 21 seconds for each page of 2,000 events, and rows are saved at about 8 a second. A full 10,000 event run takes roughly 20 to 25 minutes, so the run timeout is set to one hour by default. If you lower it, the run stops cleanly before the limit and keeps what it has.
  • Rate limit. USGS does not publish a number for this service. The actor sends one request at a time, at most one per second, with a User-Agent that names the actor, and it tries a failed request up to three times with a pause between tries.
  • Place text is USGS wording. placeContains matches the place text as USGS writes it, in English, for example "45 km SSE of Hachinohe, Japan" or "south of the Fiji Islands". It reads up to 40,000 events and then stops, so combine it with dates or a magnitude. For an exact area use the radius or the map box.
  • Events change. USGS revises magnitudes and locations, and an automatic solution becomes reviewed later. updated shows the last change. A row is the record as USGS held it at the time of the run.
  • Not every event is equal. Small events are reported by the contributing networks, and coverage is not the same in every country. Many fields (alert, felt reports, intensity) exist only for some events and are left out of the row when empty.
  • UTC and kilometres. All times are UTC. Depth is in kilometres.

FAQ

How much does it cost to collect 10,000 earthquakes? $10, plus $0.001 for each run.

Do I pay for compute or proxy on top? No. Platform usage is included in the $1 per 1,000 price. No proxy is used.

Do I need an API key or a USGS account? No. The actor reads the public USGS event service.

How do I get the earthquakes near a city or in a country? For a city, give its latitude and longitude and a radius in kilometres. For a region, give a map box. For a country or region name, use placeContains, for example Japan. The radius and box are exact. The word filter depends on how USGS writes the place.

How current is the data? The actor reads the USGS catalog at the moment you run it. USGS adds an event when its networks report it, and may revise it afterwards.

Is it legal? The actor reads earthquake data that USGS publishes openly for public use, and it does not log in to anything. How you use the data is up to you: follow USGS's terms and the law where you live.

Is this an official USGS product? No. It is an independent tool and is not affiliated with or endorsed by USGS.

Do I need an Apify account? Yes. Actors run from an Apify account, and a free account is enough to start: it includes $5 of platform usage every month. You can sign up here. This is a referral link and it costs you nothing.

Is there a limit on the free plan? Yes. A run started from a free plan account delivers the first 10 results, then ends with a message and a link to the plans. Any paid plan returns everything you ask for, up to your own limit. The price per result is the same on every plan.

More from The One Dollar Store

Every actor here costs $1 per 1,000 results, platform usage included. See the whole store: https://apify.com/one_dollar_store

Health and science

Changelog

  • October 2026: first release.