9.9 KiB
title, task, lineage_type, upstream_source, upstream_sha, imported_at, prompt_class, upstream_changes, author, validated
| title | task | lineage_type | upstream_source | upstream_sha | imported_at | prompt_class | upstream_changes | author | validated |
|---|---|---|---|---|---|---|---|---|---|
| USGS API Reference (Earthquake Hazards + Water Services) | import | https://github.com/K-Dense-AI/scientific-agent-skills/blob/9c9bd2e9/skills/database-lookup/references/usgs.md | 9c9bd2e9 | 2026-06-26 | prompt | accepted | upstream | false |
USGS API Reference (Earthquake Hazards + Water Services)
Part A: Earthquake Hazards Program
Base URL
https://earthquake.usgs.gov/fdsnws/event/1
Authentication
None required. Fully public, no API key needed.
Rate Limits
- No documented per-user rate limit, but USGS asks users to limit automated queries to avoid overloading the service.
- Requests returning very large result sets (>20,000 events) will be rejected. Use pagination or narrow your query.
Key Endpoints
1. Query Earthquakes
GET /query
Returns earthquake events matching search criteria. This is the primary endpoint.
Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
format |
string | No | quakeml |
geojson, csv, quakeml, text, kml. Use geojson for JSON. |
starttime |
string | No | (now - 30d) | ISO8601 date, e.g. 2024-01-01. |
endtime |
string | No | (now) | ISO8601 date. |
minmagnitude |
float | No | - | Minimum magnitude (e.g. 4.5). |
maxmagnitude |
float | No | - | Maximum magnitude. |
mindepth |
float | No | - | Minimum depth in km. |
maxdepth |
float | No | - | Maximum depth in km. |
latitude |
float | No | - | Center latitude for circle search (-90 to 90). |
longitude |
float | No | - | Center longitude for circle search (-180 to 180). |
maxradiuskm |
float | No | - | Max radius in km (with lat/lon). |
minlatitude |
float | No | - | Bounding box south edge. |
maxlatitude |
float | No | - | Bounding box north edge. |
minlongitude |
float | No | - | Bounding box west edge. |
maxlongitude |
float | No | - | Bounding box east edge. |
limit |
int | No | - | Max events returned (max 20000). |
offset |
int | No | 1 | Pagination offset (1-based). |
orderby |
string | No | time |
time, time-asc, magnitude, magnitude-asc. |
alertlevel |
string | No | - | PAGER alert: green, yellow, orange, red. |
eventtype |
string | No | - | e.g. earthquake, quarry blast. |
Example -- significant earthquakes in a region:
https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2024-01-01&endtime=2024-12-31&minmagnitude=5.0&minlatitude=30&maxlatitude=45&minlongitude=-125&maxlongitude=-110&orderby=magnitude
GeoJSON Response:
{
"type": "FeatureCollection",
"metadata": {
"generated": 1700000000000,
"url": "https://earthquake.usgs.gov/fdsnws/event/1/query?...",
"title": "USGS Earthquakes",
"status": 200,
"api": "1.14.1",
"count": 42
},
"features": [
{
"type": "Feature",
"properties": {
"mag": 6.2,
"place": "15 km NNE of Ridgecrest, CA",
"time": 1700000000000,
"updated": 1700100000000,
"tz": null,
"url": "https://earthquake.usgs.gov/earthquakes/eventpage/ci00000001",
"detail": "https://earthquake.usgs.gov/fdsnws/event/1/query?eventid=ci00000001&format=geojson",
"felt": 1500,
"cdi": 7.1,
"mmi": 6.5,
"alert": "yellow",
"status": "reviewed",
"tsunami": 0,
"sig": 800,
"net": "ci",
"code": "00000001",
"type": "earthquake",
"title": "M 6.2 - 15 km NNE of Ridgecrest, CA"
},
"geometry": {
"type": "Point",
"coordinates": [-117.5, 35.8, 10.5]
},
"id": "ci00000001"
}
]
}
Note: geometry.coordinates is [longitude, latitude, depth_km].
2. Event Detail
GET /query?eventid={EVENTID}&format=geojson
Returns detailed info for a single event, including moment tensor, focal mechanism, and nearby cities.
3. Event Count
GET /count
Same parameters as /query, returns just the count of matching events. Useful for checking result size before querying.
Example:
https://earthquake.usgs.gov/fdsnws/event/1/count?starttime=2024-01-01&endtime=2024-12-31&minmagnitude=4.5
4. Real-Time Feeds (no parameters)
Pre-built GeoJSON feeds updated every minute/5 min/15 min/hour:
https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/significant_month.geojson
https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/4.5_week.geojson
https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojson
https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson
Pattern: {significance}_{timeperiod}.geojson where significance is significant, 4.5, 2.5, 1.0, all and timeperiod is hour, day, week, month.
Part B: Water Services
Base URL
https://waterservices.usgs.gov/nwis
Authentication
None required. Fully public, no API key needed.
Rate Limits
- No strict per-user limit, but USGS recommends limiting automated requests. Large queries may time out.
Key Endpoints
1. Instantaneous Values (Real-Time Data)
GET /iv/
Returns the most recent sensor readings (typically 15-minute intervals).
Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
format |
string | No | wml |
json, xml, wml,1.1, wml,2.0, rdb. Use json for JSON. |
sites |
string | Cond. | - | Comma-separated USGS site numbers (e.g. 01646500). |
stateCd |
string | Cond. | - | 2-letter state code (e.g. NY). |
huc |
string | Cond. | - | Hydrologic Unit Code(s). |
bBox |
string | Cond. | - | Bounding box: west,south,east,north (decimal degrees). |
countyCd |
string | Cond. | - | 5-digit FIPS county code(s). |
parameterCd |
string | No | 00060 |
Parameter code(s). 00060=streamflow, 00065=gage height, 00010=water temp. |
period |
string | No | - | ISO8601 duration, e.g. P7D (past 7 days). |
startDT |
string | No | - | Start datetime (ISO8601). |
endDT |
string | No | - | End datetime (ISO8601). |
siteType |
string | No | - | e.g. ST (stream), GW (groundwater), LK (lake). |
siteStatus |
string | No | all |
active, inactive, all. |
At least one location parameter (sites, stateCd, huc, bBox, or countyCd) is required.
Example -- real-time streamflow for a site:
https://waterservices.usgs.gov/nwis/iv/?format=json&sites=01646500¶meterCd=00060&period=P1D
JSON Response (abbreviated):
{
"name": "ns1:timeSeriesResponseType",
"declaredType": "org.cuahsi.waterml.TimeSeriesResponseType",
"value": {
"timeSeries": [
{
"sourceInfo": {
"siteName": "Potomac River near Wash, DC Little Falls Pump Sta",
"siteCode": [{"value": "01646500", "agencyCode": "USGS"}],
"geoLocation": {
"geogLocation": {"latitude": 38.94977778, "longitude": -77.12763889}
}
},
"variable": {
"variableCode": [{"value": "00060"}],
"variableName": "Streamflow, ft³/s",
"unit": {"unitCode": "ft3/s"}
},
"values": [
{
"value": [
{"value": "5280", "dateTime": "2024-01-15T00:00:00.000-05:00"},
{"value": "5310", "dateTime": "2024-01-15T00:15:00.000-05:00"}
]
}
]
}
]
}
}
2. Daily Values (Historical Aggregates)
GET /dv/
Returns daily statistical values (mean, max, min). Same location parameters as /iv/.
Additional Parameters:
| Parameter | Type | Description |
|---|---|---|
statCd |
string | Statistic code: 00001=max, 00002=min, 00003=mean, 00006=sum. Default 00003. |
Example -- daily mean streamflow, 1 year:
https://waterservices.usgs.gov/nwis/dv/?format=json&sites=01646500¶meterCd=00060&statCd=00003&startDT=2023-01-01&endDT=2023-12-31
3. Site Information
GET /site/
Returns metadata about monitoring sites. Same location parameters apply.
Example -- active stream sites in Virginia:
https://waterservices.usgs.gov/nwis/site/?format=rdb&stateCd=VA&siteType=ST&siteStatus=active&hasDataTypeCd=iv
4. Statistics (Pre-computed)
GET /stat/
Returns pre-computed statistics (percentiles, mean, median) for daily values, useful for comparing current conditions to historical norms.
Example:
https://waterservices.usgs.gov/nwis/stat/?format=rdb&sites=01646500¶meterCd=00060&statReportType=daily&statTypeCd=mean,p05,p25,p50,p75,p95
Common Parameter Codes
| Code | Description |
|---|---|
00060 |
Discharge/streamflow (ft3/s) |
00065 |
Gage height (ft) |
00010 |
Water temperature (C) |
00045 |
Precipitation (in) |
00400 |
pH |
00300 |
Dissolved oxygen (mg/L) |
00095 |
Specific conductance (uS/cm) |
72019 |
Groundwater level depth below land surface (ft) |
Notes
- Earthquake API returns coordinates as
[lon, lat, depth](note: longitude first). - Water Services JSON wraps data in a verbose WaterML-like structure. The
rdb(tab-delimited) format is simpler for tabular data. - USGS site numbers are typically 8 digits for surface water, 15 for groundwater.
- Both APIs are free, public, and require no authentication.