Discover/forecast.weather.gov API
live

forecast.weather.gov APIforecast.weather.gov

Retrieve current and historical weather observations from NWS stations. Get temperature, wind, pressure, humidity, METAR text, and station metadata via 3 endpoints.

Endpoints
3
Updated
3mo ago
Try it
NWS station identifier (e.g. KATT, KDFW, KHOU).
api.parse.bot/scraper/32ca19b7-5cd6-46e6-b430-cfd18657b011/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/32ca19b7-5cd6-46e6-b430-cfd18657b011/get_latest_observation?station_id=KDFW' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 3 totalclick to expand

Get the most recent weather observation for a specified NWS station. Returns detailed meteorological data including temperature, dewpoint, wind, pressure, humidity, precipitation, and cloud layers.

Input
ParamTypeDescription
station_idstringNWS station identifier (e.g. KATT, KDFW, KHOU).
Response
{
  "type": "object",
  "fields": {
    "dewpoint": "object - Dewpoint with unitCode, value, qualityControl",
    "timestamp": "string - Observation timestamp in ISO 8601 format",
    "wind_gust": "object - Wind gust speed (value may be null)",
    "heat_index": "object - Heat index temperature (value may be null)",
    "station_id": "string - NWS station identifier",
    "visibility": "object - Visibility in meters",
    "wind_chill": "object - Wind chill temperature (value may be null)",
    "wind_speed": "object - Wind speed with unitCode and value",
    "raw_message": "string - Raw METAR observation message",
    "temperature": "object - Temperature with unitCode, value, qualityControl",
    "cloud_layers": "array - Cloud layer objects with base and amount",
    "station_name": "string - Full station name",
    "wind_direction": "object - Wind direction in degrees",
    "text_description": "string - Human-readable weather description",
    "relative_humidity": "object - Relative humidity in percent",
    "sea_level_pressure": "object - Sea level pressure in Pa",
    "barometric_pressure": "object - Barometric pressure in Pa",
    "precipitation_last_hour": "object - Precipitation in last hour (value may be null)",
    "precipitation_last_3_hours": "object - Precipitation in last 3 hours (value may be null)",
    "precipitation_last_6_hours": "object - Precipitation in last 6 hours (value may be null)"
  },
  "sample": {
    "data": {
      "dewpoint": {
        "value": 17.2,
        "unitCode": "wmoUnit:degC",
        "qualityControl": "V"
      },
      "timestamp": "2026-05-14T09:51:00+00:00",
      "wind_gust": {
        "value": null,
        "unitCode": "wmoUnit:km_h-1",
        "qualityControl": "Z"
      },
      "heat_index": {
        "value": null,
        "unitCode": "wmoUnit:degC",
        "qualityControl": "V"
      },
      "station_id": "KATT",
      "visibility": {
        "value": 16090,
        "unitCode": "wmoUnit:m",
        "qualityControl": "C"
      },
      "wind_chill": {
        "value": null,
        "unitCode": "wmoUnit:degC",
        "qualityControl": "V"
      },
      "wind_speed": {
        "value": 0,
        "unitCode": "wmoUnit:km_h-1",
        "qualityControl": "V"
      },
      "raw_message": "KATT 140951Z AUTO 00000KT 10SM CLR 19/17 A2998 RMK AO1 SLP139 T01940172",
      "temperature": {
        "value": 19.4,
        "unitCode": "wmoUnit:degC",
        "qualityControl": "V"
      },
      "cloud_layers": [],
      "station_name": "Austin City Austin Camp Mabry",
      "wind_direction": {
        "value": 0,
        "unitCode": "wmoUnit:degree_(angle)",
        "qualityControl": "V"
      },
      "text_description": "",
      "relative_humidity": {
        "value": 87.11,
        "unitCode": "wmoUnit:percent",
        "qualityControl": "V"
      },
      "sea_level_pressure": {
        "value": 101390,
        "unitCode": "wmoUnit:Pa",
        "qualityControl": "V"
      },
      "barometric_pressure": {
        "value": 101520,
        "unitCode": "wmoUnit:Pa",
        "qualityControl": "V"
      },
      "precipitation_last_hour": {
        "value": null,
        "unitCode": "wmoUnit:mm",
        "qualityControl": "Z"
      },
      "precipitation_last_3_hours": {
        "value": null,
        "unitCode": "wmoUnit:mm",
        "qualityControl": "Z"
      },
      "precipitation_last_6_hours": {
        "value": null,
        "unitCode": "wmoUnit:mm",
        "qualityControl": "Z"
      }
    },
    "status": "success"
  }
}

About the forecast.weather.gov API

The forecast.weather.gov API exposes 3 endpoints for retrieving weather observation data from National Weather Service stations across the United States. get_latest_observation returns the most recent METAR-backed reading for a station, including temperature, dewpoint, wind speed, wind gust, visibility, heat index, and wind chill. get_station_info provides geographic coordinates, elevation, timezone, and forecast zone URL for any NWS station ID.

Endpoints and Data Coverage

The API is organized around three endpoints, each accepting a station_id parameter such as KATT, KDFW, or KHOU. get_latest_observation returns a single observation object with fields including temperature, dewpoint, wind_speed, wind_gust, visibility, heat_index, wind_chill, pressure, and cloud_layers, plus the raw raw_message METAR string and an ISO 8601 timestamp. Nullable fields like wind_gust, heat_index, and wind_chill are present in the response but may carry a null value depending on conditions.

Paginated Observation History

get_observations returns an array of recent observations for a station ordered from newest to oldest. The limit parameter caps results at 100 per request. When more records exist, the response includes a next_cursor URL to retrieve the next page; when the last page is reached, next_cursor is null. Each entry in the observations array mirrors the field shape from the latest-observation endpoint, including temperature, wind_speed, pressure, humidity, cloud_layers, and raw_message.

Station Metadata

get_station_info returns descriptive metadata for a given station: the human-readable name, coordinates object with latitude and longitude, elevation in meters with a unitCode, an IANA timezone string (e.g., America/Chicago), and a forecast_url pointing to the station's NWS forecast zone. This metadata is useful for mapping stations geographically or associating observations with a named location before making further observation requests.

Common use cases
  • Display real-time temperature, humidity, and wind conditions for a specific NWS station on a weather dashboard.
  • Log hourly observation history using get_observations with pagination to build a local meteorological dataset.
  • Parse raw METAR strings from raw_message for aviation pre-flight weather briefing tools.
  • Plot station locations on a map using coordinates and elevation from get_station_info.
  • Alert users when wind_gust or heat_index values exceed defined thresholds.
  • Associate timezone-aware observation timestamps with local time using the IANA timezone field from station metadata.
  • Combine wind_speed and wind_chill data to monitor cold-stress conditions for outdoor work scheduling.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does the NWS have an official developer API?+
Yes. The National Weather Service provides a public REST API at api.weather.gov, documented at https://www.weather.gov/documentation/services-web-api. This Parse API surfaces station observation and metadata data from forecast.weather.gov in a normalized, structured form.
What does `get_observations` return and how does pagination work?+
get_observations returns an array of observation objects for a given station_id, ordered most-recent first. Set limit (up to 100) to control how many records come back. If additional records exist, the response includes a next_cursor string containing the URL for the next page. When next_cursor is null, you have reached the end of available observations.
Are fields like `wind_gust` and `heat_index` always populated?+
No. wind_gust, heat_index, and wind_chill are present in every response object but their value may be null. Wind gust is null when no gusts are recorded; heat index and wind chill are null when atmospheric conditions don't meet the thresholds required to calculate them.
Does the API return forecast data or only observations?+
The API currently covers observations only — current and recent historical readings from NWS surface stations. Forecast data (multi-day predictions, hourly forecasts) is not exposed by the three endpoints. You can fork this API on Parse and revise it to add a forecast endpoint using the forecast_url already returned by get_station_info.
Is station coverage limited to the continental United States?+
Coverage mirrors the NWS network, which is concentrated in the US, its territories, and some Pacific island stations. Not every geographic region is equally represented, and remote areas with no NWS station will return no data. You can fork this API on Parse and revise it to support additional international station identifiers if your use case requires broader geographic scope.
Page content last updated . Spec covers 3 endpoints from forecast.weather.gov.
Related APIs in WeatherSee all →
energy-charts.de API
Monitor real-time electricity prices, production data, and market forecasts across Germany and Europe to track energy costs and grid conditions. Access day-ahead and intraday pricing, power generation forecasts, cross-border trading flows, and traffic signal alerts for comprehensive energy market insights.
api.nasa.gov API
Access NASA's suite of open data APIs — including the Astronomy Picture of the Day, Near Earth Object tracking, DONKI space weather events, EPIC Earth imagery, Mars weather, the NASA Image and Video Library, the Exoplanet Archive, and EONET natural events.
nassgeodata.gmu.edu API
Access detailed USDA crop data including acreage statistics, satellite imagery, and crop classifications for any location across the United States. Compare agricultural patterns year-over-year, download raster data files, or retrieve specific crop information at the point level to analyze farming trends and land use.
aopa.org API
Search for general aviation airports and access detailed information including runways, real-time weather conditions, NOTAMs, and aviation procedures—all in one place. Find upcoming aviation events and get comprehensive airport overviews to plan your flights with up-to-date data.
metoffice.gov.uk API
Access detailed UK weather forecasts, real-time lightning tracking, and weather warnings from the Met Office. Search locations to retrieve hourly, daily, regional, and long-range predictions, and monitor storm activity with spot forecasts across any geographic area.
vail.com API
Access live snow conditions, weather forecasts, and real-time terrain status for Vail and other Vail Resorts properties. Retrieve current snow reports, upcoming weather, and run and lift statuses across supported resorts.
surfline.com API
Check real-time surf conditions, forecasts for waves and wind, tide predictions, and live camera feeds from thousands of surf spots around the world. Browse spots by geographic region and access detailed weather data to plan your perfect surfing session.
sentinel-hub.com API
Access satellite imagery from around the world and retrieve spectral band data, timestamps, and geographic coverage information to analyze Earth observation data. Process and generate statistics from satellite images for your specific areas of interest using powerful image processing tools.