Catalog / FAA National Airspace Status

FAA National Airspace Status API

nasstatus.faa.gov

Read-only live access to current Federal Aviation Administration National Airspace System airport disruptions, including ground stops, ground-delay programs, airport closures and published arrival or departure delay information. Coverage is limited to airport identifiers currently published by the FAA NAS Status dashboard; the source is polled on demand and may change between requests.

  • Other
  • FAA
  • NAS
  • airport status
  • flight delays
  • operational status
2 endpointsDocs updated

Endpoint health

Loading verification…

Connect your agent

Connect through MCP so your agent can find this API, read its docs, and call its endpoints.

Setup guide

Add the server from your terminal.

Claude Code · terminal
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcp

In Claude Code, run /mcp, select agent-data, then Authenticate. Sign in to your agent-data account in the browser.

Then ask your agent to use the FAA National Airspace Status API for your task.

Call it over HTTP

Get an API key

Sign up free, generate an API key, and set it as AGENT_DATA_API_KEY in your environment. Your first 100 calls each month are free.

Fetches the live FAA airport-events feed. Without airport_id, returns every currently published airport disruption record. With airport_id, returns only that source identifier's records. An empty items array means the source reported no disruption records for a source-known identifier.

Optional parameters 1

Optional FAA airport identifier to filter, such as BOS or ASE.

View call pricing
cURL · Disruptions
curl --request GET --get 'https://api.agent-data.dev/nasstatus-faa-gov/v1/disruptions' \
  --header "Authorization: Bearer $AGENT_DATA_API_KEY"

Endpoints

Inputs and response fields for every endpoint in this API.

GETDisruptions/v1/disruptions

Fetches the live FAA airport-events feed. Without airport_id, returns every currently published airport disruption record. With airport_id, returns only that source identifier's records. An empty items array means the source reported no disruption records for a source-known identifier.

Input

airport_idOptionalQuery · string | null

Optional FAA airport identifier to filter, such as BOS or ASE.

Example: BOS

Response

itemsobject[]
items[].trendstring | null
items[].reasonstring
items[].end_timestring | null
items[].airport_idstring
items[].start_timestring | null
items[].airport_namestring | null
items[].disruption_type"ground_stop" | "ground_delay_program" | "closure" | "free_form" | "arrival_delay" | "departure_delay"
items[].source_componentstring
items[].source_record_idstring
items[].delay_informationobject
items[].delay_information.center?string | null
items[].delay_information.advisoryUrl?string | null
items[].delay_information.notice_kind?string | null
items[].delay_information.notam_number?integer | null
items[].delay_information.fadtParamType?string | null
items[].delay_information.departureScope?number | null
items[].delay_information.includedFlights?string | null
items[].delay_information.arrival_departure?string | null
items[].delay_information.includedFacilities?string[]
items[].source_updated_atstring | null
items[].average_delay_minutesnumber | null
items[].maximum_delay_minutesnumber | null
items[].minimum_delay_minutesnumber | null
items[].ground_stop_extension_probability"LOW" | "MEDIUM" | "HIGH" | null
coverageobject
coverage.geographystring
coverage.semanticsstring
coverage.transportstring
coverage.source_update_timestring
airport_id?string | null

Fields marked ? are optional.

GETAirport status/v1/airports/{airport_id}/status

Returns disruption records or no_reported_disruption for an airport identifier currently present in FAA's event or pacing-airport feeds. A valid-format identifier absent from those current source feeds is returned as unknown_airport with HTTP 404; this API does not pretend to maintain an all-airports master list.

Input

airport_idRequiredPath · string

FAA airport identifier, for example BOS or ASE.

Example: BOS

Response

status"disruption" | "no_reported_disruption"
coverageobject
coverage.geographystring
coverage.semanticsstring
coverage.transportstring
coverage.source_update_timestring
airport_idstring
disruptionsobject[]
disruptions[].trendstring | null
disruptions[].reasonstring
disruptions[].end_timestring | null
disruptions[].airport_idstring
disruptions[].start_timestring | null
disruptions[].airport_namestring | null
disruptions[].disruption_type"ground_stop" | "ground_delay_program" | "closure" | "free_form" | "arrival_delay" | "departure_delay"
disruptions[].source_componentstring
disruptions[].source_record_idstring
disruptions[].delay_informationobject
disruptions[].delay_information.center?string | null
disruptions[].delay_information.advisoryUrl?string | null
disruptions[].delay_information.notice_kind?string | null
disruptions[].delay_information.notam_number?integer | null
disruptions[].delay_information.fadtParamType?string | null
disruptions[].delay_information.departureScope?number | null
disruptions[].delay_information.includedFlights?string | null
disruptions[].delay_information.arrival_departure?string | null
disruptions[].delay_information.includedFacilities?string[]
disruptions[].source_updated_atstring | null
disruptions[].average_delay_minutesnumber | null
disruptions[].maximum_delay_minutesnumber | null
disruptions[].minimum_delay_minutesnumber | null
disruptions[].ground_stop_extension_probability"LOW" | "MEDIUM" | "HIGH" | null
airport_name?string | null

Fields marked ? are optional.

Don’t see the endpoint you need?

Ask agent-data to add an endpoint or return more fields. Extensions are free and keep existing endpoints working.