WeatherMetro API

One key, every weather endpoint: forecasts blended from 30+ national models, minute-level nowcasts, air quality, 80 years of history and location search for 235,148 places. Base URL:

https://api.weathermetro.com/v2

Authentication

Pass your API key with every request as the api_key query parameter. Keys are issued instantly on signup - the free tier needs no card.

curl "https://api.weathermetro.com/v2/status?api_key=YOUR_KEY"

Response envelope

Every response is JSON with the same shape: meta describes the outcome, response carries the payload. Check meta.error_type - if it's absent, the call succeeded.

Successful calls and upstream problems return HTTP 200 with the detail in meta. Account-level failures use real status codes so your HTTP client can act on them: 401 for a missing or invalid key, 403 when your plan doesn't include the endpoint, 429 when the monthly quota is spent.

{ "meta": { "code": 200, "version": "api.v2" },
  "response": { … } }

{ "meta": { "code": 200,
            "error_type": "call failed",
            "error_detail": "Missing required call parameters: lat, lng." } }

Rate limits & plans

PLANCALLS / MONTHINCLUDES
Free - $0100,000forecast, current, nowcast, air quality, locations · attribution required
Starter - $19/mo300,000+ severe-weather alerts · no attribution requirement
Business - $79/mo700,000+ history 1940→ · bulk export · priority support
Enterpriseagreeddedicated capacity · uptime commitment · licensed sources

Exceeding your quota returns HTTP 429 until the monthly reset or an upgrade. Calling an endpoint your plan doesn't include returns HTTP 403 naming the plan required:

{ "meta": { "code": 403,
            "error_type": "plan_upgrade_required",
            "error_detail": "The /history endpoint is available on the Business plan and above.",
            "your_plan": "Free", "required_plan": "Business" } }

GET /v2/forecast all plans

Hourly and daily forecast up to 16 days, blended from the best model for the location.

PARAMREQUIREDDESCRIPTION
lat, lngyesCoordinates (WGS84)
daysnoForecast length 1-16 (default 7)
hourlynoComma list of hourly variables (default: temperature_2m, precipitation, weather_code, wind_speed_10m)
dailynoInclude to add a daily block (empty = sensible defaults incl. sunrise/sunset, min/max, precipitation probability)
currentnoInclude to add current conditions (empty = defaults)
curl "https://api.weathermetro.com/v2/forecast?lat=51.5&lng=-0.13&daily&current&api_key=KEY"

GET /v2/current all plans

Current conditions from the freshest model analysis: temperature, humidity, precipitation, weather code, wind, pressure, cloud cover.

curl "https://api.weathermetro.com/v2/current?lat=5.56&lng=-0.20&api_key=KEY"

GET /v2/nowcast Starter+

Minute-scale precipitation for the next hours. Tiered by best available source: radar optical flow (US & Europe), satellite, or sub-hourly model - the response's source field tells you which.

curl "https://api.weathermetro.com/v2/nowcast?lat=40.64&lng=-73.78&api_key=KEY"

GET /v2/airquality Starter+

Hourly PM2.5, PM10, ozone, NO₂, SO₂, CO and UV index worldwide (Copernicus CAMS); six pollen species across Europe via the hourly parameter.

curl "https://api.weathermetro.com/v2/airquality?lat=28.61&lng=77.21&api_key=KEY"

GET /v2/history Business+

Daily historical weather for any coordinate back to 1940 (ERA5 reanalysis).

PARAMREQUIREDDESCRIPTION
lat, lngyesCoordinates
start_date, end_dateyesYYYY-MM-DD (1940-01-01 → ~5 days ago)
dailynoComma list of daily variables
curl "https://api.weathermetro.com/v2/history?lat=52.52&lng=13.40&start_date=2000-08-06&end_date=2000-08-06&api_key=KEY"

GET /v2/alerts Starter+

Active severe-weather alerts for a point. United States today (NWS); European and Canadian feeds are on the roadmap.

curl "https://api.weathermetro.com/v2/alerts?lat=35.22&lng=-97.44&api_key=KEY"

GET /v2/locations all plans

Search-as-you-type over every town and city on Earth, population-ranked. Params: q (required), limit (≤25).

curl "https://api.weathermetro.com/v2/locations?q=kuma&api_key=KEY"

GET /v2/location all plans

Resolve a WeatherMetro slug to a place record (name, coordinates, country, timezone, population). Param: slug.

GET /v2/nearby all plans

Nearest towns to a coordinate - reverse location lookup. Params: lat, lng, limit (≤10).

GET /v2/status

Health check. Returns {"status":"ok"}. Unmetered.

Attribution

WeatherMetro is built on open data. Free-tier usage must display "Weather data by WeatherMetro" with a link. Upstream sources (ECMWF, NOAA, DWD, Météo-France, Copernicus, GeoNames and others) are credited in full on our attribution page - link or surface it where practical.

Ready to build?

Your key is one signup away - 100,000 calls a month, free.

Get your API key