Real-time tornado data for the decisions that can't wait

From Tornado Alley outbreaks to isolated supercells, get event-level data on tornado paths, wind bearing, and storm intensity, delivered through one API.

Trusted Across Industries
GSK Logo
Bayer Logo
Sanofi Logo
Lilly Logo
HALEON Logo
Kimberly-Clark Logo
3M Logo
Electrolux logo
WPP Logo
Publicis Groupe Logo
Teads logo
The Weather Channel Logo
EDF Logo

Why legacy assumptions can no longer warn

In 1974, 148 tornadoes tore through 13 states, killing 315 people, which led to the establishment of a nationwide Doppler radar network and formalizing the modern tornado warning system.* This system pushed average warning lead times from near zero to roughly 13 minutes.

Wikipedia

But this 13-minute window was interrupted in 2021 when a tornado tracked more than 250 miles across four states overnight, in December.* A season and a geography this warning infrastructure simply ignored.

Tornadoes are outgrowing the assumptions we built around them. Ambee's near real-time tornado API brings the reality to you.

japan earthquake

How tornado data solves operational challenges

manufacturing icon

Insurance pricing

Underwriting teams can use location-specific tornado event history to reprice exposure in geographies that legacy models treat as low-risk. Instead, set premiums that reflect actual storm frequency and path-level severity.

Insurance icon

Energy and utilities

The March 2025 tornado outbreak knocked out power across 26 states in a single multi-day event. Grid operators and utility providers can use real-time storm path data to pre-stage repair crews before it happens.

Real estate and construction

Logistics and supply chain

Real-time tornado event data lets logistics operations reroute shipments, pre-position inventory, and flag at-risk nodes before the disruption compounds into a backlog.

supply chain and logistics icon

Agriculture

Flattened crops, collapsed silos, and downed irrigation infrastructure: all damages of severe events. Monitor tornado paths against farm locations to trigger loss assessments faster and give agri-operations teams the lead time to protect what remains salvageable.

How Ambee delivers storm intelligence with context

integration icon

Hyperlocal resolution

Ambee delivers storm path and wind severity data at a grid level, while tracking events across 150+ countries.

global coverage icon

Map tile overlays

Map tile overlays Visualize tornado risk and severe weather activity directly on your existing maps using Ambee's tile overlays without rebuilding your front end.

data icon

Historical storm data

Underwriters running loss models, risk teams validating exposure, and planners can construct past tornadoes to stress-test infrastructure against recurrence patterns.

impact icon

NASA-backed credibility

As a NASA PACE Mission partner, Ambee's atmospheric datasets are reinforced by data used by researchers and enterprises tracking severe weather systems globally.

Getting started with Ambee’s Earthquake API

Content copy iconCheck icon
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"))
Content copy iconCheck icon
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();
Content copy iconCheck icon
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();
Content copy iconCheck icon
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);
}
Content copy iconCheck icon
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))

}
Content copy iconCheck icon
<?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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=5.68&lng=125.204&eventType=TN' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
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
Content copy iconCheck icon
{
    "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"
        }
    ]
}
Content copy iconCheck icon
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=51.9&lng=179.6215&eventType=EQ", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Content copy iconCheck icon
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'api.ambeedata.com',
  port: null,
  path: '/disasters/processed/latest/by-lat-lng?lat=51.9&lng=179.6215&eventType=EQ',
  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();
Content copy iconCheck icon
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
	.url("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=51.9&lng=179.6215&eventType=EQ")
	.get()
	.addHeader("x-api-key", "API_KEY")
	.addHeader("Content-type", "application/json")
	.build();

Response response = client.newCall(request).execute();
Content copy iconCheck icon
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=51.9&lng=179.6215&eventType=EQ"),
	Headers =
	{
		{ "x-api-key", "API_KEY" },
	},
};
using (var response = await client.SendAsync(request))
{
	response.EnsureSuccessStatusCode();
	var body = await response.Content.ReadAsStringAsync();
	Console.WriteLine(body);
}
Content copy iconCheck icon
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=51.9&lng=179.6215&eventType=EQ"

	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))

}
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=51.9&lng=179.6215&eventType=EQ",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=51.9&lng=179.6215&eventType=EQ' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
require 'uri'
require 'net/http'

url = URI("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=51.9&lng=179.6215&eventType=EQ")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "EQ",
            "alert_level": "Green",
            "city": null,
            "continent": "nar",
            "country_code": "USA",
            "created_time": "2026-05-31 09:49:01",
            "date": "2026-05-30 13:44:24",
            "details": {
                "magnitude": 1.99,
                "depth": 3.9,
                "impact": null,
                "death": null,
                "injured": null,
                "affected": null,
                "event_name": null,
                "pga": null,
                "intensity": null
            },
            "end_date": null,
            "estimated_end_date": "2026-05-31 00:00:00",
            "event_id": "1f2640ba05265e8f32a194fb5f4aace3",
            "event_name": "RAT ISLANDS, ALEUTIAN ISLANDS",
            "expiry_time": "2026-06-29 13:44:24",
            "lat": 51.904,
            "source_event_id": "iris_12113838",
            "state": "Alaska",
            "type": "event",
            "lng": 179.599333,
            "proximity_severity_level": "High Risk"
        }
    ]
}
Content copy iconCheck icon
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=34.94900857016478&lng=141.4&eventType=TC", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Content copy iconCheck icon
const http = require('https');

const options = {
	method: 'GET',
	hostname: 'api.ambeedata.com',
	port: null,
	path: '/disasters/processed/latest/by-lat-lng?lat=34.94900857016478&lng=141.4&eventType=TC',
	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();
Content copy iconCheck icon
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
	.url("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=34.94900857016478&lng=141.4&eventType=TC")
	.get()
	.addHeader("x-api-key", "API_KEY")
	.addHeader("Content-type", "application/json")
	.build();

Response response = client.newCall(request).execute();
Content copy iconCheck icon
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=34.94900857016478&lng=141.4&eventType=TC"),
	Headers =
	{
		{ "x-api-key", "API_KEY" },
	},
};
using (var response = await client.SendAsync(request))
{
	response.EnsureSuccessStatusCode();
	var body = await response.Content.ReadAsStringAsync();
	Console.WriteLine(body);
}
Content copy iconCheck icon
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=34.94900857016478&lng=141.4&eventType=TC"

	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))

}
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=34.94900857016478&lng=141.4&eventType=TC",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=34.94900857016478&lng=141.4&eventType=TC' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
require 'uri'
require 'net/http'

url = URI("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=34.94900857016478&lng=141.4&eventType=TC")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "TC",
            "alert_level": null,
            "city": "Choshi-shi",
            "continent": "asia",
            "country_code": "JPN",
            "created_time": "2026-06-03 18:56:49",
            "date": "2026-05-28 06:00:00",
            "details": {
                "windspeed": null,
                "total_precipitation": null,
                "impact": null,
                "death": null,
                "injured": null,
                "affected": null
            },
            "end_date": null,
            "estimated_end_date": "2026-06-07 00:00:00",
            "event_id": "08d143483093b45ffd32d2644b7ce69c",
            "event_name": "Typhoon Jangmi",
            "expiry_time": "2026-06-27 06:00:00",
            "lat": 34.94900857016478,
            "source_event_id": "EONET_20279",
            "state": "Chiba",
            "type": "event",
            "lng": 141.4,
            "proximity_severity_level": "High Risk"
        }
    ]
}
Content copy iconCheck icon
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=56.63&lng=161.31&eventType=WF", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Content copy iconCheck icon
const http = require('https');

const options = {
	method: 'GET',
	hostname: 'api.ambeedata.com',
	port: null,
	path: '/disasters/processed/latest/by-lat-lng?lat=56.63&lng=161.31&eventType=WF',
	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();
Content copy iconCheck icon
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
	.url("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=56.63&lng=161.31&eventType=WF")
	.get()
	.addHeader("x-api-key", "API_KEY")
	.addHeader("Content-type", "application/json")
	.build();

Response response = client.newCall(request).execute();
Content copy iconCheck icon
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=56.63&lng=161.31&eventType=WF"),
	Headers =
	{
		{ "x-api-key", "API_KEY" },
	},
};
using (var response = await client.SendAsync(request))
{
	response.EnsureSuccessStatusCode();
	var body = await response.Content.ReadAsStringAsync();
	Console.WriteLine(body);
}
Content copy iconCheck icon
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=56.63&lng=161.31&eventType=WF"

	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))

}
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com//disasters/processed/latest/by-lat-lng?lat=56.63&lng=161.31&eventType=WF",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=56.63&lng=161.31&eventType=WF' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
require 'uri'
require 'net/http'

url = URI("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=56.63&lng=161.31&eventType=WF")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "WF",
            "alert_level": "Green",
            "city": "Ust'-Kamchatskiy rayon",
            "continent": "asia",
            "country_code": "RUS",
            "created_time": "2026-06-15 23:36:22",
            "date": "2026-06-15 14:27:00",
            "details": {
                "affected": null,
                "burned_area": null,
                "death": null,
                "description": null,
                "fire_category": "N",
                "frp": 13.73,
                "impact": null,
                "injured": null,
                "percentage_contained": null,
                "fwi": 0.676
            },
            "end_date": null,
            "estimated_end_date": "2026-06-17 14:27:00",
            "event_id": "503f2ac47a4db3914a8e7dfdd2f4f163",
            "event_name": "Satellite Fire Incident",
            "expiry_time": "2026-06-16 14:27:00",
            "lat": 56.639887598285384,
            "source_event_id": "Satellite Fire Incident_56.64_161.315",
            "state": "Far Eastern Federal District",
            "lng": 161.31455928521626,
            "proximity_severity_level": "High Risk"
        }
    ]
}
Content copy iconCheck icon
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=37.7823&lng=-122.3912&eventType=FL", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Content copy iconCheck icon
const http = require('https');

const options = {
	method: 'GET',
	hostname: 'api.ambeedata.com',
	port: null,
	path: '/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL',
	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();
Content copy iconCheck icon
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
	.url("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL")
	.get()
	.addHeader("x-api-key", "API_KEY")
	.addHeader("Content-type", "application/json")
	.build();

Response response = client.newCall(request).execute();
Content copy iconCheck icon
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=37.7823&lng=-122.3912&eventType=FL"),
	Headers =
	{
		{ "x-api-key", "API_KEY" },
	},
};
using (var response = await client.SendAsync(request))
{
	response.EnsureSuccessStatusCode();
	var body = await response.Content.ReadAsStringAsync();
	Console.WriteLine(body);
}
Content copy iconCheck icon
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL"

	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))

}
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
require 'uri'
require 'net/http'

url = URI("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "FL",
            "alert_level": "Green",
            "city": "San Francisco",
            "continent": "nar",
            "country_code": "USA",
            "created_time": "2026-06-16 00:37:25",
            "date": "2026-06-15 21:35:00",
            "details": {
                "description": "High tides causing inundation above ground level.",
                "total_precipitation": null,
                "death": null,
                "injured": null,
                "affected": null,
                "impact": "Flooding of lots, parks, and roads with only isolated road closures expected. Dangerous conditions are forecast along the shoreline due to sneaker waves, strong rip currents, and large breaking waves.",
                "flood_height": 0.54864
            },
            "end_date": null,
            "estimated_end_date": "2026-06-18 12:00:00",
            "event_id": "5cf202482be4fdb2b947192767b68fb1",
            "event_name": "Coastal Flood Advisory in San Francisco",
            "expiry_time": "2026-06-18 12:00:00",
            "lat": 37.76008100341221,
            "source_event_id": "oid.2.49.0.1.840.0.9d2afb8468233f8cc7fe2c8c99d1b5be1224b980.001.1",
            "state": "California",
            "type": "alert",
            "lng": -122.44565406594042,
            "proximity_severity_level": "High Risk"
        }
    ]
}
Content copy iconCheck icon
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=19.52&lng=78.56&eventType=ET", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Content copy iconCheck icon
const http = require('https');

const options = {
	method: 'GET',
	hostname: 'api.ambeedata.com',
	port: null,
	path: '/disasters/processed/latest/by-lat-lng?lat=19.52&lng=78.56&eventType=ET',
	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();
Content copy iconCheck icon
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
	.url("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=19.52&lng=78.56&eventType=ET")
	.get()
	.addHeader("x-api-key", "API_KEY")
	.addHeader("Content-type", "application/json")
	.build();

Response response = client.newCall(request).execute();
Content copy iconCheck icon
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=19.52&lng=78.56&eventType=ET"),
	Headers =
	{
		{ "x-api-key", "API_KEY" },
	},
};
using (var response = await client.SendAsync(request))
{
	response.EnsureSuccessStatusCode();
	var body = await response.Content.ReadAsStringAsync();
	Console.WriteLine(body);
}
Content copy iconCheck icon
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=19.52&lng=78.56&eventType=ET"

	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))

}
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=19.52&lng=78.56&eventType=ET",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=19.52&lng=78.56&eventType=ET' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
require 'uri'
require 'net/http'

url = URI("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=19.52&lng=78.56&eventType=ET")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "ET",
            "alert_level": "Green",
            "city": "Gudihathnoor",
            "continent": "asia",
            "country_code": "IND",
            "created_time": "2026-06-16 06:39:19",
            "date": "2026-06-16 11:47:00",
            "details": {
                "description": null,
                "type": "heat wave",
                "max_windspeed": null,
                "min_windspeed": null,
                "max_temperature": null,
                "min_temperature": null,
                "death": null,
                "injured": null,
                "affected": null,
                "impact": null
            },
            "end_date": null,
            "estimated_end_date": "2026-06-17 08:30:00",
            "event_id": "524cc33121d8d01eaf3ce1d9444083b2",
            "event_name": "Heat Wave at Adilabad, Bhadradri Kothagudem, Jayashankar Bhupalapally, Kumuram Bheem Asifabad, Mancherial, Mulugu districts of Telangana",
            "expiry_time": "2026-06-17 08:30:00",
            "lat": 19.52115758598333,
            "source_event_id": "IN-1781591043983030",
            "state": "Telangana",
            "type": "alert",
            "lng": 78.56454226055469,
            "proximity_severity_level": "High Risk"
        }
    ]
}
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=DR",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=DR",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=DR",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=DR",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=DR",
	"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();
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=DR",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=DR' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
url = URI("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=DR")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "DR",
            "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": "drought 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"
        }
    ]
}
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=51.5804&lng=113&eventType=SW",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=51.5804&lng=113&eventType=SW",
	"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();
Content copy iconCheck icon
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
	.url("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=51.5804&lng=113&eventType=SW")
	.get()
	.addHeader("x-api-key", "API_KEY")
	.addHeader("Content-type", "application/json")
	.build();

Response response = client.newCall(request).execute();
Content copy iconCheck icon
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=51.5804&lng=113&eventType=SW"),
	Headers =
	{
		{ "x-api-key", "API_KEY" },
	},
};
using (var response = await client.SendAsync(request))
{
	response.EnsureSuccessStatusCode();
	var body = await response.Content.ReadAsStringAsync();
	Console.WriteLine(body);
}
Content copy iconCheck icon
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=51.5804&lng=113&eventType=SW"

	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))

}
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com//disasters/processed/latest/by-lat-lng?lat=51.5804&lng=113&eventType=SW",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com//disasters/processed/latest/by-lat-lng?lat=51.5804&lng=113&eventType=SW' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
require 'uri'
require 'net/http'

url = URI("https://api.ambeedata.com//disasters/processed/latest/by-lat-lng?lat=51.5804&lng=113&eventType=SW")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "SW",
            "alert_level": null,
            "city": "Ulyotovskiy rayon",
            "continent": "asia",
            "country_code": "RUS",
            "created_time": "2026-05-25 12:41:15",
            "date": "2026-05-22 06:55:00",
            "details": {
                "wind_gust": null,
                "total_precipitation": null,
                "impact": null,
                "death": null,
                "injured": null,
                "affected": null,
                "event_name": "HAIL at None",
                "category": null,
                "windspeed": null,
                "actual_path": null,
                "predicted_path": null,
                "eye": null,
                "hail_layer_thickness": null,
                "hail_diameter": null
            },
            "end_date": "2026-05-22 07:55:00",
            "estimated_end_date": "2026-05-22 07:55:00",
            "event_id": "122d05d3c36b0dfd2483d7564dbbdd3b",
            "event_name": "HAIL at None",
            "expiry_time": "2026-06-21 06:55:00",
            "lat": 51.5804,
            "source_event_id": "01KS7RXPQHKH5BNDHJPM9955EJ",
            "state": "Far Eastern Federal District",
            "type": "event",
            "lng": 113.0475,
            "proximity_severity_level": "High Risk"
        }
    ]
}
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=SI",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=SI",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=SI",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=SI",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=SI",
	"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();
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=SI",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=SI' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
url = URI("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=SI")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "SI",
            "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": "sea ice 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"
        }
    ]
}
Content copy iconCheck icon
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=45.80&lng=149.67&eventType=VO", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Content copy iconCheck icon
const http = require('https');

const options = {
	method: 'GET',
	hostname: 'api.ambeedata.com',
	port: null,
	path: '/disasters/processed/latest/by-lat-lng?lat=45.80&lng=149.67&eventType=VO',
	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();
Content copy iconCheck icon
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
	.url("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=45.80&lng=149.67&eventType=VO")
	.get()
	.addHeader("x-api-key", "API_KEY")
	.addHeader("Content-type", "application/json")
	.build();

Response response = client.newCall(request).execute();
Content copy iconCheck icon
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=45.80&lng=149.67&eventType=VO"),
	Headers =
	{
		{ "x-api-key", "API_KEY" },
	},
};
using (var response = await client.SendAsync(request))
{
	response.EnsureSuccessStatusCode();
	var body = await response.Content.ReadAsStringAsync();
	Console.WriteLine(body);
}
Content copy iconCheck icon
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=45.80&lng=149.67&eventType=VO"

	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))

}
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com//disasters/processed/latest/by-lat-lng?lat=45.80&lng=149.67&eventType=VO",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=45.80&lng=149.67&eventType=VO' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
require 'uri'
require 'net/http'

url = URI("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=45.80&lng=149.67&eventType=VO")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "VO",
            "alert_level": null,
            "city": "Kuril'skiy rayon",
            "continent": "asia",
            "country_code": "RUS",
            "created_time": "2026-06-09 15:40:50",
            "date": "2026-05-29 00:00:00",
            "details": {
                "eruption_amplitude": null,
                "impact": null,
                "death": null,
                "injured": null,
                "affected": null
            },
            "end_date": null,
            "estimated_end_date": "2026-06-28 00:00:00",
            "event_id": "0e3777c501e1aca069971dec4e005bee",
            "event_name": "Ivao Group Volcano, Russia",
            "expiry_time": "2026-06-28 00:00:00",
            "lat": 45.80830857016478,
            "source_event_id": "EONET_20392",
            "state": "Far Eastern Federal District",
            "type": "event",
            "lng": 149.6762,
            "proximity_severity_level": "High Risk"
        }
    ]
}
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=LS",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=LS",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=LS",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=LS",
	"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();
Content copy iconCheck icon
const http = require("https");

const options = {
	"method": "GET",
	"hostname": "api.ambeedata.com",
	"port": null,
	"path": "/disasters/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=LS",
	"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();
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com/disasters/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=LS",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=LS' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
url = URI("https://api.ambeedata.com/disasters/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=LS")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "LS",
            "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": "landslide 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"
        }
    ]
}
Content copy iconCheck icon
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=-36.478&lng=147.339&eventType=Misc", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Content copy iconCheck icon
const http = require('https');

const options = {
	method: 'GET',
	hostname: 'api.ambeedata.com',
	port: null,
	path: '/disasters/processed/latest/by-lat-lng?lat=-36.478&lng=147.339&eventType=Misc',
	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();
Content copy iconCheck icon
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
	.url("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=-36.478&lng=147.339&eventType=Misc")
	.get()
	.addHeader("x-api-key", "API_KEY")
	.addHeader("Content-type", "application/json")
	.build();

Response response = client.newCall(request).execute();
Content copy iconCheck icon
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=-36.478&lng=147.339&eventType=Misc"),
	Headers =
	{
		{ "x-api-key", "API_KEY" },
	},
};
using (var response = await client.SendAsync(request))
{
	response.EnsureSuccessStatusCode();
	var body = await response.Content.ReadAsStringAsync();
	Console.WriteLine(body);
}
Content copy iconCheck icon
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=-36.478&lng=147.339&eventType=Misc"

	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))

}
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=-36.478&lng=147.339&eventType=Misc",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=-36.478&lng=147.339&eventType=Misc' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
require 'uri'
require 'net/http'

url = URI("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=-36.478&lng=147.339&eventType=Misc")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "Misc",
            "alert_level": null,
            "city": "Tawonga",
            "continent": "aus",
            "country_code": "AUS",
            "created_time": "2026-06-15 09:42:49",
            "date": "2026-06-15 00:00:00",
            "details": {
                "death": null,
                "injured": null,
                "affected": null
            },
            "end_date": null,
            "estimated_end_date": null,
            "event_id": "280f56f0cd8a7bfea416aa760f30ca56",
            "event_name": "Hollonds St",
            "expiry_time": "2026-07-15 00:00:00",
            "lat": -36.743516821036636,
            "source_event_id": "ausw_ESTA260612499",
            "state": "Victoria",
            "type": "event",
            "lng": 147.1703630275195,
            "proximity_severity_level": "Moderate Risk"
        }
    ]
}
01

Get your API key

Sign up for an Ambee account and generate your API key from the dashboard.

02

Choose your endpoint

Select the endpoint based on what you need.

03

Add your location

Specify the location using latitude and longitude coordinates, ZIP codes, or custom boundaries.

04

Make your request

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.

Getting started with Ambee’s Tornado API

Content copy iconCheck icon
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=37.7823&lng=-122.3912&eventType=FL", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Content copy iconCheck icon
const http = require('https');

const options = {
	method: 'GET',
	hostname: 'api.ambeedata.com',
	port: null,
	path: '/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL',
	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();
Content copy iconCheck icon
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
	.url("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL")
	.get()
	.addHeader("x-api-key", "API_KEY")
	.addHeader("Content-type", "application/json")
	.build();

Response response = client.newCall(request).execute();
Content copy iconCheck icon
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=37.7823&lng=-122.3912&eventType=FL"),
	Headers =
	{
		{ "x-api-key", "API_KEY" },
	},
};
using (var response = await client.SendAsync(request))
{
	response.EnsureSuccessStatusCode();
	var body = await response.Content.ReadAsStringAsync();
	Console.WriteLine(body);
}
Content copy iconCheck icon
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL"

	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))

}
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL",
	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;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
require 'uri'
require 'net/http'

url = URI("https://api.ambeedata.com/disasters/processed/latest/by-lat-lng?lat=37.7823&lng=-122.3912&eventType=FL")

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
Content copy iconCheck icon
{
    "message": "success",
    "hasNextPage": false,
    "page": 1,
    "limit": 10,
    "result": [
        {
            "event_type": "FL",
            "alert_level": "Green",
            "city": "San Francisco",
            "continent": "nar",
            "country_code": "USA",
            "created_time": "2026-06-16 00:37:25",
            "date": "2026-06-15 21:35:00",
            "details": {
                "description": "High tides causing inundation above ground level.",
                "total_precipitation": null,
                "death": null,
                "injured": null,
                "affected": null,
                "impact": "Flooding of lots, parks, and roads with only isolated road closures expected. Dangerous conditions are forecast along the shoreline due to sneaker waves, strong rip currents, and large breaking waves.",
                "flood_height": 0.54864
            },
            "end_date": null,
            "estimated_end_date": "2026-06-18 12:00:00",
            "event_id": "5cf202482be4fdb2b947192767b68fb1",
            "event_name": "Coastal Flood Advisory in San Francisco",
            "expiry_time": "2026-06-18 12:00:00",
            "lat": 37.76008100341221,
            "source_event_id": "oid.2.49.0.1.840.0.9d2afb8468233f8cc7fe2c8c99d1b5be1224b980.001.1",
            "state": "California",
            "type": "alert",
            "lng": -122.44565406594042,
            "proximity_severity_level": "High Risk"
        }
    ]
}
01

Get your API key

Sign up for an Ambee account and generate your API key from the dashboard.

02

Choose your endpoint

Select the endpoint based on what you need.

03

Add your location

Specify the location using latitude and longitude coordinates, ZIP codes, or custom boundaries.

04

Make your request

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.

Explore the wider environmental impact via Ambee's climate data suite

Storms

Monitor developing storm systems to stay ahead of severe weather.

storms image

Temperature

Track present and forecast temperature conditions across any location.

temperature image

Hurricane

Follow hurricane formation and movement to plan around coastal risk.

hurricane image

Tornado

Track how severe weather systems and intense rainfall events affect terrain stability.

tornado image

Cyclone

Follow cyclone formation and movement to plan around regional risk.

cyclone image

Earthquake

Monitor seismic activity as it happens to assess exposure.

earthquake image

Volcano

Track how severe storms increase rainfall-driven erosion and terrain instability.

earthquake image

Tsunami

Track how severe storms increase rainfall-driven erosion and terrain instability.

tsunami-api

Sea Ice

Track how severe storms increase rainfall-driven erosion and terrain instability.

seas-ice-api

Landslide

Track how severe storms increase rainfall-driven erosion and terrain instability.

landslide-api

Drought

Track how severe storms increase rainfall-driven erosion and terrain instability.

drough-api

Why leading teams build with Ambee

Real feedback from real innovators

Innovid Testimonial
Delivering personalized, relevant experiences is critical for advertisers trying to increase the performance of their messaging. The beauty of DCO is when you have a high-quality API like Ambee’s pollen count - you can turn that into creative experiences directly tuned to the real-world circumstances of your audience.
Simeon Powers
Product Marketing, Ad Management, Innovid
navia life care testimonial
We tried out Ambee’s Weather and Pollen API for our healthcare app. I must say our users were certainly pleased with the results. The data was comprehensive, accurate, and valuable, which helped with the user's decision-making process. Ambee’s team was really supportive during integration and for regular maintenance as well. Would definitely recommend working with them.
Kunal Kishore Dhawan
Co-founder and CEO of Navia Life Care
WPP Testimonial
In an ever-changing world, it’s imperative that we understand the environmental changes and act upon these in the right way. Ambee keeps us in tune with our environment and is key to creating better outcomes for people.
Vipul Parmar
Global Head of Data Management
VitalFlo Testimonial
We monitor the impacts of AQ on the health outcomes of asthma and COPD patients. Ambee gives great access to hyperlocal data to help us monitor acute respiratory health events.
Luke Marshall
CEO and Founder of VitalFlo
ADYLIC Testimonial
It has helped Adylic showcase the power of utilizing API in personalizing ads. In this case, we were able to target users' needs at the right time based on the user's location.
Stefanie Wong
DCO Specialist, Adylic
Razor Testimonial
Solving climate change requires collaboration across industries. Hence, Razor partnered with Ambee to make reliable, real-time, and accurate data available to the blockchain.
Hrishikesh Huilgolkar
CEO
NASA Testimonial
The PACE Science and Applications Team is thrilled to be working with partners like Ambee, who bring a fresh perspective to our work and ensure that the PACE mission will provide societal benefit.
Lorraine Remer
Atmospheric Scientist, University of Maryland, Baltimore County
Allegra Testimonial
Ambee has been a tremendous partner for Allegra. The quality of their air quality data, combined with their end-to-end development solutions and customer-oriented mindset, has made them the right partner for us.
Jordana Barish
North America Zone Head for Allegra
Datarade Testimonial
We’re happy to have Ambee’s AI-ready datasets listed on Datarade…Ambee is meeting increased global demand for environmental intelligence with its suite of data products. Now that these data products are available on Datarade, organizations worldwide will be able to access, sample, and ingest them for a range of crucial use cases.
Richard Hoffmann
Co-founder of Datarade
Seek Testimonial
Ambee's proprietary climate data, brought to life through apps on Insight Cloud, makes forecasting faster, smarter, and simpler than ever. Teams can now instantly access Ambee's world-class climate expertise in minutes on Insight Cloud...answering tomorrow's questions, today.
Erik Mitchell
CEO of Seek

Frequently asked questions

Common questions about Ambee's flood data

  • What is flood API?

    Flood API, also known as the Flood Information and Warning System API, is a powerful tool that provides developers with access to real-time and historical flood-related data. This API allows developers to integrate flood information into their applications, websites, or systems, enabling them to provide timely and accurate flood warnings, alerts, and other related information to their users.

  • How do you measure the highest flood level?

    Various methods, including gauges, markers, and historical records of water levels, can be used to measure the highest flood level.

  • How can we prevent floods?

    Analyzing flood data can help identify vulnerable areas, enabling proactive measures such as improved infrastructure, floodplain zoning, and early warning systems to prevent floods.

  • How does flooding affect business?

    Flooding can have a significant impact on businesses, causing damage to infrastructure, disrupting operations, and leading to financial losses. It may result in property damage, inventory loss, and supply chain disruptions. Recovery costs, insurance premiums, and the need for future flood mitigation measures further impact businesses.

  • Is Ambee's Flood data reliable and accurate?

    Ambee utilizes a multi-modal approach to collecting data. Our data sources include proprietary on-ground sensors, satellite imagery, and other open sources, such as government data portals. This combination of data is then run through AL algorithms and ML techniques to ensure maximum accuracy, reliability, and no gaps.

Turn climate from a risk to an opportunity