Solve any operational challenge.
Build, standardize, and automate operating protocols with fully documented end-to-end workflows.
A New Era of Real-time Weather Intelligence
Tomorrow.io’s first satellite and upcoming constellation is not only revolutionizing weather forecasting but bridging a radar coverage gap for five billion people—all while transforming data inputs for our cutting-edge weather intelligence technology.
The World’s Only Space AI Weather Engine
Unleash the power of our AI engine fueled by the world’s first commercially built weather radar satellite. Get vastly superior forecasts from AI-driven models and actionable insights through Gale, the world’s first weather and climate-generative AI.
Adapt at Scale from One Central Location
Backed by weather intelligence, Tomorrow.io’s Weather and Climate Security Platform empowers teams of all sizes to make the right decisions at the right time with:
- Hyperlocal monitoring
- Predictive Insights
- Automated alerts
Integrate and Adapt with the World’s Best Free Weather API
Get fast, reliable, and hyper-accurate weather data with 60+ layers and insights
Learn More about Weather APIReal Time
Integrate cutting-edge, real-time weather data directly into your applications.
Weather Forecast API
Historical Weather API
Shell
curl --request GET \
--url 'https://api.tomorrow.io/v4/weather/realtime?location=toronto&apikey=XXX'\
--header 'accept: application/json'
const options = {method: 'GET',
headers: {accept: 'application/json'}};
fetch('https://api.tomorrow.io/v4/weather/realtime?location=toronto&apikey=XXX, options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
const sdk = require('api')('@climacell-docs/v4#3efoz19ldn18lig');
sdk.auth('XXX');
sdk.realtimeWeather({location: 'toronto'})
.then(({ data }) => console.log(data))
.catch(err => console.error(err));
import requests
url = "https://api.tomorrow.io/v4/weather/realtime?location=toronto&apikey=XXX"
headers = {"accept": "application/json"}
response = requests.get(url, headers=headers)
print(response.text)
library(httr)
url <- "https://api.tomorrow.io/v4/weather/realtime"
queryString <- list(
location = "toronto",
apikey = "XXX"
)
response <- VERB("GET", url, query = queryString, content_type("application/octet-stream"), accept("application/json"))
content(response, "text")
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.tomorrow.io/v4/weather/realtime?location=toronto&apikey=XXX")
.get()
.addHeader("accept", "application/json")
.build();
Response response = client.newCall(request).execute();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.tomorrow.io/v4/weather/realtime?location=toronto&apikey=XXX"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("accept", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
{
"data": {
"time": "2023-02-14T13:53:00Z",
"values": {
"cloudBase": null,
"cloudCeiling": null,
"cloudCover": 5,
"dewPoint": -0.19,
"freezingRainIntensity": 0,
"humidity": 100,
"precipitationProbability": 0,
"pressureSurfaceLevel": 1005.56,
"rainIntensity": 0,
"sleetIntensity": 0,
"snowIntensity": 0,
"temperature": 0.31,
"temperatureApparent": 0.31,
"uvHealthConcern": 0,
"uvIndex": 0,
"visibility": 14.43,
"weatherCode": 1000,
"windDirection": 278.31,
"windGust": 1.19,
"windSpeed": 1.19
}
},
"location": {
"lat": 43.653480529785156,
"lon": -79.3839340209961,
"name": "Old Toronto, Toronto, Golden Horseshoe, Ontario, Canada",
"type": "administrative"
}
}