A decade of historical pollen count data, ready when you need it
Delivering the context to build smarter, more responsive solutions for the millions affected by seasonal allergies.
Pollen released by trees and woody plants.
Acacia, alder, ash, birch, cedar, cypress, elm, hazel, maple, mulberry, myrtle, oak, olive, pine, plane, poplar, she-oak, willow, yew.
Tree pollen dominates early spring allergy seasons across temperate regions, with timing varying by latitude and climate
March–May
Birch, alder, oak, hazel (alder/hazel start January-February)
February–May
Olive (May-June), cypress, plane
August–October
Acacia, she-oak, myrtle, cypress pine
Pollen from grasses and sedge varieties.
Grass, sedges (tracked separately in Australia and New Zealand).
Grass pollen affects the widest geographic range and longest seasonal duration of all allergen categories, peaking in late spring and early summer in the Northern Hemisphere and spring-summer in the Southern Hemisphere.
May–July
Peaks in June-July
May–July
Peaks in June in most regions
August–October
Peaks in November-December
Pollen from flowering weeds and herbaceous plants.
Ragweed, mugwort, nettle, plantain, dock, daisy, chenopod.
Weed pollen defines late summer and fall allergy seasons in the Northern Hemisphere, with ragweed producing the highest allergen concentrations across North America.
August–October
Ragweed (peaks mid-September)
July–September
Mugwort, nettle, plantain
Variable
Plantain (August-May), summer weeds
Delivering the context to build smarter, more responsive solutions for the millions affected by seasonal allergies.
According to the CDC, more than 1 in 3 adults live with seasonal allergies.* The price paid is the loss of productivity and nearly $18 billion in the United States each year.*
CDC; WHYY

In 2016, a severe thunderstorm carrying Ryegrass pollen caused a 672% surge in respiratory presentations. Historical pollen records for southeastern Australia could have helped prepare ahead of time.
A decade of OTC drug sales data from NYC says that allergy medication purchases rise two days after tree pollen peaks. Historical pollen data make the timing of peak exposure windows predictable.
Studies show that a spring arriving 10 days early raised asthma admissions 17%. Historical pollen data enable insurers and risk modelers to track how seasonal timing is shifting.
In 2022, the UK's Met Office flagged high pollen as the tree and grass seasons overlapped. Antiallergic meds sold out at pharmacies. Historical pollen data helps pharma plan inventory.
import http.client
conn = http.client.HTTPSConnection("api.ambeedata.com")
headers = {
'x-api-key': "API_KEY",
'Content-type': "application/json"
}
conn.request("GET", "/latest/pollen/by-lat-lng?lat=12.9889055&lng=77.574044", 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": "/latest/pollen/by-lat-lng?lat=41.3874&lng=2.1686",
"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/latest/pollen/by-lat-lng?lat=12.9889055&lng=77.574044")
.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/latest/pollen/by-lat-lng?lat=12.9889055&lng=77.574044"),
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/latest/pollen/by-lat-lng?lat=12.9889055&lng=77.574044"
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/latest/pollen/by-lat-lng?lat=12.9889055&lng=77.574044",
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/latest/pollen/by-lat-lng?lat=12.9889055&lng=77.574044")
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_bodyimport http.client
conn = http.client.HTTPSConnection("api.ambeedata.com")
headers = {
'x-api-key': "API_KEY",
'Content-type': "application/json"
}
conn.request("GET", "/forecast/pollen/by-lat-lng?lat=12.9889055&lng=77.574044", 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: '/forecast/pollen/by-lat-lng?lat=12.9889055&lng=77.574044',
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/forecast/pollen/by-lat-lng?lat=12.9889055&lng=77.574044")
.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/forecast/pollen/by-lat-lng?lat=12.9889055&lng=77.574044"),
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/forecast/pollen/by-lat-lng?lat=12.9889055&lng=77.574044"
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/forecast/pollen/by-lat-lng?lat=12.9889055&lng=77.574044",
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/forecast/pollen/by-lat-lng?lat=12.9889055&lng=77.574044")
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",
"lat": 40,
"lng": -77,
"timezone": "America/New_York",
"data": [
{
"Risk": {
"grass_pollen": "Low",
"tree_pollen": "Low",
"weed_pollen": "Low"
},
"Count": {
"grass_pollen": 5,
"tree_pollen": 11,
"weed_pollen": 1
},
"Species": {
"Grass": {
"Grass": 5
},
"Others": 1,
"Tree": {
"Ash": 0,
"Birch": 1,
"Cypress/Juniper/Cedar": 0,
"Elm": 0,
"Maple": 0,
"Mulberry": 0,
"Oak": 6,
"Pine": 3,
"Poplar/Cottonwood": 0
},
"Weed": {
"Ragweed": 1
}
},
"timestamp": "2026-06-23T05:00:00.000Z",
"unixTs": 1782190800
}
]
}{
"message": "success",
"lat": 40,
"lng": -77,
"timezone": "America/New_York",
"data": [
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 11,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 6,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T06:00:00.000Z",
"unixTs": 1782194400
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 10,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 5,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T07:00:00.000Z",
"unixTs": 1782198000
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 10,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 5,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T08:00:00.000Z",
"unixTs": 1782201600
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 10,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 5,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T09:00:00.000Z",
"unixTs": 1782205200
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 10,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 5,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T10:00:00.000Z",
"unixTs": 1782208800
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 10,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 5,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T11:00:00.000Z",
"unixTs": 1782212400
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 9,
"weed_pollen": 1,
"grass_pollen": 4
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 4,
"Pine": 3,
"Birch": 0,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 4
},
"Others": 2
},
"timestamp": "2026-06-23T12:00:00.000Z",
"unixTs": 1782216000
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 10,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 5,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T13:00:00.000Z",
"unixTs": 1782219600
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 11,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 6,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T14:00:00.000Z",
"unixTs": 1782223200
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 11,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 6,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T15:00:00.000Z",
"unixTs": 1782226800
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 10,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 5,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T16:00:00.000Z",
"unixTs": 1782230400
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 10,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 5,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T17:00:00.000Z",
"unixTs": 1782234000
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 10,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 5,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T18:00:00.000Z",
"unixTs": 1782237600
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 10,
"weed_pollen": 1,
"grass_pollen": 5
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 5,
"Pine": 3,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 5
},
"Others": 1
},
"timestamp": "2026-06-23T19:00:00.000Z",
"unixTs": 1782241200
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 12,
"weed_pollen": 1,
"grass_pollen": 6
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 6,
"Pine": 4,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 1
},
"Grass": {
"Grass": 6
},
"Others": 1
},
"timestamp": "2026-06-23T20:00:00.000Z",
"unixTs": 1782244800
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 27,
"weed_pollen": 3,
"grass_pollen": 13
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 14,
"Pine": 9,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 3
},
"Grass": {
"Grass": 13
},
"Others": 2
},
"timestamp": "2026-06-23T21:00:00.000Z",
"unixTs": 1782248400
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 20,
"weed_pollen": 2,
"grass_pollen": 10
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 11,
"Pine": 6,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 10
},
"Others": 1
},
"timestamp": "2026-06-23T22:00:00.000Z",
"unixTs": 1782252000
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 20,
"weed_pollen": 2,
"grass_pollen": 10
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 11,
"Pine": 6,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 10
},
"Others": 1
},
"timestamp": "2026-06-23T23:00:00.000Z",
"unixTs": 1782255600
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 22,
"weed_pollen": 2,
"grass_pollen": 11
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 12,
"Pine": 7,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 11
},
"Others": 1
},
"timestamp": "2026-06-24T00:00:00.000Z",
"unixTs": 1782259200
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 20,
"weed_pollen": 2,
"grass_pollen": 10
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 11,
"Pine": 6,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 10
},
"Others": 1
},
"timestamp": "2026-06-24T01:00:00.000Z",
"unixTs": 1782262800
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 20,
"weed_pollen": 2,
"grass_pollen": 10
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 11,
"Pine": 6,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 10
},
"Others": 1
},
"timestamp": "2026-06-24T02:00:00.000Z",
"unixTs": 1782266400
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 19,
"weed_pollen": 2,
"grass_pollen": 9
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 10,
"Pine": 6,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 9
},
"Others": 1
},
"timestamp": "2026-06-24T03:00:00.000Z",
"unixTs": 1782270000
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 26,
"weed_pollen": 3,
"grass_pollen": 13
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 14,
"Pine": 8,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 3
},
"Grass": {
"Grass": 13
},
"Others": 2
},
"timestamp": "2026-06-24T04:00:00.000Z",
"unixTs": 1782273600
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 21,
"weed_pollen": 2,
"grass_pollen": 10
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 11,
"Pine": 7,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 10
},
"Others": 1
},
"timestamp": "2026-06-24T05:00:00.000Z",
"unixTs": 1782277200
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 20,
"weed_pollen": 2,
"grass_pollen": 10
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 11,
"Pine": 6,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 10
},
"Others": 1
},
"timestamp": "2026-06-24T06:00:00.000Z",
"unixTs": 1782280800
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 19,
"weed_pollen": 2,
"grass_pollen": 9
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 10,
"Pine": 6,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 9
},
"Others": 1
},
"timestamp": "2026-06-24T07:00:00.000Z",
"unixTs": 1782284400
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 17,
"weed_pollen": 2,
"grass_pollen": 8
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 9,
"Pine": 5,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 8
},
"Others": 2
},
"timestamp": "2026-06-24T08:00:00.000Z",
"unixTs": 1782288000
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 17,
"weed_pollen": 2,
"grass_pollen": 8
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 9,
"Pine": 5,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 8
},
"Others": 2
},
"timestamp": "2026-06-24T09:00:00.000Z",
"unixTs": 1782291600
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 16,
"weed_pollen": 2,
"grass_pollen": 8
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 8,
"Pine": 5,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 8
},
"Others": 2
},
"timestamp": "2026-06-24T10:00:00.000Z",
"unixTs": 1782295200
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 17,
"weed_pollen": 2,
"grass_pollen": 8
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 9,
"Pine": 5,
"Birch": 1,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 8
},
"Others": 2
},
"timestamp": "2026-06-24T11:00:00.000Z",
"unixTs": 1782298800
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 19,
"weed_pollen": 2,
"grass_pollen": 9
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 10,
"Pine": 6,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 9
},
"Others": 1
},
"timestamp": "2026-06-24T12:00:00.000Z",
"unixTs": 1782302400
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 19,
"weed_pollen": 2,
"grass_pollen": 9
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 10,
"Pine": 6,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 9
},
"Others": 1
},
"timestamp": "2026-06-24T13:00:00.000Z",
"unixTs": 1782306000
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 21,
"weed_pollen": 2,
"grass_pollen": 10
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 11,
"Pine": 7,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 10
},
"Others": 1
},
"timestamp": "2026-06-24T14:00:00.000Z",
"unixTs": 1782309600
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 21,
"weed_pollen": 2,
"grass_pollen": 10
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 11,
"Pine": 7,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 10
},
"Others": 1
},
"timestamp": "2026-06-24T15:00:00.000Z",
"unixTs": 1782313200
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 23,
"weed_pollen": 2,
"grass_pollen": 11
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 12,
"Pine": 7,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 11
},
"Others": 2
},
"timestamp": "2026-06-24T16:00:00.000Z",
"unixTs": 1782316800
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 21,
"weed_pollen": 2,
"grass_pollen": 10
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 11,
"Pine": 7,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 10
},
"Others": 1
},
"timestamp": "2026-06-24T17:00:00.000Z",
"unixTs": 1782320400
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 23,
"weed_pollen": 2,
"grass_pollen": 11
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 12,
"Pine": 7,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 11
},
"Others": 2
},
"timestamp": "2026-06-24T18:00:00.000Z",
"unixTs": 1782324000
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 25,
"weed_pollen": 3,
"grass_pollen": 12
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 13,
"Pine": 8,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 3
},
"Grass": {
"Grass": 12
},
"Others": 2
},
"timestamp": "2026-06-24T19:00:00.000Z",
"unixTs": 1782327600
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 23,
"weed_pollen": 2,
"grass_pollen": 11
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 12,
"Pine": 7,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 11
},
"Others": 2
},
"timestamp": "2026-06-24T20:00:00.000Z",
"unixTs": 1782331200
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 21,
"weed_pollen": 2,
"grass_pollen": 10
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 11,
"Pine": 7,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 10
},
"Others": 1
},
"timestamp": "2026-06-24T21:00:00.000Z",
"unixTs": 1782334800
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 23,
"weed_pollen": 2,
"grass_pollen": 11
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 12,
"Pine": 7,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 11
},
"Others": 2
},
"timestamp": "2026-06-24T22:00:00.000Z",
"unixTs": 1782338400
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 21,
"weed_pollen": 2,
"grass_pollen": 10
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 11,
"Pine": 7,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 2
},
"Grass": {
"Grass": 10
},
"Others": 1
},
"timestamp": "2026-06-24T23:00:00.000Z",
"unixTs": 1782342000
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 24,
"weed_pollen": 3,
"grass_pollen": 12
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 13,
"Pine": 8,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 3
},
"Grass": {
"Grass": 12
},
"Others": 1
},
"timestamp": "2026-06-25T00:00:00.000Z",
"unixTs": 1782345600
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 24,
"weed_pollen": 3,
"grass_pollen": 12
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 13,
"Pine": 8,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 3
},
"Grass": {
"Grass": 12
},
"Others": 1
},
"timestamp": "2026-06-25T01:00:00.000Z",
"unixTs": 1782349200
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 25,
"weed_pollen": 3,
"grass_pollen": 12
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 13,
"Pine": 8,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 3
},
"Grass": {
"Grass": 12
},
"Others": 2
},
"timestamp": "2026-06-25T02:00:00.000Z",
"unixTs": 1782352800
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 24,
"weed_pollen": 3,
"grass_pollen": 12
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 13,
"Pine": 8,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 3
},
"Grass": {
"Grass": 12
},
"Others": 1
},
"timestamp": "2026-06-25T03:00:00.000Z",
"unixTs": 1782356400
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 25,
"weed_pollen": 3,
"grass_pollen": 12
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 13,
"Pine": 8,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 3
},
"Grass": {
"Grass": 12
},
"Others": 2
},
"timestamp": "2026-06-25T04:00:00.000Z",
"unixTs": 1782360000
},
{
"Risk": {
"tree_pollen": "Low",
"weed_pollen": "Low",
"grass_pollen": "Low"
},
"Count": {
"tree_pollen": 24,
"weed_pollen": 3,
"grass_pollen": 12
},
"Species": {
"Tree": {
"Ash": 0,
"Elm": 0,
"Oak": 13,
"Pine": 8,
"Birch": 2,
"Maple": 0,
"Mulberry": 0,
"Poplar/Cottonwood": 0,
"Cypress/Juniper/Cedar": 0
},
"Weed": {
"Ragweed": 3
},
"Grass": {
"Grass": 12
},
"Others": 1
},
"timestamp": "2026-06-25T05:00:00.000Z",
"unixTs": 1782363600
}
]
}Sign up for an Ambee account and generate your API key from the dashboard.
Select the endpoint based on what you need: present conditions, historical data, or forecasts.
Specify the location using latitude/longitude coordinates, postal codes, city names, or country codes.
Include your API key in the request header and call the endpoint. You'll receive AQI and all seven pollutant concentrations in JSON format.
Common questions about Ambee's pollen data
Pollen count shows the number of pollen grains that are present in the air for a standard volume.
The types of pollen allergies are classified by severity and the specific pollen type. According to allergy data, the three primary types are tree, grass, and weed allergies.
Pollen count levels range from 0 to 50,000 grains depending on the type of pollen. The safest pollen counts are when the pollen index is low. The higher the pollen index, the higher the pollen count.
API key can be copied and inserted in the tab on the Ambee dashboard to make pollen API calls. Ambee's pollen app gives you real-time pollen count without an API key.
The pollen index is a measure of the amount of pollen in the air. It indicates the concentration of pollen in a cubic meter of air. A low pollen index means low pollen levels in the air, while a high pollen index signifies high pollen levels. High pollen levels can lead to increased rates of allergic reactions for individuals with pollen allergies.
Pollen forecasts are verified through several methods. One way is to compare the forecast to actual pollen counts collected from pollen traps or air samplers. Another approach involves comparing the forecast to other sources of information about pollen levels, such as reports from other pollen monitoring stations in the same region. While these methods provide valuable insights, the most accurate verification often involves a combination of both. At Ambee, we further enhance pollen forecast accuracy by utilizing proprietary AI and ML models, ensuring maximum precision in our predictions.
You can get historical pollen count data up to 48 hours on our APIs and more than 10+ years on demand by contacting our customer service. Our historical pollen data is accurate with street level granularity. Get highly insightful data on historical pollen counts by just heading over to our API dashboard.
Allergy forecasts can be quite accurate, but their reliability can be influenced by factors like weather patterns and local conditions. At Ambee, we enhance forecast accuracy by analyzing historical pollen data from multiple stations, considering phenological factors and environmental behaviors, and leveraging proprietary AI and ML models. This approach enables our virtual pollen monitoring stations to provide reliable and accurate pollen counts by zip code, empowering you to better manage your allergies.
Ambee's pollen data achieves up to 93% correlation with ground-truth measurements through our proprietary AI models that combine satellite imagery, ground sensors, and meteorological data.
Unlike traditional pollen traps that sample limited areas and require manual counting, Ambee uses machine learning algorithms to integrate multiple data sources, providing real-time, global coverage with significantly higher spatial and temporal resolution.
We continuously validate our forecasts against a network of 1,200+ reference stations worldwide, using robust statistical methods including correlation analysis, mean absolute error, and confidence intervals.