Skip to main content
The Earthquakes API provides comprehensive access to seismic event data sourced from the Italian National Institute of Geophysics and Volcanology (INGV). Query earthquakes by time, location, magnitude, depth, and specific event IDs.

Base URL

https://api.terraquakeapi.com/v1/earthquakes

Authentication

All endpoints are publicly accessible and do not require authentication.

Available Endpoints

Recent Events

Earthquakes from start of current year to today

Today's Events

All earthquakes that occurred today (UTC)

Last Week

Seismic events from the last 7 days

By Month

Query earthquakes for a specific month and year

By Date Range

Custom date range with optional filters

By Location

Events near specific coordinates

By Region

Filter by Italian administrative region

By Depth

Filter by earthquake depth threshold

By Magnitude

Filter by minimum magnitude

By Event ID

Retrieve specific earthquake by unique ID

Common Parameters

Most endpoints support the following query parameters:
page
integer
default:"1"
Page number for pagination (must be positive integer)
limit
integer
default:"50"
Number of results per page (must be positive integer, typically max 1000)
sort
string
default:"-time"
Sort order. Available fields: time, magnitude, depth. Prefix with - for descending order.
fields
string
Comma-separated list of fields to include. Available: time, magnitude, depth, place, coordinates

GeoJSON Response Format

All earthquake data is returned in GeoJSON Feature Collection format:
{
  "success": true,
  "code": 200,
  "status": "OK",
  "message": "Earthquakes recent events",
  "payload": [
    {
      "type": "Feature",
      "properties": {
        "eventId": 44604942,
        "originId": 141077201,
        "time": "2025-11-05T23:31:48.030000",
        "author": "SURVEY-INGV-CT#KATALOC",
        "magType": "ML",
        "mag": 2.1,
        "magAuthor": "--",
        "type": "earthquake",
        "place": "13 km SE Maletto (CT)",
        "version": 100,
        "geojson_creationTime": "2025-11-06T00:40:00"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [14.97, 37.751, 5.5]
      }
    }
  ],
  "meta": {
    "method": "GET",
    "path": "/v1/earthquakes/recent?limit=50&page=1",
    "timestamp": "2025-11-06T00:40:01.490Z"
  },
  "totalEarthquakes": 14157,
  "pagination": {
    "page": 1,
    "totalPages": 284,
    "limit": 50,
    "hasMore": true
  }
}

Response Fields

success
boolean
Indicates if the request was successful
code
integer
HTTP status code (200, 400, 404, 500, etc.)
status
string
HTTP status message
message
string
Human-readable description of the response
payload
array
Array of GeoJSON Feature objects containing earthquake data
meta
object
Request metadata including method, path, and timestamp
totalEarthquakes
integer
Total number of earthquakes matching the query
pagination
object
Pagination information including current page, total pages, limit, and hasMore flag

Quick Start

curl "https://api.terraquakeapi.com/v1/earthquakes/recent?limit=10"

Error Handling

All endpoints return errors in a consistent format:
{
  "success": false,
  "code": 400,
  "status": "Bad Request",
  "message": "The limit parameter must be a positive integer greater than 0. Example: ?limit=50"
}
Common HTTP status codes:
  • 200 - Success
  • 400 - Bad Request (invalid parameters)
  • 404 - Not Found (event not found)
  • 500 - Internal Server Error

Data Source

All seismic data is sourced in real-time from the Italian National Institute of Geophysics and Volcanology (INGV).

Build docs developers (and LLMs) love