🌤

Simple Weather API

Effortlessly get up-to-date and forecasted weather data for millions of places across the world with our Simple Weather API.
You need to provide your API key for every API request you make. Please refer to the Getting Started section for more details.
You can check our Errors section to understand how we handle errors and the responses you will receive in cases when errors occur.

Get weather (/weather)

Endpoint used for getting current and forecasted weather data in the specified location.

Request parameters

Key
Explanation
Type
Required
location
Location for which you would like to get weather for. Our API does smart location matching, and you can provide location by specifying city, city and country (for better matching) or by specifying coordinates of the location.
string
true
temperature_scale
Temperature scale you would like to use. Possible values are C or c (for Celsius temperature scale) and F or f for Fahrenheit temperature scale. Defaults to Fahrenheit temperature scale.
string
false

Examples

The following example shows how to get current and forecasted weather data for Paris, France:
GET /weather?location=Paris,France
RESPONSE:
{
"location": {
"name": "Paris, France",
"latitude": 48.857,
"longitude": 2.351,
"alert": ""
},
"temperature_scale": {
"name": "Fahrenheit",
"symbol": "F"
},
"current_weather": {
"date": "2022-04-23",
"day": "Saturday",
"temperature": 58,
"feels_like": 59,
"description": "Clear",
"humidity": 67,
"wind": {
"description": "10 mph Northeast",
"speed": "10 mph"
},
"observation": {
"date": "2022-04-23",
"time": "21:00:00",
"place": "7 Place de l'Hôtel de Ville-Esplanade de la Libération, 75004 Paris"
}
},
"forecast": [
{
"date": "2022-04-22",
"day": "Friday",
"low": 49,
"high": 67,
"description": "Mostly Cloudy",
"precipitation_chance": 0
},
{
"date": "2022-04-23",
"day": "Saturday",
"low": 51,
"high": 69,
"description": "Cloudy",
"precipitation_chance": 0.7
},
{
"date": "2022-04-24",
"day": "Sunday",
"low": 50,
"high": 66,
"description": "Mostly Cloudy",
"precipitation_chance": 0.7
},
{
"date": "2022-04-25",
"day": "Monday",
"low": 46,
"high": 63,
"description": "Partly Sunny",
"precipitation_chance": 0.5
},
{
"date": "2022-04-26",
"day": "Tuesday",
"low": 47,
"high": 63,
"description": "Partly Sunny",
"precipitation_chance": 0.5
}
]
}
Alternatively, you could specify the exact coordinates you would like to get weather data for, and our API will perform weather lookup based on the specified coordinates:
GET /weather?location=48.857,2.351
RESPONSE:
{
"location": {
"name": "Paris, France",
"latitude": 48.857,
"longitude": 2.351,
"alert": ""
},
"temperature_scale": {
"name": "Fahrenheit",
"symbol": "F"
},
"current_weather": {
"date": "2022-04-23",
"day": "Saturday",
"temperature": 58,
"feels_like": 59,
"description": "Sunny",
"humidity": 72,
"wind": {
"description": "8 mph Northeast",
"speed": "8 mph"
},
"observation": {
"date": "2022-04-23",
"time": "20:30:00",
"place": "Paris, France"
}
},
"forecast": [
...
]
}
If you would like to change the temperature scale used, you can use the temperature_scale parameter:
GET /weather?location=Paris,France&temperature_scale=C
RESPONSE:
{
"location": {
"name": "Paris, France",
"latitude": 48.857,
"longitude": 2.351,
"alert": ""
},
"temperature_scale": {
"name": "Celsius",
"symbol": "C"
},
"current_weather": {
"date": "2022-04-23",
"day": "Saturday",
"temperature": 15,
"feels_like": 15,
"description": "Clear",
"humidity": 67,
"wind": {
"description": "17 km/h Northeast",
"speed": "17 km/h"
},
"observation": {
"date": "2022-04-23",
"time": "20:30:00",
"place": "Paris, France"
}
},
"forecast": [
...
]
}

Response structure

Every successful response will have the structure explained in the table below:
Key
Explanation
Type
location.name
Name of the matched location for which we return weather data.
string
location.latitude
Matched location latitude.
number
location.longitude
Matched location longitude.
number
location.alert
Contains weather alert (if there is an alert) for the specified location.
string
temperature_scale.name
Name of the temperature scale used. Possible values are Celsius and Fahrenheit.
string
temperature_scale.symbol
Symbol of the temperature scale used. Possible values are C and F.
string
current_weather.date
Current date for which we return weather data.
string
current_weather.day
Name of the day of the current date (e.g. Monday, Tuesday, etc.).
string
current_weather.temperature
Current temperature in the provided location. Expressed in the specified temperature scale.
number
current_weather.feels_like
What current temperature in the provided location feels like. Expressed in the specified temperature scale.
number
current_weather.description
Description of the current weather in the specified location (e.g. Mostly Sunny, Light Rain, Partly Sunny, etc.).
string
current_weather.humidity
Humidity level in the provided location.
number
current_weather.wind.description
Description of the wind in the specified location (e.g. 11 km/h South).
string
current_weather.wind.speed
Speed of the wind in the specified location (e.g. 11 km/h).
string
current_weather.observation.date
Date on which weather observation was done.
string
current_weather.observation.time
Time on which weather observation was done.
string
current_weather.observation.place
Place on which weather observation was done.
string
forecast.date
Date for the forecasted weather.
string
forecast.day
Name of the day of the forecasted date (e.g. Monday, Tuesday, etc.).
string
forecast.low
Forecasted low temperature. Expressed in the specified temperature scale.
number
forecast.high
Forecasted high temperature. Expressed in the specified temperature scale.
number
forecast.description
Description of the forecasted weather (e.g. Mostly Sunny, Light Rain, Partly Sunny, etc.).
string
forecast.precipitation_chance
Chance of precipitation, expressed as a number between 0 and 1.
number