USGS Earthquake Scraper
Pricing
from $2.00 / 1,000 results
USGS Earthquake Scraper
Extract structured earthquake event data from the USGS Earthquake Hazards Program, the authoritative source for seismic activity worldwide.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Professional Edge
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
USGS Earthquake Data Scraper
Extract structured earthquake event data from the USGS Earthquake Hazards Program, the authoritative source for seismic activity worldwide. This Actor wraps the official USGS FDSN Event Web Service API to deliver clean, structured records of earthquake events including magnitude, precise geographic coordinates, depth, tsunami warnings, PAGER alert levels, community intensity reports, and significance scores.
The USGS Earthquake Hazards Program records and catalogs thousands of seismic events daily across the globe. This scraper transforms raw GeoJSON data from the USGS API into flat, analysis-ready records that can be exported to JSON, CSV, Excel, or fed directly into data pipelines and dashboards. Whether you are building a real-time earthquake monitoring dashboard, conducting seismic risk analysis for insurance or real estate, or feeding data into an LLM-powered research agent, this Actor provides the structured foundation you need.
Key Features
- Date range filtering — Query any historical period from the USGS catalog (data available from 1900s to present)
- Magnitude filtering — Set minimum and/or maximum magnitude thresholds to focus on significant events
- Geographic radius search — Search within a specific radius (in km) around any latitude/longitude point
- PAGER alert level filtering — Filter by USGS PAGER alert level (green, yellow, orange, red) to find high-impact events
- Comprehensive data fields — 25+ fields per event including magnitude, location, depth, tsunami flag, community intensity, and more
- Automatic pagination — Handles the 20,000-record API limit transparently
- Rate limit handling — Built-in retry logic with exponential backoff
- Clean output — Epoch timestamps converted to ISO 8601, coordinates extracted from nested GeoJSON, flat record structure
Output Data Fields
| Field | Type | Description |
|---|---|---|
| eventId | string | Unique USGS event identifier |
| title | string | Human-readable event title (e.g., "M 5.2 - 10km NE of San Jose, CA") |
| magnitude | number | Event magnitude |
| magnitudeType | string | Magnitude calculation method (ml, mb, mw, etc.) |
| place | string | Descriptive location string |
| longitude | number | Event longitude (degrees) |
| latitude | number | Event latitude (degrees) |
| depth | number | Event depth in kilometers |
| time | string | Event time in ISO 8601 UTC format |
| updated | string | Last update time in ISO 8601 UTC format |
| timezoneOffset | number | Timezone offset in minutes from UTC |
| feltReports | number | Number of "Did You Feel It?" reports submitted |
| communityIntensity | number | Maximum reported Community Decimal Intensity (CDI) |
| instrumentalIntensity | number | Maximum estimated Modified Mercalli Intensity (MMI) |
| alertLevel | string | PAGER alert level: green, yellow, orange, or red |
| tsunami | boolean | Whether a tsunami warning was issued |
| significance | number | Significance score (0-1000), combining magnitude, felt reports, and impact |
| eventType | string | Event type (earthquake, quarry blast, explosion, etc.) |
| status | string | Review status (automatic or reviewed) |
| network | string | Contributing seismic network code |
| eventCode | string | Event code within the network |
| stationCount | number | Number of seismic stations that reported the event |
| minStationDistance | number | Minimum distance (degrees) to the nearest station |
| rmsResidual | number | Root-mean-square travel time residual (seconds) |
| azimuthalGap | number | Largest azimuthal gap between stations (degrees) |
| usgsUrl | string | Link to the USGS event detail page |
| detailApiUrl | string | USGS detail API endpoint for this event |
How to Scrape USGS Earthquake Data
- Navigate to the Actor in the Apify Store or Apify Console
- Set the start date — Enter the beginning of your date range in YYYY-MM-DD format (e.g.,
2024-01-01) - Set the end date — Enter the end of your date range (e.g.,
2024-12-31) - Set magnitude filters (optional) — Enter a minimum magnitude like
4.0to filter out minor tremors, or set both min and max for a specific range - Set geographic filter (optional) — Enter a center latitude, longitude, and search radius in km to focus on a specific region
- Set alert level (optional) — Choose a PAGER alert level to find only high-impact events
- Set max results — Control the output size (default: 100, max: 20,000)
- Click Start and wait for the run to complete
- Download results in JSON, CSV, Excel, or access via the Apify API
Example: Find All M5+ Earthquakes in Q1 2024
{"startDate": "2024-01-01","endDate": "2024-03-31","minMagnitude": 5.0,"maxResults": 1000}
Example: Earthquakes Near Los Angeles (100km radius)
{"startDate": "2024-01-01","endDate": "2024-12-31","minMagnitude": 3.0,"latitude": 34.0522,"longitude": -118.2437,"maxRadiusKm": 100,"maxResults": 500}
Example: Red/Orange Alert Events Only
{"startDate": "2020-01-01","endDate": "2024-12-31","alertLevel": "red","maxResults": 100}
Sample Output
{"eventId": "us7000m5n1","title": "M 7.0 - 18 km W of Hachinohe, Japan","magnitude": 7.0,"magnitudeType": "mww","place": "18 km W of Hachinohe, Japan","longitude": 141.268,"latitude": 40.521,"depth": 35.0,"time": "2024-01-01T07:10:09.000Z","updated": "2024-01-15T12:30:00.000Z","timezoneOffset": 540,"feltReports": 342,"communityIntensity": 6.2,"instrumentalIntensity": 6.8,"alertLevel": "yellow","tsunami": true,"significance": 800,"eventType": "earthquake","status": "reviewed","network": "us","eventCode": "7000m5n1","stationCount": 182,"minStationDistance": 0.5,"rmsResidual": 0.89,"azimuthalGap": 22,"usgsUrl": "https://earthquake.usgs.gov/earthquakes/eventpage/us7000m5n1","detailApiUrl": "https://earthquake.usgs.gov/fdsnws/event/1/query?eventid=us7000m5n1&format=geojson"}
Pricing
This Actor uses the USGS public API which is free and requires no authentication. Your costs are:
- Actor start: $0.00005 per run
- Per result: $0.002 per earthquake event record
- Apify platform compute: Billed separately based on usage
A typical run fetching 100 M5+ earthquakes costs approximately $0.20 in result fees plus minimal platform compute.
Use Cases
- Seismic risk assessment — Analyze earthquake frequency and magnitude near properties, infrastructure, or planned construction sites
- Insurance underwriting — Feed historical earthquake data into risk models for property and casualty insurance
- Academic research — Study seismic patterns, tectonic plate activity, and earthquake clustering
- Emergency management — Monitor high-significance events and tsunami warnings for disaster preparedness
- Real estate analysis — Assess seismic risk for investment properties or development sites
- Data journalism — Build interactive earthquake maps and trend analysis for news stories
- LLM/RAG pipelines — Provide structured earthquake data to AI agents for natural language analysis
Integrations
Connect USGS Earthquake Data Scraper with your existing tools:
- Google Sheets — Auto-export earthquake data to spreadsheets for analysis
- Slack/Email — Set up alerts when high-magnitude events are detected
- Webhooks — Trigger downstream processing when new data is available
- API — Access results programmatically via the Apify API
FAQ
Q: How far back does the USGS data go? A: The USGS catalog contains events from the early 1900s to present, though data completeness varies by region and era. Modern instrumented data (post-1970s) is the most comprehensive.
Q: What is the maximum number of results per run? A: The USGS API returns up to 20,000 events per request. This Actor handles pagination automatically, so you can retrieve up to 20,000 events per run.
Q: What does the significance score mean? A: Significance is a 0-1000 score combining magnitude, felt reports, and estimated impact. Higher values indicate more notable events. A score above 600 generally indicates a widely-felt, potentially damaging earthquake.
Q: What do the PAGER alert levels mean? A: Green = limited damage expected, Yellow = moderate damage/casualties possible, Orange = significant damage/casualties likely, Red = extensive damage and high fatalities expected.
Q: Does this Actor scrape the USGS website? A: No. This Actor uses the official USGS FDSN Event Web Service REST API, which is a public data service provided by the US government for programmatic access to earthquake data.
Q: Are there rate limits? A: The USGS API does not document rate limits, but this Actor includes respectful delays between requests and automatic retry logic with exponential backoff if rate limiting is encountered.
Legal Disclaimer
This Actor accesses publicly available data from the USGS Earthquake Hazards Program via their official public API. The USGS data is produced by a US government agency and is in the public domain. This Actor does not bypass any authentication, access controls, or terms of service. Users are responsible for ensuring their use of the data complies with applicable laws and regulations. For questions about USGS data usage, see the USGS Data Policy.
For support, bug reports, or feature requests, please open an issue on the Actor's page in the Apify Store.