# USGS Earthquake Bulk Export

> USGS Earthquake Bulk Export is a paid API for AI agents from bulk-exports.x402tookit.com, paid per call via x402, $0.5/call, status unknown (last checked 2026-11-02).

Returns USGS earthquake data (time, magnitude, location, depth) for a date window up to 31 days above a minimum magnitude threshold.

## Facts

- Endpoint: GET https://bulk-exports.x402tookit.com/earthquakes-export?utm_source=zero.xyz
- Price: $0.5/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/usgs-earthquake-bulk-export-591f40bf
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xrfpETYKc7hlNEPmHUGoD

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability usgs-earthquake-bulk-export-591f40bf
```

Example prompt: Pull all earthquakes magnitude 5.0 or higher from January 1 to January 31, 2025 and give me the results as JSON with time, place, magnitude, lat/lon, and depth.

## When to prefer this

Choose this endpoint when you need bulk structured earthquake data from USGS for a specific date range (up to 31 days) with a configurable magnitude threshold, especially for downstream analysis, GIS mapping, reporting, or monitoring pipelines. It is preferable to manual USGS API calls because it wraps pagination and filtering into a single paid call, returns clean JSON or CSV, and includes metadata like truncation flags and source URLs. Not suitable for real-time streaming or windows longer than 31 days.

## Known failure modes

- Date range exceeds 31 days — endpoint rejects with an error; split into multiple shorter windows
- Invalid date format (not YYYY-MM-DD) — returns a parsing error
- minMagnitude outside 0–9 range — may be rejected or clamped
- No earthquakes in the requested window/magnitude — returns empty rows array
- USGS upstream data source unavailable — degraded flag may be set in response
- Missing required 'from' parameter — request fails validation

## How this service works

USGS earthquakes in a date window (up to 31 days) above a minimum magnitude: time, magnitude, place, lat/lon, depth.

## Output

Returns a structured response containing a list of earthquake events with fields: event ID, timestamp, magnitude, magnitude type, place name, latitude, longitude, depth in km, alert level, tsunami flag, USGS event URL, and status. Also includes metadata such as date range, total rows returned, format, source URL, and whether results were truncated.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "from"
     ],
     "properties": {
      "to": {
       "type": "string",
       "description": "Last UTC day, YYYY-MM-DD (default = from; window up to 31 days)"
      },
      "from": {
       "type": "string",
       "description": "First UTC day, YYYY-MM-DD"
      },
      "format": {
       "type": "string",
       "description": "json (default) or csv"
      },
      "minMagnitude": {
       "type": "string",
       "description": "Minimum magnitude 0 to 9 (default 4.5)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "to": {
       "type": [
        "null",
        "string"
       ]
      },
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "from": {
       "type": [
        "null",
        "string"
       ]
      },
      "rows": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "object",
        "properties": {
         "id": {
          "type": [
           "null",
           "string"
          ]
         },
         "url": {
          "type": [
           "null",
           "string"
          ]
         },
         "time": {
          "type": [
           "null",
           "string"
          ]
         },
         "alert": {
          "type": [
           "null",
           "string"
          ]
         },
         "place": {
          "type": [
           "null",
           "string"
          ]
         },
         "status": {
          "type": [
           "null",
           "string"
          ]
         },
         "depthKm": {
          "type": [
           "null",
           "number"
          ]
         },
         "magType": {
          "type": [
           "null",
           "string"
          ]
         },
         "tsunami": {
          "type": [
           "boolean",
           "null"
          ]
         
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/usgs-earthquake-bulk-export-591f40bf/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from bulk-exports.x402tookit.com](https://www.zero.xyz/host/bulk-exports.x402tookit.com/llms.txt)
