Skip to content
GET/api/hazard/tsunami/events/1 credit

Tsunami events

A pass-through proxy for the NOAA National Centers for Environmental Information Global Historical Tsunami Database. This is a historical geophysical catalogue, not an astrological calculation, and it reaches back to the second millennium BC — years before the common era appear as negative numbers. Query parameters are forwarded to NOAA unchanged. The main ones are `year`, `minYear` and `maxYear`, `day` and `month`, `country`, `area` and `regionCode` (numeric ocean-basin codes such as 85 for Japan, 50 for the Mediterranean and 89 for the west coast of South America; several can be given comma-separated), a latitude and longitude box, `minCauseCode`/`maxCauseCode` (0 unknown, 1 earthquake, 6 volcano, 8 landslide, 9 meteorological, 10 explosion, 11 astronomical tide, among others), `minEventValidity`/`maxEventValidity` on a scale from -1 erroneous to 4 definite, and thresholds on wave height, earthquake magnitude, deaths, injuries, houses destroyed and damage in millions of dollars. Several of those also come in an 'amount order' form, a coarse 0-4 banding used where an exact figure was never recorded. Paging uses `page`, `itemsPerPage` and `order` (for example `year:asc`). The response is NOAA's own envelope with an `items` list. Each item carries an id, the date parts, `eventValidity`, `causeCode`, the linked earthquake or volcano event ids, country and `locationName`, `regionCode`, latitude and longitude, `maxWaterHeight` in metres, the number of recorded runups, tsunami intensity and the death and damage order bands for both the source region and the event as a whole.

https://api.occultapi.com/api/hazard/tsunami/events/
Test Request

Authentication

Send your key in the X-API-Key header. Keys are server-side credentials — never put one in browser JavaScript or a mobile app.

X-API-Key: yt_live_a1b2c3d4_…

Query parameters (103)

Passed in the URL. All optional unless marked, and they combine — filter, then page, then sort.

ParameterTypeExampleWhat it does
areastring—State, Province or Prefecture of the tsunami source
assocDepositsstring—Filter by associated tsunami deposits
causeCodestring—Cause code(s), comma-separated. 0-Unknown, 1-Earthquake, 2-Questionable Earthquake, 3-Earthquake and Landslide, 4-Volcano and Earthquake, 5-Volcano/Earthquake/Landslide, 6-Volcano, 7-Volcano and Landslide, 8-Landslide, 9-Meteorological, 10-Explosion, 11-Astronomical Tide. Example: 2,9,11

Comma-separated list, e.g. '2,9,11'. 0 Unknown; 1 Earthquake; 2 Questionable Earthquake; 3 Earthquake and Landslide; 4 Volcano and Earthquake; 5 Volcano/Earthquake/Landslide; 6 Volcano; 7 Volcano and Landslide; 8 Landslide; 9 Meteorological; 10 Explosion; 11 Astronomical Tide.

one of: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
commentsEndstring—Comments end with

FREE-FORM text - 'comments end with'.

commentsIncludestring—Comments include

FREE-FORM text - 'comments include'.

commentsMatchstring—Comments match exactly

FREE-FORM text - 'comments match exactly'.

commentsNotstring—Comments do not include

FREE-FORM text - 'comments do not include'.

commentsStartstring—Comments start with

FREE-FORM text - 'comments start with'.

countrystring—Country where the tsunami source occurred (e.g. Japan)
dayinteger—Day of the event (1–31)
idinteger—Exact event ID
itemsPerPageinteger—Number of items per page
locEndstring—Location name ends with

FREE-FORM text - 'location name ends with'.

locIncludestring—Location name includes

FREE-FORM text - 'location name includes'.

locMatchstring—Location name matches exactly

FREE-FORM text - 'location name matches exactly'.

locNotstring—Location name does not include

FREE-FORM text - 'location name does not include'.

locStartstring—Location name starts with

FREE-FORM text - 'location name starts with'. Proxied to NOAA.

maxCauseCodeinteger—Max cause code. 0-Unknown, 1-Earthquake, 2-Questionable Earthquake, 3-Earthquake and Landslide, 4-Volcano and Earthquake, 5-Volcano/Earthquake/Landslide, 6-Volcano, 7-Volcano and Landslide, 8-Landslide, 9-Meteorological, 10-Explosion, 11-Astronomical Tide. Example: 2,9,11
maxDamageAmountOrderinteger—Max damage description. 0-None, 1-LIMITED (<$1M), 2-MODERATE ($1–5M), 3-SEVERE ($5–25M), 4-EXTREME (>$25M)
maxDamageAmountOrderTotalinteger—Max total damage description. 0-None, 1-LIMITED (<$1M), 2-MODERATE ($1–5M), 3-SEVERE ($5–25M), 4-EXTREME (>$25M)
maxDamageMillionsDollarsnumber—Max damage in millions of dollars
maxDamageMillionsDollarsTotalnumber—Max total damage in millions of dollars (tsunami + source event)
maxDeathsinteger—Max deaths from the tsunami
maxDeathsAmountOrderinteger—Max deaths description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
maxDeathsAmountOrderTotalinteger—Max total deaths description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
maxDeathsTotalinteger—Max total deaths from tsunami and source event
maxEqMagnitudenumber—Max earthquake magnitude [0.0, 9.9]
maxEventValidityinteger—Max event validity. −1-erroneous, 0-None, 1-very doubtful, 2-questionable, 3-probable, 4-definite
maxHousesDestroyedinteger—Max houses destroyed
maxHousesDestroyedAmountOrderinteger—Max houses destroyed description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
maxIdinteger—Maximum event ID
maxInjuriesinteger—Max injuries from the tsunami
maxInjuriesAmountOrderinteger—Max injuries description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
maxLatitudenumber—Max latitude [−90, 90]
maxLongitudenumber—Max longitude [−180, 180]
maxMaxWaterHeightnumber—Max maximum water height above sea level (m)
maxNumRunupsinteger—Max number of runup locations associated with the event
maxRunupHoriznumber—Max maximum horizontal inland flooding distance (m)
maxYearinteger—Maximum year
minCauseCodeinteger—Min cause code. 0-Unknown, 1-Earthquake, 2-Questionable Earthquake, 3-Earthquake and Landslide, 4-Volcano and Earthquake, 5-Volcano/Earthquake/Landslide, 6-Volcano, 7-Volcano and Landslide, 8-Landslide, 9-Meteorological, 10-Explosion, 11-Astronomical Tide. Example: 2,9,11
minDamageAmountOrderinteger—Min damage description. 0-None, 1-LIMITED (<$1M), 2-MODERATE ($1–5M), 3-SEVERE ($5–25M), 4-EXTREME (>$25M)
minDamageAmountOrderTotalinteger—Min total damage description. 0-None, 1-LIMITED (<$1M), 2-MODERATE ($1–5M), 3-SEVERE ($5–25M), 4-EXTREME (>$25M)
minDamageMillionsDollarsnumber—Min damage in millions of dollars
minDamageMillionsDollarsTotalnumber—Min total damage in millions of dollars (tsunami + source event)
minDeathsinteger—Min deaths from the tsunami
minDeathsAmountOrderinteger—Min deaths description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
minDeathsAmountOrderTotalinteger—Min total deaths description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
minDeathsTotalinteger—Min total deaths from tsunami and source event
minEqMagnitudenumber—Min earthquake magnitude [0.0, 9.9]
minEventValidityinteger—Min event validity. −1-erroneous, 0-None, 1-very doubtful, 2-questionable, 3-probable, 4-definite
minHousesDestroyedinteger—Min houses destroyed
minHousesDestroyedAmountOrderinteger—Min houses destroyed description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
minIdinteger—Minimum event ID
minInjuriesinteger—Min injuries from the tsunami
minInjuriesAmountOrderinteger—Min injuries description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
minLatitudenumber—Min latitude [−90, 90]
minLongitudenumber—Min longitude [−180, 180]
minMaxWaterHeightnumber—Min maximum water height above sea level (m)
minNumRunupsinteger—Min number of runup locations associated with the event
minRunupHoriznumber—Min maximum horizontal inland flooding distance (m)
minYearinteger—Minimum year
monthinteger—Month of the event (1–12)
oceanicTsunamiboolean—Filter by oceanic tsunami (true/false)
opstring—Logical operator for filters
orderstring—Sort order. Examples: year:asc, month:desc

FORMAT constraint rather than a fixed enum: '<field>:asc' or '<field>:desc', e.g. 'year:asc', 'month:desc'. The field name must be one NOAA recognises; not validated locally.

pageinteger—Page number
regionCodestring—Region code(s). 87 - Alaska (including Aleutian Islands), 40 - Black Sea and Caspian Sea, 74 - Caribbean Sea, 78 - Central Africa, 84 - China/North and South Korea/Philippines/Taiwan, 81 - E Coast Australia/New Zealand/South Pacific Is., 75 - East Coast USA and Canada, 76 - Gulf of America/Mexico, 80 - Hawaii/Johnston Atoll/Midway I, 60 - Indian Ocean (including west coast of Australia), 83 - Indonesia (Pacific Ocean) and Malaysia, 85 - Japan, 86 - Kamchatka and Kuril Islands, 50 - Mediterranean Sea, 82 - New Caledonia/New Guinea/Solomon Is./Vanuatu, 73 - Northeast Atlantic Ocean, 72 - Northwest Atlantic Ocean, 30 - Red Sea and Persian Gulf, 70 - Southeast Atlantic Ocean, 71 - Southwest Atlantic Ocean, 77 - West Coast of Africa, 88 - West Coast of North and Central America, 89 - West Coast of South America. Example: 87,30,89

Comma-separated list of numeric region codes, e.g. '87,30,89'. Meanings: 30 Red Sea and Persian Gulf; 40 Black Sea and Caspian Sea; 50 Mediterranean Sea; 60 Indian Ocean (incl. west coast of Australia); 70 Southeast Atlantic Ocean; 71 Southwest Atlantic Ocean; 72 Northwest Atlantic Ocean; 73 Northeast Atlantic Ocean; 74 Caribbean Sea; 75 East Coast USA and Canada; 76 Gulf of America/Mexico; 77 West Coast of Africa; 78 Central Africa; 80 Hawaii/Johnston Atoll/Midway I; 81 E Coast Australia/New Zealand/South Pacific Is.; 82 New Caledonia/New Guinea/Solomon Is./Vanuatu; 83 Indonesia (Pacific Ocean) and Malaysia; 84 China/North and South Korea/Philippines/Taiwan; 85 Japan; 86 Kamchatka and Kuril Islands; 87 Alaska (incl. Aleutian Islands); 88 West Coast of North and Central America; 89 West Coast of South America. Proxied verbatim to NOAA NCEI.

one of: 30, 40, 50, 60, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89
runupAreastring—State/Province/Prefecture of the runup location
runupCountrystring—Country of the runup location
runupDoubtfulstring—Validity of runup: n-OK, y-Doubtful, m-Meteorological, a-Atmospheric

Single letter: n = OK, y = Doubtful, m = Meteorological, a = Atmospheric.

one of: n, y, m, a
runupLocEndstring—Runup location name ends with

FREE-FORM text - 'runup location name ends with'.

runupLocIncludestring—Runup location name includes

FREE-FORM text - 'runup location name includes'.

runupLocMatchstring—Runup location name matches exactly

FREE-FORM text - 'runup location name matches exactly'.

runupLocNotstring—Runup location name does not include

FREE-FORM text - 'runup location name does not include'.

runupLocStartstring—Runup location name starts with

FREE-FORM text - 'runup location name starts with'.

runupMaxDamageAmountOrderinteger—Max runup damage description. 0-None, 1-LIMITED (<$1M), 2-MODERATE ($1–5M), 3-SEVERE ($5–25M), 4-EXTREME (>$25M)
runupMaxDamageMillionsDollarsnumber—Max damage at runup location (millions $)
runupMaxDeathsinteger—Max deaths at the runup location
runupMaxDeathsAmountOrderinteger—Max runup deaths description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
runupMaxDistanceinteger—Max distance from source to runup (km)
runupMaxHeightnumber—Max maximum water height at runup location (m)
runupMaxHousesDestroyedinteger—Max houses destroyed at runup location
runupMaxHousesDestroyedAmountOrderinteger—Max runup houses destroyed description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
runupMaxInjuriesinteger—Max injuries at the runup location
runupMaxInjuriesAmountOrderinteger—Max runup injuries description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
runupMaxTravelTimeinteger—Max travel time (minutes)
runupMaxTroughHtnumber—Max maximum water trough below sea level (m)
runupMeasureTypeinteger—Type of measurement: 1-Eyewitness water height, 2-Tide Gauge, 3-Deep Ocean Gauge, 4-Post-survey water height, 5-Runup Height post-survey, 6-Atmospheric Wave, 7-Seiche, 8-Runup Height in Harbor, 9-Splash mark, 10-Flow Depth
runupMinDamageAmountOrderinteger—Min runup damage description. 0-None, 1-LIMITED (<$1M), 2-MODERATE ($1–5M), 3-SEVERE ($5–25M), 4-EXTREME (>$25M)
runupMinDamageMillionsDollarsnumber—Min damage at runup location (millions $)
runupMinDeathsinteger—Min deaths at the runup location
runupMinDeathsAmountOrderinteger—Min runup deaths description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
runupMinDistanceinteger—Min distance from source to runup (km)
runupMinHeightnumber—Min maximum water height at runup location (m)
runupMinHousesDestroyedinteger—Min houses destroyed at runup location
runupMinHousesDestroyedAmountOrderinteger—Min runup houses destroyed description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
runupMinInjuriesinteger—Min injuries at the runup location
runupMinInjuriesAmountOrderinteger—Min runup injuries description. 0-None, 1-Few (~1–50), 2-Some (~51–100), 3-Many (~101–1000), 4-Very many (>1000)
runupMinTravelTimeinteger—Min travel time (minutes)
runupMinTroughHtnumber—Min maximum water trough below sea level (m)
runupRegionstring—Runup region code(s). 87 - Alaska (including Aleutian Islands), 40 - Black Sea and Caspian Sea, 74 - Caribbean Sea, 78 - Central Africa, 84 - China/North and South Korea/Philippines/Taiwan, 81 - E Coast Australia/New Zealand/South Pacific Is., 75 - East Coast USA and Canada, 76 - Gulf of America/Mexico, 80 - Hawaii/Johnston Atoll/Midway I, 60 - Indian Ocean (including west coast of Australia), 83 - Indonesia (Pacific Ocean) and Malaysia, 85 - Japan, 86 - Kamchatka and Kuril Islands, 50 - Mediterranean Sea, 82 - New Caledonia/New Guinea/Solomon Is./Vanuatu, 73 - Northeast Atlantic Ocean, 72 - Northwest Atlantic Ocean, 30 - Red Sea and Persian Gulf, 70 - Southeast Atlantic Ocean, 71 - Southwest Atlantic Ocean, 77 - West Coast of Africa, 88 - West Coast of North and Central America, 89 - West Coast of South America. Example: 87,30,89

Comma-separated numeric region codes - identical value set and meanings as regionCode, but applied to the runup location instead of the tsunami source.

one of: 30, 40, 50, 60, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89
tsuAssocstring—Tsunami association filter
yearinteger—Exact year of the event

Example request

curl "https://api.occultapi.com/api/hazard/tsunami/events/" \
  -H "X-API-Key: $OCCULT_API_KEY"

Response

{
  "_truncated": true,
  "_note": "Response shortened for the catalogue.",
  "preview": "{\"items\": [{\"id\": 1, \"year\": -2000, \"eventValidity\": 1, \"causeCode\": 1, \"earthquakeEventId\": 2, \"numDeposits\": 0, \"country\": \"SYRIA\", \"locationName\": \"SYRIAN COASTS\", \"regionCode\": 50, \"latitude\": 35.683, \"longitude\": 35.8, \"numRunups\": 1, \"tsIntensity\": 6, \"deathsAmountOrder\": 3, \"damageAmountOrder\": 4, \"deathsAmountOrderTotal\": 3, \"damageAmountOrderTotal\": 4, \"publish\": true, \"oceanicTsunami\": true}, {\"id\": 3, \"year\": -1610, \"eventValidity\": 4, \"causeCode\": 6, \"earthquakeEventId\": 5877, \"volcanoEventId\": 1351, \"numDeposits\": 28, \"country\": \"GREECE\", \"locationName\": \"THERA ISLAND (SANTORINI)\", \"regionCode\": 50, \"latitude\": 36.4, \"longitude\": 25.4, \"maxWaterHeight\": 90, \"numRunups\": 2, \"tsIntensity\": 6, \"deathsAmountOrder\": 3, \"damageAmountOrder\": 3, \"deathsAmountOrderTotal\": 3, \"damageAmountOrderTotal\": 3, \"publish\": true, \"oceanicTsunami\": true}, {\"id\": 4, \"year\": -1365, \"eventValidity\": 1, \"causeCode\": 2, \"earthquakeEventId\": 9712, \"numDeposits\": 0, \"country\": \"SYRIA\", \"locationName\": \"SYRIAN COASTS\", \"regionCode\": 50, \"latitude\": 35.683, \"longitude\": 35.8, \"numRunups\": 1, \"tsIntensity\": 6, \"damageAmountOrder\": 2, \"damageAmountOrderTotal\": 3, \"publish\": true, \"oceanicTsunami\": true}, {\"id\": 5, \"year\": -1300, \"eventValidity\": 2, \"causeCode\": 0, \"eqMagnitude\": 6, \"numDeposits\": 0, \"country\": \"TURKEY\", \"locationName\": \"IONIAN COASTS, TROAD\", \"regionCode\": 50, \"latitude\": 39.96, \"longitude\": 26.24, \"numRunups\": 0, \"tsIntensity\": 5, \"publish\": true, \"oceanicTsunami\": true}, {\"id\": 6, \"year\": -760, \"eventValidity\": 2, \"causeCode\": 0, \"numDeposits\": 0, \"country\": \"ISRAEL\", \"locationName\": \"ISRAEL AND LEBANON COASTS\", \"regionCode\": 50, \"numRunups\": 0, \"tsIntensity\": 3, \"publish\": true, \"oceanicTsunami\": true}, {\"id\": 7, \"year\": -590, \"eventValidity\": 2, \"causeCode\": 1, \"earthquakeEventId\": 7793, \"numDeposits\": 0, \"country\": \"LEBANON\", \"locationName\": \"LEBANON COASTS\", \"regionCode\": 50, \"latitude\": 33.27, \"longitude\": 35.22, \"numRunups\": 0, \"tsIntensity\": 6, \"publish\": true, \"oceanicTsunami\": true}, {\"id\": 8, \"year\": -525, \"eventValidity\": 2, \"causeCode\": 1, \"earthquakeEventId\": 7794, \"numDeposits\": 0, \"country\": \"LEBANON\", \"locationName\": \"LEBANON COASTS\", \"regionCode\": 50, \"latitude\": 33.56, \"longitude\": 35.37, \"numRunups\": 0, \"tsIntensity\": 3, \"publish\": true, \"oceanicTsunami\": true}, {\"id\": 9, \"year\": -479, \"eventValidity\": 2, \"causeCode\": 1, \"eqMagnitude\": 7, \"earthquakeEventId\": 17, \"numDeposits\": 1, \"country\": \"GREECE\", \"locationName\": \"NORTH AEGEAN\", \"regionCode\": 50, \"latitude\": 39.7, \"longitude\": 23.3, \"numRunups\": 1, \"tsIntensity\": 3, \"deathsAmountOrder\": 3, \"deathsAmountOrderTotal\": 3, \"publish\": true, \"oceanicTsunami\": true}, {\"id\": 10, \"year\": -426, \"month\": 6, \"eventValidity\": 4, \"causeCode\": 1, \"eqMagnitude\": 7.1, \"earthquakeEventId\": 5878, \"numDeposits\": 0, \"country\": \"GREECE\", \"locationName\": \"CORINTHOS-PATRAS GULF\", \"regionCode\": 50, \"latitude\": 38.9, \"longitude\": 22.7, \"numRunups\": 12, \"tsIntensity\": 5, \"deathsAmountOrder\": 3, \"damageAmountOrder\": 2, \"housesDestroyedAmountOrder\": 2, \"deathsTotal\": 2500, \"deathsAmountOrderTotal\": 4, \"damageAmountOrderTotal\": 3, \"housesDestroyedAmountOrderTotal\": 3, \"publish\": true, \"oceanicTsunami\": true}, {\"id\": 11, \"year\": -373, \"eventValidity\": 4, \"causeCode\": 3, \"eqMagnitude\": 7.3, \"earthquakeEventId\": 20, \"numDeposits\": 1, \"country\": \"GREECE\", \"locationName\": \"CORINTHOS-PATRAS GULF\", \"regionCode\": 50, \"latitude\": 38.25, \"longitude\": 22.25, \"numRunups\": 1, \"tsIntensity\": 5, \"deathsAmountOrder\": 3, \"damageAmountOrder\": 3, \"housesDestroyedAmountOrder\": 3, \"deathsAmountOrderTotal\": 3, \"damageAmountOrderTotal\": 3, \"housesDestroyedAmountOrderTotal\": 3, \"publish\": true, \"oceanicTsunami\": true}, {\"id\": 12, \"year\": -330, \"eventValidity\": 1, \"causeCode\": 1, \"eqMagnitude\": 7, \"earthquakeEventId\": 22, \"numDeposits\": 0, \"country\": \"GREECE\", \"locationName\": \"E. SPORADES ISLANDS, AEGEAN ISLANDS\", \"regionCode\": 50, \"latitude\": 40, \"longitude\": 25, \"numRunups\": 0, \"publish\": true, \"oceanicTsu"
}

Captured from a real call using the exact request above. Results sit under data.

Errors

Metering errors return { "error": "…", "message": "<code>", "is_error": true }. Show error to people and branch on message. See the error reference.