Return to API Services or TAF Request.

Documentation for /cgi-bin/request/taf.py

This service provides access to Terminal Aerodrome Forecast (TAF) data for specified stations and time ranges. The time range limits the TAF issuance timestamps, not the forecast valid times.

Changelog

  • 2026-03-05: An edge case was corrected where you request timestamps in a given timezone, which are ambiguous during DST fall back. The field is now set to null instead of erroring.
  • 2026-02-13: Added is_amendment to output to denote if the TAF is amended or not.
  • 2025-08-12: The parser was improved to delineate forecast types, the is_tempo field remains, but will be removed in the future. See the ftype column for the delineation.

CGI Arguments

The following table lists the CGI arguments that are accepted by this service. A HTTP GET request is required. Fields of type Multi-Params or CSV value can accept either a comma separated list or multiple parameter and value combinations. For example, ?foo=1&foo=2 is equivalent to ?foo=1,2.

Field Type Description
hours integer or null Request data for the time period from now until this many hours in the past. Overrides any sts or ets values.
fmt string The format of the output file. 'csv' or 'excel'
last boolean If True, the last TAF issuance for the station(s) is returned, which is defined as last issuance prior to or equal to the end timestamp.
tz string A time zone string specified by IANA. Common examples include 'America/Chicago', 'UTC', and 'Etc/UTC'. The code implementation passes this provided string to the python ZoneInfo library.
sts string or null The start timestamp for the data
ets string or null The end timestamp for the data
station Multi-Params or CSV value (required) Either provide a single value, multiple parameters each with a single value, or a comma-separated list of values. The context here is a list of station identifiers. All lowercase letters are converted to uppercase.
year1 integer or null The start year, if not using sts
month1 integer or null The start month, if not using sts
day1 integer or null The start day, if not using sts
hour1 integer The start hour, if not using sts
minute1 integer The start minute, if not using sts
year2 integer or null The end year, if not using ets
month2 integer or null The end month, if not using ets
day2 integer or null The end day, if not using ets
hour2 integer The end hour, if not using ets
minute2 integer The end minute, if not using ets