Usgs Earthquake Scraper
Pricing
Pay per event
Usgs Earthquake Scraper
Extract earthquake data from USGS. Get magnitude, location, depth, tsunami alerts, and significance for seismic events worldwide.
Pricing
Pay per event
Rating
0.0
(0)
Developer

Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
23 minutes ago
Last modified
Categories
Share
Extract earthquake data from the United States Geological Survey (USGS). Get magnitude, location, depth, coordinates, tsunami alerts, and significance for seismic events worldwide.
What does USGS Earthquake Scraper do?
USGS Earthquake Scraper fetches seismic event data from the USGS Earthquake Hazards Program API. It returns detailed information about earthquakes including magnitude, epicenter coordinates, depth, tsunami warnings, PAGER alert levels, and how many people reported feeling the event.
Filter by date range, magnitude, depth, and alert level to get exactly the earthquake data you need.
Why use earthquake data?
The USGS monitors earthquakes globally in real-time. Use cases include:
- Risk assessment — evaluate seismic hazards for insurance, construction, and real estate
- Research — study earthquake patterns, tectonic activity, and seismological trends
- Emergency preparedness — monitor earthquake activity for disaster response planning
- Data journalism — visualize earthquake data on maps for news coverage
- Education — build interactive earthquake maps and learning tools
- Insurance analytics — assess earthquake risk for underwriting decisions
How much does it cost?
USGS Earthquake Scraper uses pay-per-event pricing:
| Event | Price |
|---|---|
| Run started | $0.001 |
| Earthquake extracted | $0.0005 per event |
Example costs:
- 100 earthquakes M5+: ~$0.051
- 500 earthquakes M4+: ~$0.251
- All M6+ earthquakes in 2025: ~$0.05-0.10
Platform costs are minimal. The USGS API is free and requires no authentication.
Input parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
startTime | string | Start date (YYYY-MM-DD) | Required |
endTime | string | End date (YYYY-MM-DD) | Today |
minMagnitude | number | Minimum magnitude (0-10) | 4.0 |
maxMagnitude | number | Maximum magnitude (0-10) | - |
minDepth | number | Minimum depth in km | - |
maxDepth | number | Maximum depth in km | - |
alertLevel | string | PAGER alert: green, yellow, orange, red | Any |
maxResults | integer | Maximum earthquakes (1-20000) | 500 |
Input example
{"startTime": "2026-01-01","endTime": "2026-03-01","minMagnitude": 5.0,"maxResults": 100}
Output example
Each earthquake is returned as a JSON object:
{"id": "us7000q1k2","title": "M 7.1 - 55 km NNW of Kota Belud, Malaysia","magnitude": 7.1,"magnitudeType": "mww","place": "55 km NNW of Kota Belud, Malaysia","time": "2026-02-22T10:30:45.000Z","latitude": 6.83,"longitude": 116.26,"depth": 619.8,"tsunami": true,"alert": "green","significance": 776,"felt": 42,"cdi": 5.2,"mmi": 3.8,"status": "reviewed","type": "earthquake","url": "https://earthquake.usgs.gov/earthquakes/eventpage/us7000q1k2","detailUrl": "https://earthquake.usgs.gov/fdsnws/event/1/query?eventid=us7000q1k2&format=geojson","scrapedAt": "2026-03-03T04:54:44.000Z"}
Output fields
| Field | Type | Description |
|---|---|---|
id | string | USGS event identifier |
title | string | Event summary (magnitude + location) |
magnitude | number | Earthquake magnitude |
magnitudeType | string | Magnitude type (mww, mb, ml, etc.) |
place | string | Location description |
time | string | Event time (ISO 8601) |
latitude | number | Epicenter latitude |
longitude | number | Epicenter longitude |
depth | number | Depth in kilometers |
tsunami | boolean | Whether a tsunami warning was issued |
alert | string | PAGER alert level (green/yellow/orange/red) |
significance | number | Significance score (0-1000+) |
felt | number | Number of felt reports |
cdi | number | Community Determined Intensity |
mmi | number | Modified Mercalli Intensity |
status | string | Review status (automatic/reviewed) |
type | string | Event type (earthquake, quarry blast, etc.) |
url | string | USGS event page URL |
scrapedAt | string | ISO timestamp of extraction |
How to use the USGS Earthquake API
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("automation-lab/usgs-earthquake-scraper").call(run_input={"startTime": "2026-01-01","minMagnitude": 5.0,"maxResults": 50,})for eq in client.dataset(run["defaultDatasetId"]).iterate_items():tsunami = " TSUNAMI" if eq["tsunami"] else ""print(f"M{eq['magnitude']:.1f} {eq['place']}{tsunami}")print(f" {eq['time'][:10]} depth={eq['depth']:.1f}km ({eq['latitude']:.2f}, {eq['longitude']:.2f})")
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/usgs-earthquake-scraper').call({startTime: '2026-01-01',minMagnitude: 5.0,maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(eq => {console.log(`M${eq.magnitude} ${eq.place} (${eq.depth}km deep)`);});
Integrations
Connect USGS Earthquake Scraper to apps:
- Google Sheets — export earthquake data for analysis
- Slack / Microsoft Teams — earthquake alerts for significant events
- Zapier / Make — trigger workflows on new earthquake data
- Webhook — pipe data to your own monitoring system
Tips and best practices
- Use date ranges — always specify
startTimeto avoid pulling the entire earthquake catalog. - Magnitude filtering — M4+ captures moderate earthquakes; M5+ for significant ones; M6+ for major events.
- Tsunami flag — the
tsunamifield indicates whether a tsunami advisory was issued, not whether one occurred. - Alert levels — PAGER alerts (green/yellow/orange/red) indicate estimated impact severity.
- Significance score — combines magnitude, felt reports, and impact. Higher = more significant event.
- Depth matters — shallow earthquakes (< 70km) tend to cause more surface damage than deep ones.
- Schedule for monitoring — set up daily/hourly runs to track seismic activity over time.
FAQ
Q: How current is the data? A: USGS publishes earthquake data within minutes of detection. Most events appear in the API within 5-10 minutes.
Q: Does it cover the whole world? A: Yes. USGS monitors earthquakes globally, though coverage is most detailed in the United States.
Q: What does the significance score mean? A: It combines magnitude, felt reports, estimated impact, and other factors into a 0-1000+ score. A score above 600 indicates a significant event.
Q: Does it need an API key? A: No. The USGS Earthquake API is completely free and open.