USGS Earthquakes Scraper: Quakes by Place and Date | $1/1K
Pricing
from $1.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
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.
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
| Earthquakes | This 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
- Open the actor, keep the example values, press Start.
- 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 }
- 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 ApifyClientclient = 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
| Field | Type | Default | What it does |
|---|---|---|---|
daysBack | number | 7 | Only events from the last N days, counted back from now (UTC). Ignored when startDate is set. |
startDate | text | empty | First day to include, YYYY-MM-DD (UTC). |
endDate | text | now | Last day to include, YYYY-MM-DD (UTC). |
minMagnitude | number | none | Only events at or above this magnitude. |
maxMagnitude | number | none | Only events at or below this magnitude. |
placeContains | text | none | Keep only events whose place text contains this word, without regard to case. |
latitude, longitude, maxRadiusKm | numbers | none | Radius search. All three are needed together. Radius up to 20,001 km. |
minLatitude, maxLatitude, minLongitude, maxLongitude | numbers | none | Map box. Ignored when a radius is set. |
minDepthKm, maxDepthKm | numbers | none | Depth range in kilometres. |
eventType | choice | earthquake | Earthquake, any type, quarry blast, explosion or ice quake. |
reviewStatus | choice | any | Reviewed events only, automatic ones only, or both. |
alertLevel | choice | any | Only events with this PAGER alert color (green, yellow, orange, red). |
orderBy | choice | time | Newest first, oldest first, largest magnitude first or smallest first. |
maxItems | number | 100 | Most 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
| Field | Meaning |
|---|---|
id | USGS event ID. |
time | When the event happened, UTC, ISO 8601. |
magnitude, magnitudeType | Preferred magnitude and the method behind it (for example mww, mb, ml). |
place, title | The place text USGS writes, and a short title that joins magnitude and place. |
latitude, longitude, depthKm | Epicenter and depth in kilometres. |
type, status | Kind of event, and whether it is reviewed or still an automatic solution. |
alert | PAGER impact color, when USGS has set one. |
tsunami | True for large events in ocean regions, where a tsunami is possible. It does not mean one happened. |
significance | USGS significance number. Larger means more significant. |
feltReports, communityIntensity, instrumentalIntensity | Felt reports and the highest intensities from reports and from sensors, when available. |
stationsUsed, azimuthalGapDeg, nearestStationDeg, rmsSeconds | Quality numbers for the location, when available. |
network | Code of the network behind the preferred solution. |
updated | When USGS last changed the record, UTC. |
url, detailUrl | The USGS event page and the full GeoJSON detail of the event. |
source, scrapedAt | Where 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.
placeContainsmatches 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.
updatedshows 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
- NPI Provider Search: US healthcare providers from the NPI registry.
- PubMed Articles Scraper: Biomedical articles with abstracts and authors.
- ClinicalTrials.gov Scraper: Clinical studies by condition, drug or sponsor.
- Product Recalls Scraper: US consumer product recalls from the CPSC.
- Crossref Scraper: Scholarly works by DOI, title or author.
- EPA ECHO Scraper: US facility inspections and violations.
- NIH RePORTER Scraper: US NIH research grants and awards.
- FDA Recalls Scraper: US FDA enforcement reports and recalls.
- CMS Hospital Quality: US hospital ratings and quality measures.
- FDA 510(k) Scraper: Cleared medical devices with applicant and date.
Changelog
- October 2026: first release.