The Weather Channel API: Get daily forecast
Gets The Weather Channel's daily forecast for a city, address, ZIP code or postcode: up to 15 upcoming days with highs, lows, conditions, rain chance, wind, humidity, UV and sun times.
Unofficial. Not affiliated with or endorsed by The Weather Channel.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Days optional
days Number of forecast days, for example 10.
15
Whole number from 1 to 15. Default
10.- Units optional
units Temperature and wind units, for example imperial.
metric
One of
imperial,metric. Defaultimperial.- Location, required
location Place to forecast, such as Austin, TX or SW1A 1AA.
SW1A 1AA
Input as JSON
{ "days": 15, "units": "metric", "location": "SW1A 1AA"}Output
{ "place": "City of Westminster, SW1A 1AA, London, England, United Kingdom", "forecasts": [ { "date": "2026-09-29", "sunset": "2026-09-29T18:43:14+01:00", "sunrise": "2026-09-29T06:57:56+01:00", "weekday": "Tuesday", "page_url": "https://weather.com/weather/tenday/l/51.501,-0.142" , "uv_index": 3, "wind_speed": 19, "day_condition": "AM Clouds/PM Sun" , "wind_direction": "ESE", "low_temperature": 16, "night_condition": "Light Rain Late", "high_temperature": 25, "humidity_percent": 73, "day_forecast_text": "Cloudy skies early will become partly cloudy later in the day. High 26C. Winds ESE at 15 to 25 km/h." , "night_forecast_text": "Cloudy skies with periods of light rain after midnight. Low near 20C. Winds SSE at 10 to 15 km/h. Chance of rain 40%." , "precipitation_chance_percent": 42 }, { "date": "2026-09-30", "sunset": "2026-09-30T18:40:58+01:00", "sunrise": "2026-09-30T06:59:31+01:00", "weekday": "Wednesday", "page_url": "https://weather.com/weather/tenday/l/51.501,-0.142" , "uv_index": 3, "wind_speed": 20, "day_condition": "AM Light Rain", "wind_direction": "SSW", "low_temperature": 16, "night_condition": "Partly Cloudy", "high_temperature": 22, "humidity_percent": 70, "day_forecast_text": "Light rain early. Breaks of sun in the afternoon. High 22C. Winds SSW at 15 to 25 km/h. Chance of rain 60%." , "night_forecast_text": "Partly cloudy skies. Low 13C. Winds SSW at 10 to 15 km/h." , "precipitation_chance_percent": 64 }, { "date": "2026-10-01", "sunset": "2026-10-01T18:38:42+01:00", "sunrise": "2026-10-01T07:01:07+01:00", "weekday": "Thursday", "page_url": "https://weather.com/weather/tenday/l/51.501,-0.142" , "uv_index": 3, "wind_speed": 17, "day_condition": "Mostly Sunny", "wind_direction": "WSW", "low_temperature": 13, "night_condition": "Partly Cloudy", "high_temperature": 21, "humidity_percent": 62, "day_forecast_text": "Mostly sunny skies. High 21C. Winds WSW at 15 to 25 km/h." , "night_forecast_text": "Partly cloudy. Low 12C. Winds SW at 10 to 15 km/h." , "precipitation_chance_percent": 8 } ], "location_key": "postcode.12178886223", "wind_speed_unit": "kilometers per hour", "temperature_unit": "Celsius"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"weather.com/get_daily_forecast","input":{"days":15,"units":"metric","location":"SW1A 1AA"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "weather.com/get_daily_forecast" , "input": { "days": 15, "units": "metric", "location": "SW1A 1AA" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "weather.com/get_daily_forecast" , "input": { "days": 15, "units": "metric", "location": "SW1A 1AA" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run weather.com/get_daily_forecast# with {"days":15,"units":"metric","location":"SW1A 1AA"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "location" ], "properties": { "days": { "type": "integer", "default": 10, "maximum": 15, "minimum": 1, "description": "Number of forecast days, for example 10." }, "units": { "enum": [ "imperial", "metric" ], "type": "string", "default": "imperial", "description": "Temperature and wind units, for example imperial." }, "location": { "type": "string", "minLength": 1, "description": "Place to forecast, such as Austin, TX or SW1A 1AA." } }}Output schema
{ "type": "object", "required": [ "place", "location_key", "temperature_unit", "wind_speed_unit", "forecasts" ], "properties": { "place": { "type": "string", "description": "Matched place name." }, "forecasts": { "type": "array", "items": { "type": "object", "required": [ "date", "weekday", "high_temperature", "low_temperature", "day_condition", "night_condition", "day_forecast_text", "night_forecast_text", "precipitation_chance_percent", "wind_speed", "wind_direction", "humidity_percent", "uv_index", "sunrise", "sunset", "page_url" ], "properties": { "date": { "type": "string", "description": "Local calendar date." }, "sunset": { "type": [ "string", "null" ], "description": "Local time with UTC offset." }, "sunrise": { "type": [ "string", "null" ], "description": "Local time with UTC offset." }, "weekday": { "type": "string" }, "page_url": { "type": "string", "description": "Weather Channel daily forecast page." }, "uv_index": { "type": [ "integer", "null" ] }, "wind_speed": { "type": [ "number", "null" ] }, "day_condition": { "type": [ "string", "null" ] }, "wind_direction": { "type": [ "string", "null" ] }, "low_temperature": { "type": [ "number", "null" ] }, "night_condition": { "type": [ "string", "null" ] }, "high_temperature": { "type": [ "number", "null" ] }, "humidity_percent": { "type": [ "integer", "null" ] }, "day_forecast_text": { "type": [ "string", "null" ] }, "night_forecast_text": { "type": [ "string", "null" ] }, "precipitation_chance_percent": { "type": [ "integer", "null" ], "description": "Highest rain or snow chance across the day and night." } } } }, "location_key": { "type": "string", "description": "Weather Channel location key." }, "wind_speed_unit": { "type": "string", "description": "Miles per hour or kilometers per hour." }, "temperature_unit": { "type": "string", "description": "Fahrenheit or Celsius." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
weather.com/get_daily_forecast- Returns
- matched place, units, daily highs and lows, day and night conditions and text, rain chance, wind, humidity, UV index, sunrise, sunset
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method weather.com/get_daily_forecast with the inputs above.
Ask your agent
- What's the weather looking like in Denver, CO over the next 7 days? Highs, lows, and chance of rain please.
- Pull the weather.com 15-day outlook for postcode EH1 1YZ in metric units.
- I'm heading to Miami Beach this weekend — give me the next 3 days of forecasts including UV index and sunrise/sunset times.
- Check The Weather Channel for ZIP 60614: daily temps, wind, and humidity for the coming 10 days.
- Need a 5-day forecast for Toronto in Celsius with day and night conditions so I can plan outdoor shoots.
See more
All The Weather Channel methodsGets the next 1 to 48 hourly forecasts for a city, address, ZIP code or postcode from The Weather Channel, with times local to the matched place.
weather.com/get_hourly_forecastGets current conditions and today's high and low from The Weather Channel for a city, postcode, ZIP code or street address worldwide. Street addresses are geocoded exactly first; some observations omit gusts or other measurements.
weather.com/get_current_weatherLists active severe weather alerts for a city, address, ZIP or postcode on The Weather Channel, most severe first. An empty list means no active alerts.
weather.com/list_weather_alertsGets up to 10 days of MSN Weather forecasts for a city, address, or ZIP code, with optional hourly forecasts for the next 24 hours.
msn.com/get_forecastLooks up the National Weather Service seven-day day and night forecast for a U.S. city, address, or ZIP code. Forecast availability depends on NWS land-grid coverage.
weather.gov/get_forecastLooks up a US city, street address or ZIP code and returns up to 156 hourly National Weather Service forecasts for it.
weather.gov/get_hourly_forecastGets current conditions and RealFeel for a city or postal code on AccuWeather. The UV level follows standard UV-index ranges. Air quality is null unless it is shown with the current conditions.
accuweather.com/get_current_weatherGets daily sunrise, sunset, solar noon, day length and civil twilight for a place from Time and Date, for one or more consecutive days. Times are local with UTC offset; days without sunrise or sunset are marked.
timeanddate.com/get_sunrise_and_sunset