{
  "openapi": "3.0.1",
  "info": {
    "title": "USGS Earthquakes: Search Quakes by Magnitude, Area and Date",
    "description": "One row per earthquake from the official USGS catalog: time, place, magnitude, depth, coordinates, PAGER alert, tsunami flag, felt reports and the event page. Filter by magnitude, time window, named region, radius, depth, alert level or event type; look events up by USGS id. UTC times.",
    "version": "0.1",
    "x-build-id": "Ne9AnNVi21ypPvpeU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yadroo~usgs-earthquakes/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yadroo-usgs-earthquakes",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/yadroo~usgs-earthquakes/runs": {
      "post": {
        "operationId": "runs-sync-yadroo-usgs-earthquakes",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/yadroo~usgs-earthquakes/run-sync": {
      "post": {
        "operationId": "run-sync-yadroo-usgs-earthquakes",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "sinceHours": {
            "title": "Quakes of the last N hours",
            "minimum": 1,
            "maximum": 8760,
            "type": "integer",
            "description": "Rolling window on the origin time of the earthquake, counted in UTC: 1 is the last hour, 24 a day, 168 a week, 720 roughly a month, 8760 a year. Ignored when `startTime` is set. Small quakes are added to the catalog within minutes and reviewed later, so a one-hour window holds mostly automatic solutions.",
            "default": 168
          },
          "startTime": {
            "title": "Quakes from (YYYY-MM-DD)",
            "type": "string",
            "description": "Earliest origin time, inclusive, UTC. Set it for a fixed historical window instead of the rolling `sinceHours`; a full timestamp such as `2026-10-09T18:00:00` is accepted too. The catalog reaches back to the 19th century for large events, but complete global coverage of moderate quakes starts in the 1970s."
          },
          "endTime": {
            "title": "Quakes until (YYYY-MM-DD)",
            "type": "string",
            "description": "Latest origin time, inclusive, UTC. Empty means now. Used together with `startTime`; on its own it is ignored."
          },
          "eventIds": {
            "title": "USGS event ids",
            "maxItems": 100,
            "type": "array",
            "description": "Look specific events up instead of searching, up to 100 per run: `us6000u18k`, `ci38457511`, `official20110311054624120_30`. The id is the last part of a USGS event page link (`/earthquakes/eventpage/<id>`), which is what a news story or an alert mail usually gives you. When this list is set, every filter below is ignored. An id the catalog does not know gets one row with `found: false` instead of failing the run.",
            "items": {
              "type": "string"
            }
          },
          "minMagnitude": {
            "title": "Minimum magnitude",
            "minimum": -2,
            "maximum": 10,
            "type": "number",
            "description": "Keep quakes at or above this magnitude. Empty means every magnitude, including the thousands of tiny events the dense U.S. networks record every week - with a short `maxItems` that gives you the newest events of any size. Useful steps: 2.5 is what people in the area may notice, 4.5 the global reporting threshold outside the U.S., 6 damaging, 7 major."
          },
          "maxMagnitude": {
            "title": "Maximum magnitude",
            "minimum": -2,
            "maximum": 10,
            "type": "number",
            "description": "Keep quakes at or below this magnitude, combined with `minMagnitude` as a range - for example 2.5 to 4 for events felt locally but harmless."
          },
          "minDepthKm": {
            "title": "Minimum depth (km)",
            "minimum": -100,
            "maximum": 1000,
            "type": "number",
            "description": "Keep quakes whose hypocentre is at least this deep. Depth is measured in kilometres below the surface and can be slightly negative for events located above sea level. Deep events (over 300 km) sit inside subducting plates and are felt far away but rarely damaging."
          },
          "maxDepthKm": {
            "title": "Maximum depth (km)",
            "minimum": -100,
            "maximum": 1000,
            "type": "number",
            "description": "Keep quakes no deeper than this, for example 30 for the shallow crustal events that do the damage. Many small catalog entries carry a fixed default depth (0, 5 or 10 km) because the networks could not resolve it."
          },
          "eventTypes": {
            "title": "Kind of event",
            "maxItems": 20,
            "type": "array",
            "description": "Keep only these kinds of event, combined with OR. Empty means every kind, which is why a mining district can return blasts next to earthquakes. Case, spaces and underscores are ignored and a value the catalog does not use is refused with the closest ones named. Values in use: `earthquake`, `quarry blast`, `mining explosion`, `explosion`, `chemical explosion`, `nuclear explosion`, `collapse`, `mine collapse`, `rock burst`, `landslide`, `rockslide`, `debris avalanche`, `snow avalanche`, `ice quake`, `volcanic eruption`, `volcanic explosion`, `sonic boom`, `acoustic noise`, `meteorite`, `induced or triggered event`, `other event`. Full list in the README reference.",
            "items": {
              "type": "string"
            }
          },
          "reviewStatus": {
            "title": "Reviewed or automatic solutions",
            "enum": [
              "all",
              "reviewed",
              "automatic"
            ],
            "type": "string",
            "description": "A new event is published automatically within minutes and a seismologist revises it later, which can move the epicentre and change the magnitude by a few tenths. `reviewed` gives you the stable record and loses the newest events; `automatic` is the opposite. Every row carries its own `status` whichever you pick.",
            "default": "all"
          },
          "region": {
            "title": "Named region",
            "maxItems": 10,
            "type": "array",
            "description": "Search inside one or more named regions, combined with OR - no coordinates needed. Case, spaces and common spellings are accepted (`California`, `new zealand`, `Turkiye`) and anything else is refused with the closest names listed, so a typo never turns into a silently wider search. Known regions: California, Southern California, Pacific Northwest, Alaska, Hawaii, Yellowstone, Oklahoma, Puerto Rico, Mexico, Central America, Panama, Caribbean, Chile, Peru, Japan, Taiwan, Philippines, Indonesia, Papua New Guinea, New Zealand, China, India, Nepal, Himalaya, Kazakhstan, Central Asia, Kyrgyzstan, Caucasus, Iran, Turkey, Greece, Italy, Mediterranean, Iceland. Each one is a bounding box, listed with its corners in the README reference. For anything else use the box or radius fields below.",
            "items": {
              "type": "string"
            }
          },
          "latitude": {
            "title": "Centre latitude",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Latitude of the point to search around, in decimal degrees, north positive. Use it with `longitude` and `radiusKm` for a circle - for a city, a plant, a pipeline or a building site. Every row then also carries `distanceKm`, the great-circle distance from this point to the epicentre."
          },
          "longitude": {
            "title": "Centre longitude",
            "minimum": -180,
            "maximum": 180,
            "type": "number",
            "description": "Longitude of the centre point, in decimal degrees, east positive (so -80.77 for Panama, 139.69 for Tokyo, 76.89 for Almaty)."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 1,
            "maximum": 20000,
            "type": "number",
            "description": "Radius of the circle around the centre point, in kilometres. 100 to 300 is a city and its faults, 500 covers a region. Ignored without `latitude` and `longitude`."
          },
          "minLatitude": {
            "title": "Box: south edge",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Rectangle search instead of a circle: southern edge in decimal degrees. All four edges are needed; `region` is the ready-made version of this. A box that crosses the date line is passed to the source as given, which accepts longitudes beyond 180."
          },
          "maxLatitude": {
            "title": "Box: north edge",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Northern edge of the rectangle, in decimal degrees."
          },
          "minLongitude": {
            "title": "Box: west edge",
            "minimum": -360,
            "maximum": 360,
            "type": "number",
            "description": "Western edge of the rectangle, in decimal degrees."
          },
          "maxLongitude": {
            "title": "Box: east edge",
            "minimum": -360,
            "maximum": 360,
            "type": "number",
            "description": "Eastern edge of the rectangle, in decimal degrees."
          },
          "minAlertLevel": {
            "title": "Minimum PAGER alert level",
            "enum": [
              "green",
              "yellow",
              "orange",
              "red"
            ],
            "type": "string",
            "description": "Keep only quakes USGS gave a PAGER alert, which estimates deaths and economic loss from shaking and the exposed population. Only a few dozen events a year get one, so this is the short list of quakes that actually hurt somebody. Empty means no filter; rows carry the level in `alert`, null for the vast majority."
          },
          "onlyTsunamiFlagged": {
            "title": "Only quakes with a tsunami flag",
            "type": "boolean",
            "description": "Keep only events the catalog marks as having had a tsunami message from the regional warning centres. The flag is set for large quakes in oceanic regions and says a message went out, not that a wave was observed or that damage happened - and it is empty for most events older than about 2010.",
            "default": false
          },
          "minFeltReports": {
            "title": "Minimum felt reports",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "Keep quakes with at least this many Did You Feel It responses from the public (`feltReports`). 10 means somebody noticed, several hundred means a city did. This is a crowd-sourced count that grows for hours after the event and is far higher in the U.S. than elsewhere, because that is where the form is known."
          },
          "minSignificance": {
            "title": "Minimum significance score",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Keep quakes with at least this significance (`sig`), the score USGS computes from magnitude, shaking, felt reports and estimated impact to decide what goes on its significant-events list. 600 and up is roughly that list; 1000 and up are the headline events of a year."
          },
          "onlyNew": {
            "title": "Skip quakes written by earlier runs",
            "type": "boolean",
            "description": "Remember every event id this run writes in the actor's key-value store and, next time the same actor or task runs, write only events that were not written before. Made for a schedule: each run then holds the quakes that appeared since the last one. The memory is kept per actor or task, so two tasks watching two regions do not interfere.",
            "default": false
          },
          "trackRevisions": {
            "title": "Deliver an event again when it is revised",
            "type": "boolean",
            "description": "Only matters with `onlyNew`. A fresh quake is published within minutes as an automatic solution and then revised - magnitude, depth, epicentre, alert level and felt count all move for hours or days. With this on, the memory remembers the event id together with its revision time, so a revised event comes through again as a new row with its current numbers (and is charged again); with it off, you get each event once, as it looked when first seen.",
            "default": false
          },
          "sortBy": {
            "title": "Order",
            "enum": [
              "time",
              "time-asc",
              "magnitude",
              "magnitude-asc"
            ],
            "type": "string",
            "description": "How the source orders the events before `maxItems` cuts the list. With a small cap this decides what you get: `time` the newest quakes, `magnitude` the biggest ones of the window.",
            "default": "time"
          },
          "maxItems": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Hard cap on the rows this run writes, and so on what it costs. The source answers at most 20000 events per query, which the actor pages through 1000 at a time; a window wider than that is reported in the run status instead of being silently cut. The run also stops at the maximum cost per run you set on the platform.",
            "default": 50
          },
          "fields": {
            "title": "Only these columns",
            "type": "array",
            "description": "Keep only the named columns, in the order given - for example `magnitude, place, depthKm, alert`. Empty = every column. `eventId`, `time`, `place`, `url`, `fetchedAt` and `found` are always present; name one of them here and it moves to the position you gave it. Unknown names are reported in the run's status message instead of being dropped in silence.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}