The Ambee pollen API delivers detailed pollen data, including pollen types, regional plant species pollen counts, and associated risk levels based on NAB (National Allergy Bureau) guidelines. It provides comprehensive global coverage across over 150 countries with a high spatial resolution of 500 meters (0.3 miles).
The pollen API delivers information specific to various global regions, detailing available data on tree, weed, and grass pollen types along with specific species for each category:
| regions | pollen | subspecies |
|---|---|---|
Australia and New Zealand | Available | Tree: Cypress, Myrtle, Olive, She-oak, Acacia, Pine, Elm, Oak, Birch, Willow, Alder Weed: Daisy, Plantain, Chenopod, Dock Grass: Grass, Sedges |
Brisbane | Available | Tree: Cypress, Myrtle, She-oak, Acacia, Pine Weed: Daisy, Plantain, Chenopod Grass: Grass, Sedges |
Central Europe | Available | Tree: Alder, Hazel, Elm, Poplar/Cottonwood, Birch, Plane, Oak, Pine, Cypress/Yew Weed: Nettle, Mugwort, Ragweed, Chenopod Grass: Grass |
Mediterranean | Available | Tree: Cypress/Yew, Hazel, Alder, Birch, Oak, Olive, Elm, Pine, Poplar/Cottonwood, Plane Weed: Nettle, Mugwort, Ragweed, Chenopod Grass: Grass |
Nordic | Available | Tree: Hazel, Alder, Elm, Poplar/Cottonwood, Birch, Oak, Pine, Plane, Cypress/Yew Weed: Nettle, Mugwort, Chenopod, Ragweed Grass: Grass |
North America | Available | Tree: Cypress/Juniper/Cedar, Elm, Maple, Poplar/Cottonwood, Mulberry, Ash, Pine, Oak, Birch Weed: Ragweed Grass: Grass |
UK | Available | Tree: Hazel, Alder, Cypress/Yew, Elm, Poplar/Cottonwood, Birch, Plane, Oak, Pine Weed: Mugwort, Chenopod, Ragweed, Nettle Grass: Grass |
All other regions | Available | Tree: Genera not supported Weed: Genera not supported Grass: Genera not supported |
| risk level | tree | grass | weed | description |
|---|---|---|---|---|
Low | 0-99 | 0-29 | 0-43 | Mild risk for those with severe respiratory issues; no risk for the general public. |
Moderate | 100-212 | 30-60 | 44-79 | Risk for severe respiratory problems; mild risk for the general public. |
High | 213-939 | 61-341 | 80-296 | Risky for all groups. |
Very High | 940+ | 342+ | 296+ | Highly risky for all groups. |
Offers real-time pollen counts with a specified resolution of 500 meters (0.3 miles) miles for over 150 countries. See Introduction for details on regional coverage.
Retrieve pollen data using geographic coordinates (latitude/longitude).
x-api-key
Content-type
Accept-Language
lat
lng
speciesRisk
https://api.ambeedata.com/v3/pollen/latest?lat=41.3874&lng=2.1686const http = require("https");
const options = {
"method": "GET",
"hostname": "api.ambeedata.com",
"port": null,
"path": "/v3/pollen/latest?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();Retrieve pollen data using the desired place name and time period.
x-api-key
Content-type
Accept-Language
place
speciesRisk
https://api.ambeedata.com/latest/v3/pollen/latest?place=Barcelonaconst http = require("https");
const options = {
"method": "GET",
"hostname": "api.ambeedata.com",
"port": null,
"path": "/v3/pollen/latest?place=Barcelona",
"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();Access historical pollen counts for your selected timeframe across the supported regions. See Introduction for details on regional coverage.
Access bulk historical pollen data from 2016 to present. Download historical data.
Retrieve pollen data using geographic coordinates (latitude/longitude).
x-api-key
Content-type
Accept-Language
lat
lng
from
to
speciesRisk
https://api.ambeedata.com/v3/pollen/history?lat=41.3874&lng=2.1686&from=2026-07-14 14:00:15&to=2026-07-16 14:00:21const http = require("https");
const options = {
"method": "GET",
"hostname": "api.ambeedata.com",
"port": null,
"path": "/v3/pollen/history?lat=41.3874&lng=2.1686&from=2026-07-14 14:00:15&to=2026-07-16 14:00:21",
"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();Retrieve pollen data using the desired place name and time period.
x-api-key
Content-type
Accept-Language
place
from
to
speciesRisk
https://api.ambeedata.com/v3/pollen/history?place=Barcelona&from=2026-07-14 14:00:15&to=2026-07-16 14:00:21const http = require("https");
const options = {
"method": "GET",
"hostname": "api.ambeedata.com",
"port": null,
"path": "/v3/pollen/history?place=Barcelona&from=2026-07-14 14:00:15&to=2026-07-16 14:00:21",
"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();Access predicted pollen counts for your selected time frame across the supported regions. See Introduction for details on regional coverage.
Forecast data is available on demand for a longer time frame. Get in touch.
Retrieve pollen data using geographic coordinates (latitude/longitude).
x-api-key
Content-type
Accept-Language
lat
lng
speciesRisk
https://api.ambeedata.com/v3/pollen/forecast/48hrs?lat=38&lng=-97const http = require("https");
const options = {
"method": "GET",
"hostname": "api.ambeedata.com",
"port": null,
"path": "/v3/pollen/forecast/48hrs?lat=38&lng=-97",
"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();Retrieve pollen data using geographic coordinates (latitude/longitude).
x-api-key
Content-type
Accept-Language
lat
lng
speciesRisk
https://api.ambeedata.com/forecast/v3/pollen/forecast/120hrs?lat=38&lng=-97const http = require("https");
const options = {
"method": "GET",
"hostname": "api.ambeedata.com",
"port": null,
"path": "/v3/pollen/forecast/120hrs?lat=38&lng=-97",
"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();Retrieve pollen data using the desired place name and time period.
x-api-key
Content-type
Accept-Language
place
speciesRisk
https://api.ambeedata.com/v3/pollen/forecast/48hrs?place=californiaconst http = require("https");
const options = {
"method": "GET",
"hostname": "api.ambeedata.com",
"port": null,
"path": "/v3/pollen/forecast/48hrs?place=california",
"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();Retrieve pollen data using the desired place name and time period.
x-api-key
Content-type
Accept-Language
place
speciesRisk
https://api.ambeedata.com/v3/pollen/forecast/120hrs?place=californiaconst http = require("https");
const options = {
"method": "GET",
"hostname": "api.ambeedata.com",
"port": null,
"path": "/v3/pollen/forecast/120hrs?place=california",
"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();