Hear the Story Behind Tomorrow.io’s Historic Launch: Watch “6 Years to Launch” Now”

X

Tomorrow.io Completes Successful Launch of First Private Weather-Radar Satellite

 Historic Satellite Launch Paves Way for Groundbreaking Advancement in Global Weather Forecasting

Recognized as a leader by experts

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.

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:

Integrate and Adapt with the World’s Leading Weather API

Get fast, reliable, and hyper-accurate weather data with 80+ layers and insights.

Integrate cutting-edge, real-time weather data directly into your applications.

Access ultra-accurate, hyperlocal data up to 14 days in the future for any location on the globe.

Optimize your operations with access to hourly and daily historical weather data up to 20 years in the past.

Shell
				
					curl --request GET \
        --url 'https://api.tomorrow.io/v4/weather/realtime?location=toronto&apikey=XXX'\
        --header 'accept: application/json'
				
			
				
					{
  "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"
  }
}

				
			
				
					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"
  }
}

				
			
				
					curl --request GET \
        --url 'https://api.tomorrow.io/v4/weather/forecast?location=newyork&apikey=XXX' \
        --header 'accept: application/json'
				
			
				
					const options = {method: 'GET',
headers: {accept: 'application/json'}};

fetch('https://api.tomorrow.io/v4/weather/forecast?location=newyork&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.weatherForecast({location: 'newyork'})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));

				
			
				
					import requests

url = "https://api.tomorrow.io/v4/weather/forecast?location=newyork&apikey=XXX"
headers = {"accept": "application/json"}
response = requests.get(url, headers=headers)

print(response.text)

				
			
				
					library(httr)

url <- "https://api.tomorrow.io/v4/weather/forecast"

queryString <- list(
  location = "newyork",
  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/forecast?location=newyork&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/forecast?location=newyork&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))
}

				
			
				
					{
  "timelines":{
     "minutely":[],
     "hourly":[ "time":"2023-02-14T13:00:00Z",
            "values":{
               "cloudBase":1.46,
               "cloudCeiling":1.46,
               "cloudCover":0,
               "dewPoint":-6.5,
               "evapotranspiration":0.055,
               "freezingRainIntensity":0,
               "humidity":54,
               "iceAccumulation":0,
               "iceAccumulationLwe":0,
               "precipitationProbability":0,
               "pressureSurfaceLevel":1013.22,
               "rainAccumulation":0,
               "rainAccumulationLwe":0,
               "rainIntensity":0,
               "sleetAccumulation":0,
               "sleetAccumulationLwe":0,
               "sleetIntensity":0,
               "snowAccumulation":0,
               "snowAccumulationLwe":0,
               "snowIntensity":0,
               "temperature":2,
               "temperatureApparent":0.13,
               "uvHealthConcern":0,
               "uvIndex":0,
               "visibility":16,
               "weatherCode":1000,
               "windDirection":337.63,
               "windGust":3.19,
               "windSpeed":1.81
            }
         },
],
     "daily":[  {
            "time":"2023-02-14T00:00:00Z",
            "values":{
               "cloudBaseAvg":1.71,
               "cloudBaseMax":2.26,
               "cloudBaseMin":0,
               "cloudCeilingAvg":1.53,
               "cloudCeilingMax":2.41,
               "cloudCeilingMin":0,
               "cloudCoverAvg":15.18,
               "cloudCoverMax":70,
               "cloudCoverMin":0,
               "dewPointAvg":-6.52,
               "dewPointMax":-3.5,
               "dewPointMin":-8.99,
               "evapotranspirationAvg":0.095,
               "evapotranspirationMax":0.2,
               "evapotranspirationMin":0.054,
               "evapotranspirationSum":2.28,
               "freezingRainIntensityAvg":0,
               "freezingRainIntensityMax":0,
               "freezingRainIntensityMin":0,
               "humidityAvg":48.55,
               "humidityMax":54.75,
               "humidityMin":39,
               "iceAccumulationAvg":0,
               "iceAccumulationLweAvg":0,
               "iceAccumulationLweMax":0,
               "iceAccumulationLweMin":0,
               "iceAccumulationMax":0,
               "iceAccumulationMin":0,
               "iceAccumulationSum":0,
               "moonriseTime":"2023-02-14T16:57:59Z",
               "moonsetTime":"2023-02-14T01:56:19Z",
               "precipitationProbabilityAvg":0.4,
               "precipitationProbabilityMax":10,
               "precipitationProbabilityMin":0,
               "pressureSurfaceLevelAvg":1012.55,
               "pressureSurfaceLevelMax":1018.98,
               "pressureSurfaceLevelMin":1007.95,
               "rainAccumulationAvg":0,
               "rainAccumulationLweAvg":0,
               "rainAccumulationLweMax":0.01,
               "rainAccumulationLweMin":0,
               "rainAccumulationMax":0.01,
               "rainAccumulationMin":0,
               "rainAccumulationSum":0.01,
               "rainIntensityAvg":0,
               "rainIntensityMax":0.1,
               "rainIntensityMin":0,
               "sleetAccumulationAvg":0,
               "sleetAccumulationLweAvg":0,
               "sleetAccumulationLweMax":0,
               "sleetAccumulationLweMin":0,
               "sleetAccumulationMax":0,
               "sleetAccumulationMin":0,
               "sleetIntensityAvg":0,
               "sleetIntensityMax":0,
               "sleetIntensityMin":0,
               "snowAccumulationAvg":0,
               "snowAccumulationLweAvg":0,
               "snowAccumulationLweMax":0,
               "snowAccumulationLweMin":0,
               "snowAccumulationMax":0,
               "snowAccumulationMin":0,
               "snowAccumulationSum":0,
               "snowIntensityAvg":0,
               "snowIntensityMax":0,
               "snowIntensityMin":0,
               "sunriseTime":"2023-02-13T21:28:00Z",
               "sunsetTime":"2023-02-14T08:22:00Z",
               "temperatureApparentAvg":1.45,
               "temperatureApparentMax":9.38,
               "temperatureApparentMin":-7,
               "temperatureAvg":3.41,
               "temperatureMax":9.38,
               "temperatureMin":-0.71,
               "uvHealthConcernAvg":0,
               "uvHealthConcernMax":1,
               "uvHealthConcernMin":0,
               "uvIndexAvg":0,
               "uvIndexMax":2,
               "uvIndexMin":0,
               "visibilityAvg":16,
               "visibilityMax":16,
               "visibilityMin":16,
               "weatherCodeMax":1000,
               "weatherCodeMin":1000,
               "windDirectionAvg":310.88,
               "windGustAvg":4.34,
               "windGustMax":10.56,
               "windGustMin":2.36,
               "windSpeedAvg":3.17,
               "windSpeedMax":7.36,
               "windSpeedMin":1.75
            }
         },
]

   },
   "location":{
      "lat":35.72515106201172,
      "lon":139.76300048828125,
      "name":"NEWYORK, 不忍通り, 千駄木三丁目, 文京区, 東京都, 113-0022, 日本",
      "type":"yes"
   }
}


				
			
				
					curl --request GET \
        --url 'https://api.tomorrow.io/v4/weather/history/recent?location=austin&apikey=XXX'\
        --header 'accept: application/json'

				
			
				
					const options = {method: 'GET', 
headers: {accept: 'application/json'}};

fetch('https://api.tomorrow.io/v4/weather/history/recent?location=austin&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.weatherRecentHistory({location: 'austin'})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));

				
			
				
					import requests

url = "https://api.tomorrow.io/v4/weather/history/recent?location=austin&apikey=XXX"
headers = {"accept": "application/json"}
response = requests.get(url, headers=headers)

print(response.text)

				
			
				
					library(httr)

url <- "https://api.tomorrow.io/v4/weather/history/recent"

queryString <- list(
  location = "austin",
  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/history/recent?location=austin&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/history/recent?location=austin&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))
}

				
			
				
					{
  "timelines":{
  "hourly":[
     {
        "time":"2023-02-13T13:00:00Z",
        "values":{
           "cloudBase":0.35,
           "cloudCeiling":0.35,
           "cloudCover":52,
           "dewPoint":3,
           "evapotranspiration":0.022,
           "freezingRainIntensity":0,
           "humidity":82,
           "iceAccumulation":0,
           "iceAccumulationLwe":0,
           "precipitationProbability":0,
           "pressureSurfaceLevel":999.62,
           "rainAccumulation":0,
           "rainAccumulationLwe":0,
           "rainIntensity":0,
           "sleetAccumulation":0,
           "sleetAccumulationLwe":0,
           "sleetIntensity":0,
           "snowAccumulation":0,
           "snowAccumulationLwe":0,
           "snowDepth":0,
           "snowIntensity":0,
           "temperature":5.81,
           "temperatureApparent":5.81,
           "uvHealthConcern":0,
           "uvIndex":0,
           "visibility":16,
           "weatherCode":1101,
           "windDirection":123.31,
           "windGust":1,
           "windSpeed":0.69
        }
     }
  ],
  "daily":[
     {
        "time":"2023-02-13T00:00:00Z",
        "values":{
           "cloudBaseAvg":0.56,
           "cloudBaseMax":2.06,
           "cloudBaseMin":0,
           "cloudCeilingAvg":0.18,
           "cloudCeilingMax":1.35,
           "cloudCeilingMin":0,
           "cloudCoverAvg":33.29,
           "cloudCoverMax":100,
           "cloudCoverMin":0,
           "dewPointAvg":4.2,
           "dewPointMax":12.81,
           "dewPointMin":-0.81,
           "evapotranspirationAvg":0.105,
           "evapotranspirationMax":0.342,
           "evapotranspirationMin":0.019,
           "evapotranspirationSum":2.531,
           "freezingRainIntensityAvg":0,
           "freezingRainIntensityMax":0,
           "freezingRainIntensityMin":0,
           "humidityAvg":61.04,
           "humidityMax":82,
           "humidityMin":32,
           "iceAccumulationAvg":0,
           "iceAccumulationLweAvg":0,
           "iceAccumulationLweMax":0,
           "iceAccumulationLweMin":0,
           "iceAccumulationMax":0,
           "iceAccumulationMin":0,
           "iceAccumulationSum":0,
           "moonriseTime":"2023-02-13T07:00:46Z",
           "moonsetTime":"2023-02-13T17:45:04Z",
           "precipitationProbabilityAvg":0,
           "precipitationProbabilityMax":0,
           "precipitationProbabilityMin":0,
           "pressureSurfaceLevelAvg":998.83,
           "pressureSurfaceLevelMax":1000.73,
           "pressureSurfaceLevelMin":993.72,
           "rainAccumulationAvg":0,
           "rainAccumulationLweAvg":0,
           "rainAccumulationLweMax":0,
           "rainAccumulationLweMin":0,
           "rainAccumulationMax":0,
           "rainAccumulationMin":0,
           "rainAccumulationSum":0,
           "rainIntensityAvg":0,
           "rainIntensityMax":0,
           "rainIntensityMin":0,
           "sleetAccumulationAvg":0,
           "sleetAccumulationLweAvg":0,
           "sleetAccumulationLweMax":0,
           "sleetAccumulationLweMin":0,
           "sleetAccumulationMax":0,
           "sleetAccumulationMin":0,
           "sleetIntensityAvg":0,
           "sleetIntensityMax":0,
           "sleetIntensityMin":0,
           "snowAccumulationAvg":0,
           "snowAccumulationLweAvg":0,
           "snowAccumulationLweMax":0,
           "snowAccumulationLweMin":0,
           "snowAccumulationMax":0,
           "snowAccumulationMin":0,
           "snowAccumulationSum":0,
           "snowDepthAvg":0,
           "snowDepthMax":0,
           "snowDepthMin":0,
           "snowDepthSum":0,
           "snowIntensityAvg":0,
           "snowIntensityMax":0,
           "snowIntensityMin":0,
           "sunriseTime":"2023-02-12T13:12:00Z",
           "sunsetTime":"2023-02-13T00:18:00Z",
           "temperatureApparentAvg":11.95,
           "temperatureApparentMax":21.5,
           "temperatureApparentMin":5.81,
           "temperatureAvg":11.95,
           "temperatureMax":21.5,
           "temperatureMin":5.81,
           "uvHealthConcernAvg":0,
           "uvHealthConcernMax":1,
           "uvHealthConcernMin":0,
           "uvIndexAvg":1,
           "uvIndexMax":4,
           "uvIndexMin":0,
           "visibilityAvg":16,
           "visibilityMax":16,
           "visibilityMin":16,
           "weatherCodeMax":1000,
           "weatherCodeMin":1000,
           "windDirectionAvg":162.33,
           "windGustAvg":4.01,
           "windGustMax":8,
           "windGustMin":0.5,
           "windSpeedAvg":2.18,
           "windSpeedMax":5.19,
           "windSpeedMin":0.31
        }
     }
  ]
},
   
"location":{
      "lat":30.271127700805664,
      "lon":-97.74369812011719,
      "name":"Austin, Travis County, Texas, United States",
      "type":"administrative"
   }
}

				
			
See More Videos

“Tomorrow.io gives us the ability to see ahead to the future and understand what’s going to happen so we can plan our day a little better.”

Brad Cheney / VP of Field Operations and Engineering

News & Events

Tomorrow.io Enters ChatpGPT’s Plugin Store as the First Weather Forecasting Plugin
Tomorrow.io’s Historic Satellite Launch Paves Way for Groundbreaking Advancement in Global Weather Forecasting
Tomorrow.io's Next Generation v2.0 Unified Precipitation Next Generation v2.0 improves short-term forecast accuracy and processing speed for US precipitation data.
Tomorrow.io Releases Next Generation Real-Time and Nowcast Global Precipitation Data
Sick of Bumpy, Delayed Flights? New Weather Tech Could Help.
Get The World's Most Advanced Weather Intelligence