fshy

Home / Data APIs

Tomorrow.io

www.tomorrow.io/weather-api/Weather APIdata-apis/tomorrow-ioJSONcomparereport an errorprovider JSON

Free allowance
Free plan: 500 requests a day, 25 an hour and 3 a second, with a 5-day forecast, 24 hours of historical weather, core data layers, 1 automatically monitored location and 1 weather-based alert.
Verdict
caveatusable, with a named limit or an unprobed read path
Cost
free tier
Identity
emailno card, no phone
Binding limit
request-rate500 requests a day; 25 requests an hour; 3 requests a second
Evidence
documented58 sources; a first-party page was read and the sentence quoted
Freshness
stale on 2026-12-04checked 2026-11-03 (live); stale on 2026-12-04
Free tierFree plan: 500 requests a day, 25 an hour and 3 a second, with a 5-day forecast, 24 hours of historical weather, core data layers, 1 automatically monitored location and 1 weather-based alert.
unit requests; metered on request-count; Each API key has its own rate limits and token balance. No bulk path on the Free plan: history beyond 24 hours is the Historical API, which runs on a token balance and returns at most 31 days a call.
Pricenone stated
Limits
  • request-rate (binding) 500 requests a day source
  • request-rate (binding) 25 requests an hour source
  • request-rate (binding) 3 requests a second source
Bindingrequest-rate 25 an hour over 24 hours is 600, above the 500 a day, so the daily cap binds a steady poller and the hourly cap binds a burst.
Identityemail The Create Account page offers SSO, Google or GitHub sign-up, or its own form behind a reCAPTCHA: an email address and a password, each marked required, and a terms checkbox. No phone number is asked by default: a link on the form reveals a phone field labelled optional, and the page's script has a phone-verification step with a skip button. A Tomorrow.io landing page says no credit card is required. Steps after the form, such as email confirmation and onboarding, are unverified: behind a sign-up. A keyed call needs the account's key; GET /v4/timelines in the lat,lon query form and map tiles answer with no account.
Egressnot applicable
Retentionnot applicable: the unit is a request
Interfacerest REST over HTTPS with the key in the apikey query parameter or header; JSON answers. Tomorrow.io lists the Timeline and Maps APIs as keyless (beta), rate-limited by IP address and meant for testing and evaluation; every other endpoint needs a key. A hosted MCP server at /v4/weather-intelligence/mcp documents no authentication.
Toolingany HTTP client; the key goes in the apikey query parameter or header. With no key, GET /v4/timelines in the lat,lon query form answers HTTP 200 for core fields, and the answers that carry rate-limit headers list 2 requests a second, 50 an hour and 200 a day; a burst of calls draws a Too Many Calls error with a Retry-After header; a map tile answers HTTP 200; a pollen field (pollenTree) is rejected as an unknown field, and the realtime endpoint needs the key.
Composes withA small keyed forecast source: 5-day forecasts and realtime values per location at 500 requests a day, with no history beyond 24 hours on the Free plan.
ReliabilityOver the limits the API answers HTTP 429; a realtime call with no key answered HTTP 401 with code 401001, where the docs name 403, although the LLM docs page says the API can be used with no key.
NotesBulk path: none on Free; the Historical API is token-based and returns 31 days a call at most.
Evidence notedocumented Free-plan limits are read from a Tomorrow.io FAQ page (the pricing page answered 404); plan contents, storage terms and the sign-up routes are first-party; a call with no key answered HTTP 401, so the free key was not exercised.
Parsed numbers
  • has-free-tier 1
  • request-rate 500 requests / day
  • request-rate 25 requests / hour
  • request-rate 3 requests
Evidence 58
datesourcewhat it proved
2026-10-31www.tomorrow.io/a/faq/weather-api/how-can-i-monitor-my-weaththe list that follows is the Free plan's rate limits
2026-10-31www.tomorrow.io/a/faq/weather-api/how-can-i-monitor-my-weaththe Free plan allows 500 requests a day
2026-10-31www.tomorrow.io/a/faq/weather-api/how-can-i-monitor-my-weaththe Free plan allows 25 requests an hour
2026-10-31www.tomorrow.io/a/faq/weather-api/how-can-i-monitor-my-weaththe Free plan allows 3 requests a second
2026-10-31docs.tomorrow.io/reference/rate-limitingover the limits the API answers 429
2026-10-31docs.tomorrow.io/reference/rate-limitingeach API key has its own limits and tokens
2026-10-31www.tomorrow.io/weather-api/the Free plan forecasts 5 days
2026-10-31www.tomorrow.io/weather-api/the Free plan reaches 24 hours of history
2026-10-31www.tomorrow.io/weather-api/the Free plan monitors 1 location
2026-10-31www.tomorrow.io/weather-api/the Free plan has 1 alert
2026-10-31docs.tomorrow.io/reference/historical-overviewthe Historical API runs on a token balance
2026-10-31docs.tomorrow.io/reference/historical-overviewa Historical API call returns at most 31 days
2026-10-31www.tomorrow.io/legal/terms-of-servicestoring the unaltered data feed needs an order
2026-10-31www.tomorrow.io/legal/terms-of-servicenot published
2026-10-31app.tomorrow.io/signupsign-up is by SSO, Google, GitHub or the page's own form
2026-10-31docs.tomorrow.io/reference/api-authenticationevery call needs a key
2026-10-31docs.tomorrow.io/reference/api-authenticationthe key goes in a query parameter or a header
2026-10-31docs.tomorrow.io/reference/api-authenticationthe docs name 403 for an unauthenticated call
2026-10-31www.tomorrow.io/weather-api/the Free plan includes the core data layers
2026-10-31www.tomorrow.io/a/faq/weather-api/what-is-rate-limiting-in-ta second Tomorrow.io FAQ page gives the same free-plan limits
2026-10-31info.tomorrow.io/weather-api-ad-1a Tomorrow.io landing page says sign-up needs no credit card
2026-10-31www.tomorrow.io/a/faq/weather-api/how-can-i-use-a-weather-apthe key comes from an account opened with basic login information
2026-10-31app.tomorrow.io/signupthe rendered sign-up form is behind a reCAPTCHA
2026-10-31llm-docs.tomorrow.io/the LLM docs page states use with no key; the realtime probe with no key answered 401, so no keyless path was confirmed
2026-10-31probe: https://api.tomorrow.io/v4/weather/realtimea call with no key answers HTTP 401
2026-10-31free-for.dev/listed on free-for.dev as a free weather API plan
2026-10-31raw.githubusercontent.com/public-apis/public-apis/master/REAlisted under Weather in the public-apis list with an apiKey
2026-11-02app.tomorrow.io/tomorrow.02c48c8c18b1cb425b03.jsthe phone field that the form's phone link reveals is labelled optional
2026-11-02probe: https://api.tomorrow.io/v4/timelinesa Timelines call with no key answered with limit headers of 2 a second, 50 an hour and 200 a day
2026-11-02support.tomorrow.io/hc/en-us/articles/31227543026708-How-to-the keyless mode is limited to the Timeline and Maps endpoints
2026-11-02support.tomorrow.io/hc/en-us/articles/20273728362644-Free-APthe Free API plan allows 25 requests an hour
2026-11-02support.tomorrow.io/hc/en-us/articles/20273728362644-Free-APthe Free API plan allows 3 requests a second
2026-11-02www.tomorrow.io/weather-api/the Free plan lists a 5-day forecast, 24 hours of history, core layers, 1 monitored location and 1 alert
2026-11-02app.tomorrow.io/signupthe rendered Create Account form has an email field marked required
2026-11-02app.tomorrow.io/signupthe rendered form has a password field marked required
2026-11-02app.tomorrow.io/signupthe form has no phone input; a link reveals a phone field
2026-11-02app.tomorrow.io/signupthe sign-up page loads the reCAPTCHA script
2026-11-02app.tomorrow.io/tomorrow.02c48c8c18b1cb425b03.jsthe script's phone-verification step has a Skip for now button
2026-11-02info.tomorrow.io/weather-api-ad-1a Tomorrow.io landing page still says sign-up needs no credit card
2026-11-02support.tomorrow.io/hc/en-us/articles/31227543026708-How-to-keyless requests are rate-limited by IP address
2026-11-02support.tomorrow.io/hc/en-us/articles/31227543026708-How-to-keyless mode is for testing and evaluation only
2026-11-02support.tomorrow.io/hc/en-us/articles/31227543026708-How-to-every endpoint other than Timeline and Maps needs an API key
2026-11-02docs.tomorrow.io/reference/mcp-appthe MCP App server documents no authentication and no account
2026-11-02llm-docs.tomorrow.io/the LLM docs home page still says no API key is required
2026-11-02llm-docs.tomorrow.io/weather-timelinesthe LLM docs page for Timelines documents POST with the API key as authentication
2026-11-02docs.tomorrow.io/reference/api-authenticationthe reference docs say every request needs a key
2026-11-02docs.tomorrow.io/reference/api-authenticationthe key goes in a query parameter or a header
2026-11-02probe: https://api.tomorrow.io/v4/timelinesa Timelines call in the lat,lon query form with no key answered HTTP 200
2026-11-02probe: https://api.tomorrow.io/v4/timelinesthe keyless Timelines answer carries hourly temperature intervals
2026-11-02probe: https://api.tomorrow.io/v4/timelinesa second keyless Timelines call listed the same hourly and daily limits
2026-11-02probe: https://api.tomorrow.io/v4/timelinesa keyless Timelines call for three core fields answered with their values
2026-11-02probe: https://api.tomorrow.io/v4/timelinesa keyless Timelines call for a pollen field answered a 400 body that names the field unknown
2026-11-02probe: https://api.tomorrow.io/v4/timelinesa burst of keyless Timelines calls drew a Too Many Calls error body
2026-11-02probe: https://api.tomorrow.io/v4/timelinesthe keyless Too Many Calls answer carries a Retry-After header
2026-11-02probe: https://api.tomorrow.io/v4/weather/realtimea realtime call with no key answers HTTP 401
2026-11-02probe: https://api.tomorrow.io/v4/map/tile/3/4/2/precipitationIntensity/now.pnga map tile call with no key answered HTTP 200 with a PNG image
2026-11-02probe: https://api.tomorrow.io/v4/weather-intelligence/mcpthe MCP endpoint answered a GET with HTTP 405 and a JSON-RPC error, not an authentication error
2026-11-02support.tomorrow.io/hc/en-us/articles/20273728362644-Free-APthe Free API plan allows 500 requests a day
Unknown values 2
  • egress terms: the field does not apply to this kind of offer
  • per object cap stated: the field does not apply to this kind of offer