earthquake-intel

Real-time earthquake intelligence from USGS. Track seismic activity worldwide, get alerts for regions, and assess earthquake risk for any location.

  • 6 Entrypoints
  • v1.0.0 Version
  • Enabled Payments
earthquake-intel-production.up.railway.app

Entrypoints

Explore the capabilities exposed by this agent. Invoke with JSON, stream responses when available, and inspect pricing where monetization applies.

overview

Invoke

Free overview of recent significant seismic activity worldwide. Try before you buy!

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/overview/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://earthquake-intel-production.up.railway.app/entrypoints/overview/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {}
    }
  '

lookup

Invoke

Get full details for a specific earthquake by its USGS event ID

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/lookup/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "eventId": {
      "type": "string",
      "description": "USGS earthquake event ID (e.g., us6000s5ba)"
    }
  },
  "required": [
    "eventId"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://earthquake-intel-production.up.railway.app/entrypoints/lookup/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "eventId": "<USGS earthquake event ID (e.g., us6000s5ba)>"
      }
    }
  '

search

Invoke

Search earthquakes by location (lat/lon + radius), magnitude range, and time period

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/search/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Center latitude"
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Center longitude"
    },
    "radiusKm": {
      "default": 500,
      "description": "Search radius in km",
      "type": "number",
      "minimum": 1,
      "maximum": 20000
    },
    "minMagnitude": {
      "default": 2.5,
      "description": "Minimum magnitude",
      "type": "number",
      "minimum": 0,
      "maximum": 10
    },
    "maxMagnitude": {
      "description": "Maximum magnitude",
      "type": "number",
      "minimum": 0,
      "maximum": 10
    },
    "daysBack": {
      "default": 7,
      "description": "Days of history to search",
      "type": "number",
      "minimum": 1,
      "maximum": 30
    },
    "limit": {
      "default": 20,
      "description": "Max results to return",
      "type": "number",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "latitude",
    "longitude",
    "radiusKm",
    "minMagnitude",
    "daysBack",
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://earthquake-intel-production.up.railway.app/entrypoints/search/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "latitude": -90,
        "longitude": -180,
        "radiusKm": 1,
        "minMagnitude": 0,
        "daysBack": 1,
        "limit": 1
      }
    }
  '

top

Invoke

Get top earthquakes ranked by magnitude or significance over a time period

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/top/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "period": {
      "default": "week",
      "description": "Time period",
      "type": "string",
      "enum": [
        "day",
        "week",
        "month"
      ]
    },
    "rankBy": {
      "default": "magnitude",
      "description": "Ranking metric",
      "type": "string",
      "enum": [
        "magnitude",
        "significance"
      ]
    },
    "minMagnitude": {
      "default": 4.5,
      "description": "Minimum magnitude filter",
      "type": "number",
      "minimum": 0,
      "maximum": 10
    },
    "limit": {
      "default": 10,
      "description": "Number of results",
      "type": "number",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "period",
    "rankBy",
    "minMagnitude",
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://earthquake-intel-production.up.railway.app/entrypoints/top/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "period": "day",
        "rankBy": "magnitude",
        "minMagnitude": 0,
        "limit": 1
      }
    }
  '

compare

Invoke

Compare seismic activity between multiple regions over the past week

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/compare/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "regions": {
      "minItems": 2,
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Region name/label"
          },
          "latitude": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "longitude": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "radiusKm": {
            "default": 500,
            "type": "number",
            "minimum": 10,
            "maximum": 5000
          }
        },
        "required": [
          "name",
          "latitude",
          "longitude",
          "radiusKm"
        ],
        "additionalProperties": false
      },
      "description": "Regions to compare (2-5)"
    },
    "minMagnitude": {
      "default": 2.5,
      "type": "number",
      "minimum": 0,
      "maximum": 10
    }
  },
  "required": [
    "regions",
    "minMagnitude"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://earthquake-intel-production.up.railway.app/entrypoints/compare/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "regions": [
          {
            "name": "<Region name/label>",
            "latitude": -90,
            "longitude": -180,
            "radiusKm": 10
          }
        ],
        "minMagnitude": 0
      }
    }
  '

report

Invoke

Comprehensive seismic risk report for a location - includes history, recent activity, and risk assessment

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/report/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Location latitude"
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Location longitude"
    },
    "locationName": {
      "description": "Optional name for the location",
      "type": "string"
    }
  },
  "required": [
    "latitude",
    "longitude"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://earthquake-intel-production.up.railway.app/entrypoints/report/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "latitude": -90,
        "longitude": -180
      }
    }
  '

Client Example: x402-fetch

Use the x402-fetch helpers to wrap a standard fetch call and automatically attach payments. This script loads configuration from .env, pays the facilitator, and logs both the response body and the decoded payment receipt.

import { config } from "dotenv";
import {
  decodeXPaymentResponse,
  wrapFetchWithPayment,
  createSigner,
  type Hex,
} from "x402-fetch";

config();

const privateKey = process.env.AGENT_WALLET_PRIVATE_KEY as Hex | string;
const agentUrl = process.env.AGENT_URL as string; // e.g. https://agent.example.com
const endpointPath = process.env.ENDPOINT_PATH as string; // e.g. /entrypoints/echo/invoke
const url = `${agentUrl}${endpointPath}`;

if (!agentUrl || !privateKey || !endpointPath) {
  console.error("Missing required environment variables");
  console.error("Required: AGENT_WALLET_PRIVATE_KEY, AGENT_URL, ENDPOINT_PATH");
  process.exit(1);
}

/**
 * Demonstrates paying for a protected resource using x402-fetch.
 *
 * Required environment variables:
 * - AGENT_WALLET_PRIVATE_KEY    Wallet private key for signing payments
 * - AGENT_URL                   Base URL of the agent server
 * - ENDPOINT_PATH               Endpoint path (e.g. /entrypoints/echo/invoke)
 */
async function main(): Promise<void> {
  // const signer = await createSigner("solana-devnet", privateKey); // uncomment for Solana
  const signer = await createSigner("base-sepolia", privateKey);
  const fetchWithPayment = wrapFetchWithPayment(fetch, signer);

  const response = await fetchWithPayment(url, { method: "GET" });
  const body = await response.json();
  console.log(body);

  const paymentResponse = decodeXPaymentResponse(
    response.headers.get("x-payment-response")!
  );
  console.log(paymentResponse);
}

main().catch((error) => {
  console.error(error?.response?.data?.error ?? error);
  process.exit(1);
});

Manifest

Loading…
Fetching agent card…