Data API

The Data API has been upgraded! See Recent Changes for more information.

This service facilitates machine-to-machine access to aviation weather information. These pages describe how to use the API and the interactive interface under Specifications can be used to learn more about available data, configure specific queries, and try them out. The weather database currently allows access to up to the previous 15 days of data.

Please keep requests limited in scope and frequency. Maximum results per query apply as well as rate limiting against frequent requests. For larger queries, please consider using the cache files which provide quick access to complete datasets.

Products

ProductDescriptionCoverageFormats
METARTerminal observationsWorldwideRaw text, JSON, GeoJSON, CSV, XML, IWXXM
TAFTerminal forecastsWorldwideRaw text, JSON, GeoJSON, XML, IWXXM
PIREPs/AIREPsPilot and aircraft reportsPrimarily US and North AtlanticRaw text, JSON, GeoJSON, XML
SIGMETsAviation warningsWorldwideRaw text, JSON, GeoJSON, XML
G-AIRMETsAviation advisoriesContiguous 48 United StatesJSON, GeoJSON, XML
AIRMETsAviation advisoriesAlaskaJSON, GeoJSON, XML, IWXXM
CONUS text AIRMETs were discontinued in January 2025. G-AIRMETs replace AIRMETs, increasing forecast precision in both time and space.
Area ForecastAviation forecastsAlaskaText
Area Forecast DiscussionsAviation discussionsUnited StatesText
Center Weather AdvisoriesRegional aviation advisoriesUnited StatesRaw text, JSON, GeoJSON
Meteorological Impact StatementsAviation statementsUnited StatesText
TFM Convective Forecast (TCF)Convective forecastUnited States, portions of CanadaRaw text, GeoJSON
Legacy wind/temp tablesWind and temperature forecastsUnited StatesText
Station infoWeather observation station informationWorldwideJSON, GeoJSON, XML
Airport infoAirport informationWorldwideJSON, GeoJSON, XML
NAVAID, fix, feature, obstacleAviation navigation featuresWorldwideJSON, GeoJSON, XML

OpenAPI

Full API specification documentation is provided in OpenAPI YAML and the following interactive interface.

Cache

The following files provide access to routinely updated full datasets. Use of these files is recommended instead of making excessively large or frequent custom queries, simplifying access to larger datasets, reducing system load, and improving access for all. All files are gzipped compressed text data.

FilenameDescriptionUpdate frequency
/data/cache/metars.cache.xml.gzAll current METARs (XML)Once a minute
/data/cache/metars.cache.csv.gzAll current METARs (CSV)Once a minute
/data/cache/tafs.cache.xml.gzAll current TAFs (XML)Every 10 minutes
/data/cache/airsigmets.cache.xml.gzAll current CONUS SIGMETs (XML)Once a minute
/data/cache/airsigmets.cache.csv.gzAll current CONUS SIGMETs (CSV)Once a minute
/data/cache/gairmets.cache.xml.gzAll current CONUS G-AIRMETs (XML)Once a minute
/data/cache/aircraftreports.cache.xml.gzAll current AIREPs/PIREPs (XML)Once a minute
/data/cache/aircraftreports.cache.csv.gzAll current AIREPs/PIREPs (CSV)Once a minute
/data/cache/stations.cache.xml.gzStations listing (XML)Once a day
/data/cache/stations.cache.json.gzStations listing (JSON)Once a day

Recent Changes

The AviationWeather Data API has been redeveloped in 2025. These improvements are intended to continue to deliver the same data with more consistent and streamlined services and documentation. External interfaces have been have been designed to retain most compability where possible however some adjustment may be required depending on specific endpoints and options used that may have been used previously. Users of the previous API should take a moment to review the new specifications and major changes outlined below.

All endpoints

  • Errors with status code 400 returned for invalid input parameters
  • Errors are available in plain text, JSON, and XML format
  • Status code 204 returned for valid requests with no data available (except GeoJSON)
  • Dates not in specific format like epoch time are returned in ISO8601 format (i.e. yyyymmddThh:mm:ss.sssZ)
  • Undocumented options have been removed

/cgi-bin

  • Unsupported — replaced by /api/data
  • All references to cgi-bin have been removed and will no longer work
  • Nearly all of the same services and options remain available through /api endpoints
  • For example /cgi-bin/data/metar.php?ids=KSFO may be changed to /api/data/metar?ids=KSFO

/api/data/airport

  • id property removed from JSON output

/api/data/airsigmet

  • HTML format output removed
  • GeoJSON format output added
  • airSigmetId property removed from JSON output
  • Query parameters for top, bottom, types, and loc removed

/api/data/cwa

  • HTML format output removed
  • GeoJSON format output added
  • cwaId property removed from JSON output
  • Query parameters for top, bottom, and cwsu removed

/api/data/dataserver

  • Deprecated — most functionality unchanged however users are encouraged to migrate to product specific endpoints
  • TAF CSV format removed

/api/data/gairmet

  • HTML format output removed
  • forecastId and geometryId properties removed from JSON output
  • id property removed from GeoJSON output
  • Query parameters for level, top, and bottom removed

/api/data/isigmet

  • HTML format output removed
  • isigmetId property removed from JSON output
  • id property removed from GeoJSON output
  • Query parameters for top and bottom removed

/api/data/metar

  • HTML format output removed
  • OVX returns vertical visibility as cloud base instead of zero
  • metar_id property removed from JSON output
  • id property removed from GeoJSON output
  • Add fltCat property to JSON output
  • Add clouds array to GeoJSON properties to match JSON output
  • Remove individual cloud properties from GeoJSON
  • Query parameters for recent, order, vfr, output, filter, and fields removed

/api/data/mis

  • JSON format output added

/api/data/pirep

  • pirepId property removed from JSON output
  • id property removed from GeoJSON output
  • Add clouds array to JSON and GeoJSON properties
  • Remove individual cloud properties from JSON and GeoJSON
  • Query parameters for order removed

/api/data/stationinfo

  • No changes

/api/data/taf

  • HTML format output removed
  • Query parameters for recent, order, vfr, tempo, output, and filter removed

/api/data/tcf

  • New API dataset
  • TFM Convective Forecast in raw text and GeoJSON

/api/json

  • Unsupported — replaced by GeoJSON services under /api/data
  • For example /api/json/MetarJSON is replaced by /api/data/metar?format=geojson

Using the API

REST API endpoint are accessable at addresses under /api/data as outlined in the schema information. For example METARs are found at https://aviationweather.gov/api/data. Most requests require query parameters in order to specify constaints of the data being requested. For example the latest METAR from Kansas City International in JSON format can be requested by specifying the four letter ICAO identifer with https://aviationweather.gov/api/data/metar?ids=KMCI&format=json.

Requests may be made using most web browsers, command line utilities, and programming language libraries using modern HTTPS connections.

Some parameters and response schema changed in September 2025 -- please see Recent Changes and the OpenAPI documentation.

Guidelines

  • Please carefully consider requests to limit load on the system.
  • Set a custom user agent to prevent automated filtering inadvertantly blocking valid traffic.
  • Wait between consecutive requests — maximum 100 requests per minute.
  • Exceeding request limits will result in access being temporarily blocked.

Restrictions

  • All requests are rate limited to 100 requests per minute and all API endpoints should not be consumed more frequently than 1 request/min per thread.
  • Most endpoints return a maximum of 400 entries (please consider using cache files for larger requests).
  • Cross-origin resource sharing is not permitted at this time.

Responses

  • Status code 204 is returned for valid requests with no data available (except GeoJSON).
  • JSON and XML formats return standized error messages across endpoints.
  • Errors are returned using standard HTTP status codes as outline in the table below.
HTTP Status CodeDescription
204 No ContentRequest is valid however there is no data to be returned. For example no recent METARs available for a particular station or no SIGMETs valid at a particular time.
400 Invalid RequestThe request is invalid in some way. This could include:

Invalid parameters like format or date
Missing parameters required to complete a request
The URL is incorrect in some way.
404 Not FoundThe endpoint or specific item requested does not exist.
429 Too Many RequestsToo many requests have been sent. You might see this error code when rate limits are applied. See Restrictions above.
500 Internal ServerThe request may be valid but the system was unable to serve the request due to an error.
502 Bad Gateway
504 Gateway Timeout
Temporary service disruption.

Troubleshooting

  • Ensure your network connection is stable.
  • Verify that firewalls or proxies are not blocking your requests.
  • Ensure you are connecting via HTTPS.
  • Some parameters and data schema changed in September 2025 -- please see Recent Changes and the OpenAPI documentation.
  • See the status page for the latest updates.