FAA National Airspace Status API
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.
Endpoint health
Loading verification…
Connect your agent
Connect through MCP so your agent can find this API, read its docs, and call its endpoints.
Add the server from your terminal.
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcpIn 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 keySign 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.
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 | nullOptional FAA airport identifier to filter, such as BOS or ASE.
Example: BOS
Response
itemsobject[]items[].trendstring | nullitems[].reasonstringitems[].end_timestring | nullitems[].airport_idstringitems[].start_timestring | nullitems[].airport_namestring | nullitems[].disruption_type"ground_stop" | "ground_delay_program" | "closure" | "free_form" | "arrival_delay" | "departure_delay"items[].source_componentstringitems[].source_record_idstringitems[].delay_informationobjectitems[].delay_information.center?string | nullitems[].delay_information.advisoryUrl?string | nullitems[].delay_information.notice_kind?string | nullitems[].delay_information.notam_number?integer | nullitems[].delay_information.fadtParamType?string | nullitems[].delay_information.departureScope?number | nullitems[].delay_information.includedFlights?string | nullitems[].delay_information.arrival_departure?string | nullitems[].delay_information.includedFacilities?string[]items[].source_updated_atstring | nullitems[].average_delay_minutesnumber | nullitems[].maximum_delay_minutesnumber | nullitems[].minimum_delay_minutesnumber | nullitems[].ground_stop_extension_probability"LOW" | "MEDIUM" | "HIGH" | nullcoverageobjectcoverage.geographystringcoverage.semanticsstringcoverage.transportstringcoverage.source_update_timestringairport_id?string | nullFields 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 · stringFAA airport identifier, for example BOS or ASE.
Example: BOS
Response
status"disruption" | "no_reported_disruption"coverageobjectcoverage.geographystringcoverage.semanticsstringcoverage.transportstringcoverage.source_update_timestringairport_idstringdisruptionsobject[]disruptions[].trendstring | nulldisruptions[].reasonstringdisruptions[].end_timestring | nulldisruptions[].airport_idstringdisruptions[].start_timestring | nulldisruptions[].airport_namestring | nulldisruptions[].disruption_type"ground_stop" | "ground_delay_program" | "closure" | "free_form" | "arrival_delay" | "departure_delay"disruptions[].source_componentstringdisruptions[].source_record_idstringdisruptions[].delay_informationobjectdisruptions[].delay_information.center?string | nulldisruptions[].delay_information.advisoryUrl?string | nulldisruptions[].delay_information.notice_kind?string | nulldisruptions[].delay_information.notam_number?integer | nulldisruptions[].delay_information.fadtParamType?string | nulldisruptions[].delay_information.departureScope?number | nulldisruptions[].delay_information.includedFlights?string | nulldisruptions[].delay_information.arrival_departure?string | nulldisruptions[].delay_information.includedFacilities?string[]disruptions[].source_updated_atstring | nulldisruptions[].average_delay_minutesnumber | nulldisruptions[].maximum_delay_minutesnumber | nulldisruptions[].minimum_delay_minutesnumber | nulldisruptions[].ground_stop_extension_probability"LOW" | "MEDIUM" | "HIGH" | nullairport_name?string | nullFields 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.
An account is required to submit an extension. Prepare your request, then sign in to build.