{"id":"988c7b53-9c2c-47b9-a27d-6b30db321173","slug":"weatherunderground-com-api","name":"weatherunderground.com API","description":"Retrieve current weather observations and forecasts for any location. Supports location search by city, zip code, or address, and returns detailed conditions including temperature, wind speed and direction, humidity, and extended 10-day forecast narratives.","front_facing_description":"Get real-time weather data and 10-day forecasts for any location, with access to current conditions like temperature, humidity, and wind speed. Search for locations and receive detailed weather narratives to plan your day or week ahead.","source_url":"https://weatherunderground.com","is_authenticated":false,"canonical_scraper_id":"dc569c5e-6b93-4885-af60-ca8f7beb79ec","apis":[{"method":"GET","endpoint_name":"search_locations","description":"Search for locations by city name, zip code, or address. Returns matching locations with geocode coordinates and place IDs. Use the geocode from results as input to get_current_conditions and get_forecast.","input_params":{"query":{"type":"string","required":true,"description":"City, zip code, or address to search for (e.g., 'New York', '90210', 'Los Angeles').","domain":{"kind":"open","generator":{"type":"static","value":"New York"}}}},"return_schema":{"type":"object","fields":{"locations":"array of location objects each containing name (display address), geocode (latitude,longitude string), and place_id (unique identifier)"},"sample":{"data":{"locations":[{"name":"New York City, New York, United States","geocode":"40.713,-74.006","place_id":"98e8083bb7de0fc467fd1e22a1692f8f200343e4e0acc3b3fc31e71d29113b54"}]},"status":"success"}},"initiates_session":false,"price":1,"verification":{"assertions":[{"path":"$.data.locations","op":"array_min_len","value":1},{"path":"$.data.locations[0].geocode","op":"not_null"},{"path":"$.data.locations[0].name","op":"not_null"}],"empty_is_valid":false,"recipe_version":1}},{"method":"GET","endpoint_name":"get_current_conditions","description":"Get current weather observations for a specific location using its geocode. Returns temperature, wind speed, wind direction, humidity, cloud cover, visibility, pressure, precipitation amounts, and a human-readable weather phrase. Geocode is obtained from search_locations.","input_params":{"units":{"type":"string","required":false,"description":"Unit system: 'e' for Imperial (°F, mph, inches), 'm' for Metric (°C, kph, mm).","default":"e","enum":"UnitSystem","closed":true,"domain":{"kind":"enum","values":["m","e"],"generator":{"type":"enum_pick","strategy":"first"}}},"geocode":{"type":"string","required":true,"description":"Latitude,longitude string obtained from search_locations (e.g., '40.713,-74.006').","domain":{"kind":"derived","generator":{"path":"$.data.locations[0].geocode","type":"derived","from_endpoint":"search_locations"}}}},"return_schema":{"type":"object","fields":{"windSpeed":"integer, wind speed in selected units","cloudCover":"integer, cloud cover percentage","visibility":"number, visibility distance in selected units","temperature":"integer, current temperature in selected units","wxPhraseLong":"string, weather condition description (e.g., 'Mostly Cloudy')","windDirection":"integer, wind direction in degrees","relativeHumidity":"integer, relative humidity percentage","pressureMeanSeaLevel":"number, mean sea level pressure","windDirectionCardinal":"string, cardinal wind direction (e.g., 'WSW')"},"sample":{"data":{"windSpeed":1,"cloudCover":71,"visibility":10.0,"temperature":78,"wxPhraseLong":"Mostly Cloudy","windDirection":240,"relativeHumidity":90,"pressureMeanSeaLevel":1009.2,"windDirectionCardinal":"WSW"},"status":"success"}},"initiates_session":false,"price":1,"verification":{"assertions":[{"path":"$.data.temperature","op":"not_null"},{"path":"$.data.windSpeed","op":"exists"},{"path":"$.data.wxPhraseLong","op":"not_null"}],"empty_is_valid":false,"recipe_version":1}},{"method":"GET","endpoint_name":"get_forecast","description":"Get a detailed 10-day daily weather forecast for a specific location. Returns arrays of daily values including day of week, temperature highs/lows, narrative descriptions, and detailed daypart (day/night) forecasts with precipitation chances, wind, and conditions. Geocode is obtained from search_locations.","input_params":{"units":{"type":"string","required":false,"description":"Unit system: 'e' for Imperial (°F, mph), 'm' for Metric (°C, kph).","default":"e","enum":"UnitSystem","closed":true,"domain":{"kind":"enum","values":["m","e"],"generator":{"type":"enum_pick","strategy":"first"}}},"geocode":{"type":"string","required":true,"description":"Latitude,longitude string obtained from search_locations (e.g., '40.713,-74.006').","domain":{"kind":"derived","generator":{"path":"$.data.locations[0].geocode","type":"derived","from_endpoint":"search_locations"}}}},"return_schema":{"type":"object","fields":{"daypart":"array containing a single object with half-day (day/night) forecast details including precipChance, windSpeed, narrative, and wxPhraseLong","dayOfWeek":"array of strings, day names for each forecast day","narrative":"array of strings, detailed forecast narrative for each day","calendarDayTemperatureMax":"array of integers or nulls, daily high temperatures","calendarDayTemperatureMin":"array of integers, daily low temperatures"},"sample":{"data":{"daypart":[{"narrative":[null,"Considerable cloudiness.","Mostly cloudy then thunderstorms."],"windSpeed":[null,6,8],"daypartName":[null,"Tonight","Tomorrow"],"temperature":[null,72,96],"precipChance":[null,24,61]}],"dayOfWeek":["Wednesday","Thursday","Friday"],"narrative":["Mainly cloudy. Lows overnight in the low 70s.","Showers and thunderstorms late.","Afternoon thunderstorms."],"calendarDayTemperatureMax":[82,96,95],"calendarDayTemperatureMin":[66,72,75]},"status":"success"}},"initiates_session":false,"price":1,"verification":{"assertions":[{"path":"$.data.dayOfWeek","op":"array_min_len","value":1},{"path":"$.data.narrative","op":"array_min_len","value":1},{"path":"$.data.calendarDayTemperatureMin","op":"exists"}],"empty_is_valid":false,"recipe_version":1}}],"sample_inputs":{"get_forecast":{"units":"m","geocode":"40.713,-74.006"},"search_locations":{"query":"zzqxjv1234nowhere"},"get_current_conditions":{"units":"m","geocode":"40.713,-74.006"}},"prefill_inputs":{"search_locations":{"query":"New York"},"get_current_conditions":{"units":"m"},"get_forecast":{"units":"m"}},"last_verified_at":"2026-10-31T15:02:37.388587+00:00","endpoint_health":[{"endpoint_name":"get_current_conditions","status":"healthy","last_checked_at":"2026-10-31T15:02:37.388587+00:00","last_verified_at":"2026-10-31T15:02:37.388587+00:00","recent_runs":[{"at":"2026-10-26T19:04:25.340241+00:00","status":"healthy"},{"at":"2026-10-26T18:01:52.933931+00:00","status":"blocked"},{"at":"2026-10-26T16:03:52.904460+00:00","status":"blocked"},{"at":"2026-10-26T12:04:25.214263+00:00","status":"healthy"},{"at":"2026-10-26T12:04:25.214263+00:00","status":"ambiguous"},{"at":"2026-10-26T10:01:52.923879+00:00","status":"blocked"},{"at":"2026-10-26T08:02:52.903289+00:00","status":"blocked"},{"at":"2026-10-26T06:03:53.010708+00:00","status":"blocked"},{"at":"2026-10-26T04:03:52.874780+00:00","status":"blocked"},{"at":"2026-10-26T02:00:25.249559+00:00","status":"blocked"},{"at":"2026-10-26T00:04:53.200898+00:00","status":"blocked"},{"at":"2026-10-25T22:04:25.273299+00:00","status":"blocked"},{"at":"2026-10-25T20:04:25.380815+00:00","status":"blocked"}]},{"endpoint_name":"get_forecast","status":"healthy","last_checked_at":"2026-10-31T15:02:36.599249+00:00","last_verified_at":"2026-10-31T15:02:36.599249+00:00","recent_runs":[{"at":"2026-10-26T19:04:25.340241+00:00","status":"healthy"},{"at":"2026-10-26T18:01:52.933931+00:00","status":"blocked"},{"at":"2026-10-26T16:03:52.904460+00:00","status":"blocked"},{"at":"2026-10-26T12:04:25.214263+00:00","status":"healthy"},{"at":"2026-10-26T12:04:25.214263+00:00","status":"ambiguous"},{"at":"2026-10-26T10:01:52.923879+00:00","status":"blocked"},{"at":"2026-10-26T08:02:52.903289+00:00","status":"blocked"},{"at":"2026-10-26T06:03:53.010708+00:00","status":"blocked"},{"at":"2026-10-26T04:03:52.874780+00:00","status":"blocked"},{"at":"2026-10-26T02:00:25.249559+00:00","status":"blocked"},{"at":"2026-10-26T00:04:53.200898+00:00","status":"blocked"},{"at":"2026-10-25T22:04:25.273299+00:00","status":"blocked"},{"at":"2026-10-25T20:04:25.380815+00:00","status":"blocked"}]},{"endpoint_name":"search_locations","status":"healthy","last_checked_at":"2026-10-26T19:04:25.340241+00:00","last_verified_at":"2026-10-26T19:04:25.340241+00:00","recent_runs":[{"at":"2026-10-26T19:04:25.340241+00:00","status":"healthy"},{"at":"2026-10-26T18:01:52.933931+00:00","status":"ambiguous"},{"at":"2026-10-26T16:03:52.904460+00:00","status":"ambiguous"},{"at":"2026-10-26T12:04:25.214263+00:00","status":"healthy"},{"at":"2026-10-26T10:01:52.923879+00:00","status":"ambiguous"},{"at":"2026-10-26T08:02:52.903289+00:00","status":"ambiguous"},{"at":"2026-10-26T06:03:53.010708+00:00","status":"ambiguous"},{"at":"2026-10-26T04:03:52.874780+00:00","status":"ambiguous"},{"at":"2026-10-26T02:00:25.249559+00:00","status":"ambiguous"},{"at":"2026-10-26T00:04:53.200898+00:00","status":"ambiguous"},{"at":"2026-10-25T22:04:25.273299+00:00","status":"ambiguous"},{"at":"2026-10-25T20:04:25.380815+00:00","status":"ambiguous"}]}],"sdk_usage_example":null,"sdk_delivery_state":"absent","summary":"Access real-time weather observations and 10-day forecasts from Weather Underground. Features location search, current conditions (temperature, humidity, wind), and detailed narrative forecasts.","updated_at":"2026-10-26T18:25:24.383+00:00","user_variants":[],"latest_version":8,"user_status":null,"user_scraper_id":null,"contributes_to_marketplace":true,"pinned_version":null,"seo_content":{"faqs":[{"a":"Yes. The Weather Underground Data APIs are available through The Weather Company at https://docs.twcservice.com. Access is gated by a commercial agreement and not openly self-serve.","q":"Does Weather Underground have an official developer API?"},{"a":"At the day level, the endpoint returns `calendarDayTemperatureMax`, `calendarDayTemperatureMin`, `dayOfWeek`, and a full-day `narrative` string. The `daypart` object breaks each day into half-day segments and adds `precipChance`, `windSpeed`, and a shorter narrative per segment. Both sets of arrays are aligned by index position.","q":"What does `get_forecast` return for each day versus each daypart?"},{"a":"Not currently. The API covers current point-in-time observations via `get_current_conditions` and 10-day daily/daypart forecasts via `get_forecast`. You can fork this API on Parse and revise it to add an hourly or historical endpoint.","q":"Does the API return hourly forecasts or historical weather data?"},{"a":"The `get_current_conditions` response schema lists precipitation as a returned field but does not break it out as a named discrete field the way temperature or humidity are. The dedicated numeric precipitation accumulation field is not currently surfaced as a standalone response key. You can fork this API on Parse and revise it to expose that field explicitly.","q":"Is precipitation amount returned in current conditions?"},{"a":"The `search_locations` endpoint accepts city names, ZIP codes, and street addresses and works globally wherever Weather Underground maintains station data. Coverage is strongest in North America and Western Europe; station density varies in less-monitored regions, which can affect the availability and accuracy of returned observations.","q":"What is the geographic coverage of location search?"}],"keywords":["weather underground api","real-time weather conditions api","10-day weather forecast api","current temperature humidity api","weather forecast json api","wind speed direction api","weather geocode location search api","precipitation chance forecast api","weather underground current conditions","daily high low temperature api","weather narrative forecast api","imperial metric weather units api","weather underground 10 day forecast","weather data developer api"],"use_cases":["Display current temperature and humidity on a location-aware dashboard using `get_current_conditions`.","Build a 10-day trip planner that surfaces daily high/low temperatures and narrative forecasts from `get_forecast`.","Trigger alerts when `precipChance` exceeds a threshold in the `daypart` forecast array.","Resolve user-entered city names or ZIP codes to geocoordinates with `search_locations` before querying conditions.","Show wind speed and cardinal direction (`windDirectionCardinal`) for outdoor activity planning.","Render a weekly forecast card using `dayOfWeek`, `calendarDayTemperatureMax`, and `calendarDayTemperatureMin` arrays.","Switch between Imperial and Metric display units by toggling the `units` parameter across all endpoints."],"meta_title":"Weather Underground API | Forecasts & Conditions","generated_at":"2026-05-21T20:59:24.289460+00:00","lead_paragraph":"The Weather Underground API provides 3 endpoints covering location search, current weather observations, and 10-day daily forecasts. `get_current_conditions` returns 9 observation fields including temperature, wind speed, relative humidity, and cloud cover percentage. `get_forecast` delivers day-by-day high/low temperatures, daypart breakdowns, precipitation chance, and human-readable narrative strings for up to 10 days ahead.","schema_version":2,"meta_description":"Access real-time weather conditions and 10-day forecasts from Weather Underground. Search locations, get temperature, wind, humidity, and daily narratives.","primary_category":"weather","long_description_md":"## Location Search\n\nBefore fetching weather data, use `search_locations` to resolve a city name, ZIP code, or address into a geocode string. Pass any freeform `query` — such as `'New York'`, `'90210'`, or a street address — and the endpoint returns an array of matching location objects. Each object includes a `name` (display address), a `geocode` (latitude,longitude string), and a `place_id`. The `geocode` value is the required input for both other endpoints.\n\n## Current Conditions\n\n`get_current_conditions` accepts a `geocode` and an optional `units` parameter: `'e'` for Imperial (°F, mph, inches) or `'m'` for Metric (°C, kph, mm). The response includes `temperature`, `windSpeed`, `windDirection` (degrees), `windDirectionCardinal` (e.g., `'SSW'`), `relativeHumidity`, `cloudCover`, `visibility`, `pressureMeanSeaLevel`, and `wxPhraseLong` — a plain-language condition string like `'Rain'` or `'Partly Cloudy'`. These are point-in-time observations, not averages.\n\n## 10-Day Forecast\n\n`get_forecast` returns parallel arrays indexed by day: `dayOfWeek`, `narrative` (full prose forecast per day), `calendarDayTemperatureMax`, and `calendarDayTemperatureMin`. The `daypart` array holds a single object with sub-arrays for each half-day period, including `precipChance`, `windSpeed`, and a per-daypart narrative. The same `units` parameter controls all forecast values. The forecast covers exactly 10 calendar days from the current date.","generated_with_model":"global.anthropic.claude-sonnet-4-6","secondary_categories":["maps_geo","travel"]},"primary_category":"weather","secondary_categories":["maps_geo","travel"],"access_requirements":[]}