Data API
Curated atmospheric data for builders and researchers.
A public API is planned so the same normalised, source-attributed data behind this site can be used in your own work. Nothing on this page is live yet, and no API keys exist.
- Global coverage
- Real-time & historical (planned)
- Provenance on every value
- Open formats
curl -G "https://api.meteorologist.id/v1/weather" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-d "lat=-6.2" -d "lon=106.8" \
-d "hours=24" \
-d "variables=temperature,precipitation"import requests # draft interface
r = requests.get(
"https://api.meteorologist.id/v1/weather",
headers={"Authorization": "Bearer <YOUR_API_KEY>"},
params={"lat": -6.2, "lon": 106.8, "hours": 24,
"variables": "temperature,precipitation"},
)
data = r.json()const url = new URL("https://api.meteorologist.id/v1/weather");
url.search = new URLSearchParams({
lat: "-6.2", lon: "106.8", hours: "24",
variables: "temperature,precipitation",
});
const res = await fetch(url, {
headers: { Authorization: "Bearer <YOUR_API_KEY>" },
});
const data = await res.json();{
"location": { "lat": -6.2, "lon": 106.8 },
"kind": "forecast",
"initTime": "YYYY-MM-DDThh:mm:ssZ",
"series": [
{
"validTime": "YYYY-MM-DDThh:mm:ssZ",
"temperature": { "value": <number>, "unit": "degC" },
"precipitation": { "value": <number>, "unit": "mm" }
}
],
"provenance": {
"provider": "…", "dataset": "…",
"license": "…", "updatedAt": "YYYY-MM-DDThh:mm:ssZ"
}
}Illustrative shape only. The host does not respond and values are placeholders.
Globe: NASA Blue Marble, Black Marble and MODIS cloud composite — illustrative, not current weather.
API overview
The API will expose the normalised atmospheric data model used across this site: observations, analyses, reanalysis, forecasts and events — each with provider, dataset, licence and update time.
- NASA imagery layers connected for display
- 10
- public endpoints live
- 0
- endpoint groups in design
- 4
- timestamps, with explicit baselines
- UTC
API endpoints
Modular resource groups under design. Paths and fields may change.
Earth
/v1/earth
Global state summary and climate-mode indices.
Weather
/v1/weather
Point and gridded fields with initialisation and valid time.
Climate
/v1/climate
Climatologies, anomalies and percentiles against a stated baseline.
Events
/v1/events
The atmospheric event archive with metrics, drivers and sources.
Intelligence
/v1/intelligence
Sector context — only with published methodology.
Lab
/v1/lab
Analysis jobs for research workflows.
Quickstart
How getting started will work.
- 1Create an accountAccounts are not open yet.
- 2Choose an endpointPick the data you need and read its documentation.
- 3Make a requestSend a REST request with your key.
- 4Start buildingIntegrate the data — keeping attribution.
Get your API key
Coming soonAccess is not open yet. Keys will be issued when the first endpoints are live.
Follow progressExample request & response
Simple and consistent, with provenance on every value.
curl -G "https://api.meteorologist.id/v1/weather" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-d "lat=-6.2" -d "lon=106.8" \
-d "hours=24" \
-d "variables=temperature,precipitation"import requests # draft interface
r = requests.get(
"https://api.meteorologist.id/v1/weather",
headers={"Authorization": "Bearer <YOUR_API_KEY>"},
params={"lat": -6.2, "lon": 106.8, "hours": 24,
"variables": "temperature,precipitation"},
)
data = r.json()const url = new URL("https://api.meteorologist.id/v1/weather");
url.search = new URLSearchParams({
lat: "-6.2", lon: "106.8", hours: "24",
variables: "temperature,precipitation",
});
const res = await fetch(url, {
headers: { Authorization: "Bearer <YOUR_API_KEY>" },
});
const data = await res.json();{
"location": { "lat": -6.2, "lon": 106.8 },
"kind": "forecast",
"initTime": "YYYY-MM-DDThh:mm:ssZ",
"series": [
{
"validTime": "YYYY-MM-DDThh:mm:ssZ",
"temperature": { "value": <number>, "unit": "degC" },
"precipitation": { "value": <number>, "unit": "mm" }
}
],
"provenance": {
"provider": "…", "dataset": "…",
"license": "…", "updatedAt": "YYYY-MM-DDThh:mm:ssZ"
}
}Not live: the host does not respond, values are placeholders, and no key is required or issued.
Authentication
PlannedPlanned: a key sent in the request header. Keys will be personal and must be kept secret.
Authorization: Bearer <YOUR_API_KEY>Available formats
Planned formats per resource type: JSON for small responses, cloud-native formats for large grids.
- JSON
- NetCDF
- GeoTIFF (COG)
- Zarr
- GeoParquet
- CSV
Layers connected for display
Real NASA layers already used on this site's maps, with the latest available time. Redistribution through our own API is not offered yet.
True colour (clouds, smoke, dust)
Suomi NPP / VIIRS Corrected Reflectance
Observation29 Sept 2026
Precipitation rate
GPM IMERG (Early Run), 30-minute
Analysis29 Sept 2026, 18:30 UTC
Precipitation (daily)
GPM IMERG, daily
Analysis28 Sept 2026
Cloud tops, infrared (Himawari)
Himawari-9 AHI Band 13 clean infrared
Observation29 Sept 2026, 23:40 UTC
Sea surface temperature
GHRSST L4 MUR v4.1
Analysis28 Sept 2026
Sea surface temperature anomaly
GHRSST L4 MUR v4.1 anomaly
Analysis28 Sept 2026
Baseline: 2003–2014 (MUR climatology)
Land surface temperature (day)
Terra MODIS Land Surface Temperature
Observation30 Sept 2026
Aerosols (smoke, dust, haze)
MODIS Terra+Aqua combined value-added AOD
Observation28 Sept 2026
Air temperature, monthly (reanalysis)
NASA GMAO MERRA-2
ReanalysisJune 2026
Surface wind speed, monthly (reanalysis)
NASA GMAO MERRA-2
ReanalysisJune 2026
Planned via the API Planned
Global forecast fields
Temperature, precipitation, wind, pressure
Forecast
Reanalysis climatology
Anomalies and percentiles vs 1991–2020
Reanalysis
Climate indices
ENSO, IOD, MJO with official definitions
Analysis
Tropical cyclone tracks
Historical best-track archive
Analysis
Active fire detections
Satellite thermal anomalies
Observation
Event archive
Curated events with sources
Analysis
Pricing & access
Access model not decided
Tiers and terms have not been set. They depend on the licences of upstream sources — some candidates allow commercial use with attribution, others are non-commercial only.
See source licencesDeveloper resources
Everything you will need to build with the data.
- API documentationEndpoint reference — once endpoints exist.Planned
- Code examplesPython, JavaScript and cURL.Planned
- SDKs & toolsOfficial client libraries — planned.Planned
- Data guideDatasets, units, time and methodology.
- TutorialsThe science behind the data.
- Sources registerLicences and attribution for every source.