Access real-time tsunami data and coastal alerts
From seismic trigger to coastal impact, get structured event-level alerts and historical wave data through one API.
From seismic trigger to coastal impact, get structured event-level alerts and historical wave data through one API.
Most tsunami warning systems are looking for a major earthquake that triggers the wave. But in 2022, the Hunga Tonga-Hunga Ha'apai volcano erupted underwater in the South Pacific.
Without a fault rupture or any conventional seismic signature, two people drowned on a beach in Peru by the time alerts were issued. The ocean is a place of mystery, which is why we need to be more data-driven.
Wikipedia

import http.client
conn = http.client.HTTPSConnection("api.ambeedata.com")
headers = {
'x-api-key': "API_KEY",
'Content-type': "application/json"
}
conn.request("GET", "/disasters/processed/latest/by-lat-lng?lat=5.68&lng=125.204&eventType=TN", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))const http = require("https");
const options = {
"method": "GET",
"hostname": "api.ambeedata.com",
"port": null,
"path": "/disasters/processed/latest/by-lat-lng?lat=5.68&lng=125.204&eventType=TN",
"headers": {
"x-api-key": "API_KEY",
"Content-type": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=5.68&lng=125.204&eventType=TN")
.get()
.addHeader("x-api-key", "API_KEY")
.addHeader("Content-type", "application/json")
.build();
Response response = client.newCall(request).execute();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=5.68&lng=125.204&eventType=TN"),
Headers =
{
{ "x-api-key", "API_KEY" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=5.68&lng=125.204&eventType=TN"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "API_KEY")
req.Header.Add("Content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=5.68&lng=125.204&eventType=TN",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Content-type: application/json",
"x-api-key: API_KEY"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=5.68&lng=125.204&eventType=TN")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = 'API_KEY'
request["Content-type"] = 'application/json'
response = http.request(request)
puts response.read_body{
"message": "success",
"hasNextPage": false,
"page": 1,
"limit": 10,
"result": [
{
"event_type": "TN",
"alert_level": null,
"city": "Glan",
"continent": "asia",
"country_code": "PHL",
"created_time": "2026-06-08 00:48:57",
"date": "2026-06-07 23:38:00",
"details": {
"magnitude": 7.8,
"depth": 63,
"waveheight": null,
"impact": null,
"death": null,
"injured": null,
"affected": null
},
"end_date": null,
"estimated_end_date": "2026-06-08 00:00:00",
"event_id": "d44292b2a11f73f0e2bd6fa0ff159f40",
"event_name": "tsunami at in Mindanao, Philippine Islands",
"expiry_time": "2026-07-07 23:38:00",
"lat": 5.7,
"source_event_id": "noasu_tgacbc",
"state": "Soccsksargen",
"type": "event",
"lng": 125.2,
"proximity_severity_level": "High Risk"
}
]
}Sign up for an Ambee account and generate your API key from the dashboard.
Select the endpoint based on what you need.
Specify the location using latitude and longitude coordinates, ZIP codes, or custom boundaries.
Include your API key in the request header and call the endpoint. You'll receive pollen counts, species-level data, and risk classifications in JSON format.
Common questions about Ambee's hurricane data
The Ambee tsunami API provides real-time tsunami alerts, wave height analysis, historical data, and forecasts to help developers and organizations enhance disaster preparedness and response efforts.
Our tsunami data is refreshed every 6 hours, ensuring near real-time accuracy for proactive decision-making.
The tsunami API offers global coverage, allowing you to retrieve tsunami data for any location, including coastal regions and open oceans.
Yes! The API provides up to 2 months of historical tsunami data. Upon custom request, you can access up to 6 months of data, and bulk data is available for over 30 years.
Ambee gathers data from multiple reliable sources to guarantee maximum accuracy, including global seismic monitoring networks such as GDACS, USGS, NOAA, NASA, COPERNICUS, etc.
Data is available in JSON, CSV, Excel, Parquet, and XML formats for seamless integration into your systems.
For easy integration, use our comprehensive API documentation, Postman guides, and developer dashboard. Sample codes and tutorials are also provided.
Ambee ensures the accuracy and reliability of tsunami data through a multi-model approach to data collection. The data is then analyzed using proprietary AI and ML models.
Absolutely. Retrieve tsunami data by coordinates, continent, date range, or specific events for granular analysis.