Weather — entry 030 of 31

Weatherbit

Verified Jul 2026

Weatherbit aggregates more than 20 data sources - stations, radar, satellite, and models - into current conditions, hourly and daily forecasts, and historical weather going back up to 30 years. Higher tiers add air quality, lightning, and agriculture/energy datasets aimed at commercial use cases.

forecasthistoricalair-qualitylightningagriculture
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSUnknownNot documented — test from the browser before relying on it.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score81out of 100
Authentication15/25API key required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 81 on greatapis.com
<a href="https://greatapis.com/api/weatherbit/"><img src="https://greatapis.com/badge/weatherbit.svg" alt="Scored 81 on greatapis.com"></a>

Auth quickstart

  1. Get a key at the provider
  2. Send it on every request as a headerAuthorization: <key>
  3. The exact header isn't documented — Authorization is a common default; confirm in the provider's docs.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.weatherbit.io/v2.0
16 day / daily Forecast4
GET/forecast/daily?city={city}&country={country}Returns a daily forecast - Given City and/or State, Country.
Parameters
NameInRequiredType
citypathyesstring
statequerynostring
countrypathyesstring
daysquerynonumber
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200A forecast object.ForecastDay
defaultNo Data.Error
GET/forecast/daily?city_id={city_id}Returns a daily forecast - Given a City ID.
Parameters
NameInRequiredType
city_idpathyesinteger
daysquerynonumber
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200A forecast object.ForecastDay
defaultNo Data.Error
GET/forecast/daily?lat={lat}&lon={lon}Returns a daily forecast - Given Lat/Lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
daysquerynonumber
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200A forecast object.ForecastDay
defaultNo Data.Error
GET/forecast/daily?postal_code={postal_code}Returns a daily forecast - Given a Postal Code.
Parameters
NameInRequiredType
postal_codepathyesinteger
countryquerynostring
daysquerynonumber
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200A forecast object.ForecastDay
defaultNo Data.Error
240 hour / hourly Forecast4
GET/forecast/hourly?city={city}&country={country}Returns an hourly forecast - Given City and/or State, Country.
Parameters
NameInRequiredType
citypathyesstring
statequerynostring
countrypathyesstring
unitsquerynostring
langquerynostring
callbackquerynostring
hoursquerynointeger
keyqueryyesstring
Responses
StatusDescriptionSchema
200A forecast object.ForecastHourly
defaultNo Data.Error
GET/forecast/hourly?city_id={city_id}Returns an hourly forecast - Given a City ID.
Parameters
NameInRequiredType
city_idpathyesinteger
unitsquerynostring
langquerynostring
callbackquerynostring
hoursquerynointeger
keyqueryyesstring
Responses
StatusDescriptionSchema
200A forecast object.ForecastHourly
defaultNo Data.Error
GET/forecast/hourly?lat={lat}&lon={lon}Returns an hourly forecast - Given a lat/lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
hoursquerynointeger
Responses
StatusDescriptionSchema
200A forecast object.ForecastHourly
defaultNo Data.Error
GET/forecast/hourly?postal_code={postal_code}Returns an hourly forecast - Given a Postal Code.
Parameters
NameInRequiredType
postal_codepathyesinteger
countryquerynostring
unitsquerynostring
langquerynostring
callbackquerynostring
hoursquerynointeger
keyqueryyesstring
Responses
StatusDescriptionSchema
200A forecast object.ForecastHourly
defaultNo Data.Error
Air Quality Forecast4
GET/forecast/airquality?city={city}&country={country}Returns 72 hour (hourly) Air Quality forecast - Given City and/or State, Country.
Parameters
NameInRequiredType
citypathyesstring
statequerynostring
countrypathyesstring
callbackquerynostring
hoursquerynointeger
keyqueryyesstring
Responses
StatusDescriptionSchema
200A forecast object.AQHourly
defaultNo Data.Error
GET/forecast/airquality?city_id={city_id}Returns 72 hour (hourly) Air Quality forecast - Given a City ID.
Parameters
NameInRequiredType
city_idpathyesinteger
callbackquerynostring
hoursquerynointeger
keyqueryyesstring
Responses
StatusDescriptionSchema
200A forecast object.AQHourly
defaultNo Data.Error
GET/forecast/airquality?lat={lat}&lon={lon}Returns 72 hour (hourly) Air Quality forecast - Given a lat/lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
callbackquerynostring
keyqueryyesstring
hoursquerynointeger
Responses
StatusDescriptionSchema
200A forecast object.AQHourly
defaultNo Data.Error
GET/forecast/airquality?postal_code={postal_code}Returns 72 hour (hourly) Air Quality forecast - Given a Postal Code.
Parameters
NameInRequiredType
postal_codepathyesinteger
countryquerynostring
callbackquerynostring
hoursquerynointeger
keyqueryyesstring
Responses
StatusDescriptionSchema
200A forecast object.AQHourly
defaultNo Data.Error
Alerts1
GET/alerts?lat={lat}&lon={lon}Returns severe weather alerts issued by meteorological agencies - Given a lat/lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200Weather Alert Object.WeatherAlert
defaultNo Data.Error
Bulk Downloads1
GET/bulk/files/{file}Download pre-generated bulk datasets
Parameters
NameInRequiredType
filepathyesstring
keyqueryyesstring
Responses
StatusDescriptionSchema
defaultNo Data.Error
Current Air Quality4
GET/current/airquality?city={city}&country={country}Returns current air quality conditions - Given City and/or State, Country.
Parameters
NameInRequiredType
citypathyesstring
statequerynostring
countrypathyesstring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200Current air quality conditionsAQCurrentGroup
defaultNo Data.Error
GET/current/airquality?city_id={city_id}Returns current air quality conditions - Given a City ID.
Parameters
NameInRequiredType
city_idpathyesinteger
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200Current air quality conditionsAQCurrentGroup
defaultNo Data.Error
GET/current/airquality?lat={lat}&lon={lon}Returns current air quality conditions - Given a lat/lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200Current air quality conditionsAQCurrentGroup
defaultNo Data.Error
GET/current/airquality?postal_code={postal_code}Returns current air quality conditions - Given a Postal Code.
Parameters
NameInRequiredType
postal_codepathyesinteger
countryquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200Current air quality conditionsAQCurrentGroup
defaultNo Data.Error
Current Weather Data8
GET/current?cities={cities}Returns a group of observations given a list of cities
Parameters
NameInRequiredType
citiespathyesstring
unitsquerynostring
marinequerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Observation Group object.CurrentObsGroup
defaultNo Data.Error
GET/current?city={city}&country={country}Returns a Current Observation - Given City and/or State, Country.
Parameters
NameInRequiredType
citypathyesstring
includequerynostring
statequerynostring
countrypathyesstring
marinequerynostring
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Observation Group object.CurrentObsGroup
defaultNo Data.Error
GET/current?city_id={city_id}Returns a current observation by city id.
Parameters
NameInRequiredType
city_idpathyesstring
unitsquerynostring
includequerynostring
marinequerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Observation Group object.CurrentObsGroup
defaultNo Data.Error
GET/current?lat={lat}&lon={lon}Returns a Current Observation - Given a lat/lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
includequerynostring
marinequerynostring
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Observation Group object.CurrentObsGroup
defaultNo Data.Error
GET/current?points={points}Returns a group of observations given a list of points in the format (lat1, lon1), (lat2, lon2), (latN, lonN), ...
Parameters
NameInRequiredType
pointspathyesstring
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Observation Group object.CurrentObsGroup
defaultNo Data.Error
GET/current?postal_code={postal_code}Returns a current observation by postal code.
Parameters
NameInRequiredType
postal_codepathyesstring
countryquerynostring
includequerynostring
marinequerynostring
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Observation Group object.CurrentObsGroup
defaultNo Data.Error
GET/current?station={station}Returns a Current Observation. - Given a station ID.
Parameters
NameInRequiredType
stationpathyesstring
includequerynostring
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Observation Group object.CurrentObsGroup
defaultNo Data.Error
GET/current?stations={stations}Returns a group of observations given a list of stations
Parameters
NameInRequiredType
stationspathyesstring
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Observation Group object.CurrentObsGroup
defaultNo Data.Error
Daily Historical Weather Data5
GET/history/daily?city={city}&country={country}Returns Historical Observations - Given City and/or State, Country.
Parameters
NameInRequiredType
citypathyesstring
statequerynostring
countrypathyesstring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Day Data Object.HistoryDay
defaultNo Data.Error
GET/history/daily?city_id={city_id}Returns Historical Observations - Given a City ID
Parameters
NameInRequiredType
city_idpathyesstring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Day Data Object.HistoryDay
defaultNo Data.Error
GET/history/daily?lat={lat}&lon={lon}Returns Historical Observations - Given a lat/lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Day Data Object.HistoryDay
defaultNo Data.Error
GET/history/daily?postal_code={postal_code}Returns Historical Observations - Given a Postal Code
Parameters
NameInRequiredType
postal_codepathyesstring
countryquerynostring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Day Data Object.HistoryDay
defaultNo Data.Error
GET/history/daily?station={station}Returns Historical Observations - Given a station ID.
Parameters
NameInRequiredType
stationpathyesstring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Day Data Object.HistoryDay
defaultNo Data.Error
Forecast Degree Day API1
GET/forecast/energy?lat={lat}&lon={lon}Returns Energy Forecast API response - Given a single lat/lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
thresholdquerynonumber
unitsquerynostring
tpquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Energy Data Object.EnergyObsGroupForecast
defaultNo Data.Error
Historical Air Quality4
GET/history/airquality?city={city}&country={country}Returns 72 hours of historical quality conditions - Given City and/or State, Country.
Parameters
NameInRequiredType
citypathyesstring
statequerynostring
countrypathyesstring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200Historical air quality conditionsAQCurrentGroup
defaultNo Data.Error
GET/history/airquality?city_id={city_id}Returns 72 hours of historical air quality conditions - Given a City ID.
Parameters
NameInRequiredType
city_idpathyesnumber
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200Historical air quality conditionsAQCurrentGroup
defaultNo Data.Error
GET/history/airquality?lat={lat}&lon={lon}Returns 72 hours of historical air quality conditions - Given a lat/lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200Historical air quality conditionsAQCurrentGroup
defaultNo Data.Error
GET/history/airquality?postal_code={postal_code}Returns 72 hours of historical air quality conditions - Given a Postal Code.
Parameters
NameInRequiredType
postal_codepathyesinteger
countryquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200Historical air quality conditionsAQCurrentGroup
defaultNo Data.Error
Historical Degree Day API1
GET/history/energy?lat={lat}&lon={lon}Returns Energy API response - Given a single lat/lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
start_datequeryyesstring
end_datequeryyesstring
tpquerynostring
thresholdquerynonumber
unitsquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Energy Data Object.EnergyObsGroup
defaultNo Data.Error
Hourly Historical Weather Data5
GET/history/hourly?city={city}&country={country}Returns Historical Observations - Given City and/or State, Country.
Parameters
NameInRequiredType
citypathyesstring
statequerynostring
countrypathyesstring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
tzquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Data Object.History
defaultNo Data.Error
GET/history/hourly?city_id={city_id}Returns Historical Observations - Given a City ID
Parameters
NameInRequiredType
city_idpathyesstring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
tzquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Data Object.History
defaultNo Data.Error
GET/history/hourly?lat={lat}&lon={lon}Returns Historical Observations - Given a lat/lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
tzquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Data Object.History
defaultNo Data.Error
GET/history/hourly?postal_code={postal_code}Returns Historical Observations - Given a Postal Code
Parameters
NameInRequiredType
postal_codepathyesstring
countryquerynostring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
tzquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Data Object.History
defaultNo Data.Error
GET/history/hourly?station={station}Returns Historical Observations - Given a station ID.
Parameters
NameInRequiredType
stationpathyesstring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
tzquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Data Object.History
defaultNo Data.Error
Sub-Hourly Historical Weather Data5
GET/history/subhourly?city={city}&country={country}Returns Historical Observations - Given City and/or State, Country.
Parameters
NameInRequiredType
citypathyesstring
statequerynostring
countrypathyesstring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
tzquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Data Object.History
defaultNo Data.Error
GET/history/subhourly?city_id={city_id}Returns Historical Observations - Given a City ID
Parameters
NameInRequiredType
city_idpathyesstring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
tzquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Data Object.HistorySubhourly
defaultNo Data.Error
GET/history/subhourly?lat={lat}&lon={lon}Returns Historical Observations - Given a lat/lon.
Parameters
NameInRequiredType
latpathyesnumber
lonpathyesnumber
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
tzquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Data Object.HistorySubhourly
defaultNo Data.Error
GET/history/subhourly?postal_code={postal_code}Returns Historical Observations - Given a Postal Code
Parameters
NameInRequiredType
postal_codepathyesstring
countryquerynostring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
tzquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Data Object.HistorySubhourly
defaultNo Data.Error
GET/history/subhourly?station={station}Returns Historical Observations - Given a station ID.
Parameters
NameInRequiredType
stationpathyesstring
start_datequeryyesstring
end_datequeryyesstring
unitsquerynostring
langquerynostring
tzquerynostring
callbackquerynostring
keyqueryyesstring
Responses
StatusDescriptionSchema
200An Historical Data Object.HistorySubhourly
defaultNo Data.Error

Try it

Developer reference

Base URLhttps://api.weatherbit.io/v2.0
Rate limit

Free tier: 50 calls/day

Key endpoints
  • GET/current?lat={lat}&lon={lon}
  • GET/forecast/daily?lat={lat}&lon={lon}
  • GET/forecast/hourly?lat={lat}&lon={lon}