Usgs Earthquake Scraper avatar

Usgs Earthquake Scraper

Pricing

Pay per event

Go to Apify Store
Usgs Earthquake Scraper

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

Stas Persiianenko

Maintained by Community

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:

EventPrice
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

ParameterTypeDescriptionDefault
startTimestringStart date (YYYY-MM-DD)Required
endTimestringEnd date (YYYY-MM-DD)Today
minMagnitudenumberMinimum magnitude (0-10)4.0
maxMagnitudenumberMaximum magnitude (0-10)-
minDepthnumberMinimum depth in km-
maxDepthnumberMaximum depth in km-
alertLevelstringPAGER alert: green, yellow, orange, redAny
maxResultsintegerMaximum 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

FieldTypeDescription
idstringUSGS event identifier
titlestringEvent summary (magnitude + location)
magnitudenumberEarthquake magnitude
magnitudeTypestringMagnitude type (mww, mb, ml, etc.)
placestringLocation description
timestringEvent time (ISO 8601)
latitudenumberEpicenter latitude
longitudenumberEpicenter longitude
depthnumberDepth in kilometers
tsunamibooleanWhether a tsunami warning was issued
alertstringPAGER alert level (green/yellow/orange/red)
significancenumberSignificance score (0-1000+)
feltnumberNumber of felt reports
cdinumberCommunity Determined Intensity
mminumberModified Mercalli Intensity
statusstringReview status (automatic/reviewed)
typestringEvent type (earthquake, quarry blast, etc.)
urlstringUSGS event page URL
scrapedAtstringISO timestamp of extraction

How to use the USGS Earthquake API

Python

from apify_client import ApifyClient
client = 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

  1. Use date ranges — always specify startTime to avoid pulling the entire earthquake catalog.
  2. Magnitude filtering — M4+ captures moderate earthquakes; M5+ for significant ones; M6+ for major events.
  3. Tsunami flag — the tsunami field indicates whether a tsunami advisory was issued, not whether one occurred.
  4. Alert levels — PAGER alerts (green/yellow/orange/red) indicate estimated impact severity.
  5. Significance score — combines magnitude, felt reports, and impact. Higher = more significant event.
  6. Depth matters — shallow earthquakes (< 70km) tend to cause more surface damage than deep ones.
  7. 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.