Skip to content
Eden Engine

Canada Earthquake Search

earthquakescanada/earthquake-search

Searches the Earthquakes Canada catalogue (Natural Resources Canada) for events from a start date, newest first by default, and returns each event's id, origin time (UTC), latitude, longitude, depth in kilometres, magnitude type, magnitude and location name (English then French, separated by a slash). The catalogue includes industry-related events and blasts as well as earthquakes, named in the location. Optional filters: end date, magnitude range, a latitude and longitude box, and order (time, time-asc, magnitude, magnitude-asc). Returns up to `limit` events (1 to 100, default 10). A query that matches nothing returns count 0 and an empty events list. Data runs some days behind the present.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

Natural Resources Canada

Contains information licensed under the Open Government Licence - Canada. Earthquake data from Earthquakes Canada, Natural Resources Canada (https://www.earthquakescanada.nrcan.gc.ca/), passed through unmodified apart from the reshaping of its text listing into JSON. Served by Eden Engine; not an official Natural Resources Canada product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "earthquakescanada/earthquake-search" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "earthquakescanada/earthquake-search" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "earthquakescanada/earthquake-search", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "earthquakescanada/earthquake-search", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "start_date"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum events to return, 1 to 100. Defaults to 10."
    },
    "order": {
      "enum": [
        "time",
        "time-asc",
        "magnitude",
        "magnitude-asc"
      ],
      "type": "string",
      "default": "time",
      "description": "Order of the events: time (newest first, the default), time-asc, magnitude (largest first) or magnitude-asc."
    },
    "end_date": {
      "type": "string",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
      "description": "Last day to include, UTC, in the form 2026-10-31. Omit for no upper bound."
    },
    "start_date": {
      "type": "string",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
      "description": "First day to include, UTC, in the form 2026-10-01."
    },
    "max_latitude": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "North edge of a box, decimal degrees."
    },
    "min_latitude": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "South edge of a box, decimal degrees."
    },
    "max_longitude": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "East edge of a box, decimal degrees."
    },
    "max_magnitude": {
      "type": "number",
      "maximum": 10,
      "minimum": -2,
      "description": "Largest magnitude to include."
    },
    "min_longitude": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "West edge of a box, decimal degrees."
    },
    "min_magnitude": {
      "type": "number",
      "maximum": 10,
      "minimum": -2,
      "description": "Smallest magnitude to include."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "count",
    "events"
  ],
  "properties": {
    "count": {
      "type": "integer",
      "description": "Number of events returned."
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "event_id",
          "time"
        ],
        "properties": {
          "time": {
            "type": "string",
            "description": "Origin time, ISO 8601 UTC."
          },
          "depth_km": {
            "type": [
              "number",
              "null"
            ],
            "description": "Depth in kilometres."
          },
          "event_id": {
            "type": "string",
            "description": "Earthquakes Canada event id, for example ca2026umtw."
          },
          "latitude": {
            "type": [
              "number",
              "null"
            ],
            "description": "Epicentre latitude, decimal degrees."
          },
          "location": {
            "type": "string",
            "description": "Event type and nearest place, English then a slash then French, as the service writes it."
          },
          "longitude": {
            "type": [
              "number",
              "null"
            ],
            "description": "Epicentre longitude, decimal degrees."
          },
          "magnitude": {
            "type": [
              "number",
              "null"
            ],
            "description": "Magnitude."
          },
          "magnitude_type": {
            "type": "string",
            "description": "Magnitude scale, for example ML, MLy, Mw, MwN."
          }
        },
        "additionalProperties": false
      }
    },
    "truncated": {
      "type": "boolean",
      "description": "True when the listing was cut at 500 events."
    }
  },
  "description": "The events matched, converted from the service's text listing. An empty list means nothing matched.",
  "additionalProperties": false
}