Airport delays

Returns JSON with current US airport delays from the FAA: ground stops, ground delay programs with average and maximum delay, arrival and departure delays and closures, for all airports or one.

Use this when you need airport delays or flight status context for a US airport, such as ground stops or departure delays right now.

Do not use for the status of a flight number, airports outside the US or historical delays.

Price: 0.007 USDC per call (x402, eip155:8453). Typical response time: 1500 ms (p95).

Call it over HTTP (x402)

POST https://x402-gateway.blackwoodstate8.workers.dev/v1/airport-delays. A request without payment gets 402 Payment Required with the PAYMENT-REQUIRED header; any x402 client signs an EIP-3009 authorization and retries with PAYMENT-SIGNATURE (or X-PAYMENT). Invalid input is answered with 400 and not charged.

curl -i -X POST https://x402-gateway.blackwoodstate8.workers.dev/v1/airport-delays -H 'content-type: application/json' -d '{}'
Pay to0xc81FcF60C08700b8ab6cCA8A911A98De283264b4
Asset0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (USDC)
Amount7000 atomic units (0.007 USDC)
Authorization window60 s

Call it over MCP

Streamable HTTP at https://x402-gateway.blackwoodstate8.workers.dev/mcp, tool blackwood_airport_delays. Payment goes in _meta["x402/payment"]; without it the tool returns the payment requirements.

Input

FieldTypeMeaning
airport (optional)stringUS airport code to filter, e.g. SFO or KSFO (all airports with delays when omitted)

Example:

{}

Output

Real example:

{
  "updatedAt": "Sat Oct 17 16:47:47 2026 GMT",
  "airport": null,
  "total": 8,
  "groundStops": [],
  "groundDelays": [
    {
      "airport": "SAN",
      "reason": "airport volume",
      "average": "53 minutes",
      "maximum": "1 hour and 50 minutes"
    },
    {
      "airport": "YVR",
      "reason": "other",
      "average": "15 minutes",
      "maximum": "43 minutes"
    }
  ],
  "arrivalDepartureDelays": [
    {
      "airport": "MCO",
      "reason": "TM Initiatives:MIT:VOL",
      "type": "Departure",
      "minimum": "16 minutes",
      "maximum": "30 minutes",
      "trend": "Increasing"
    },
    {
      "airport": "MIA",
      "reason": "RWY:Construction",
      "type": "Departure",
      "minimum": "16 minutes",
      "maximum": "30 minutes",
      "trend": "Increasing"
    },
    {
      "airport": "PHX",
      "reason": "VOL:Multi-taxi",
      "type": "Departure",
      "minimum": "16 minutes",
      "maximum": "30 minutes",
      "trend": "Increasing"
    },
    {
      "airport": "RSW",
      "reason": "WX:Thunderstorms",
      "type": "Departure",
      "minimum": "16 minutes",
      "maximum": "30 minutes",
      "trend": "Increasing"
    }
  ],
  "closures": [
    {
      "airport": "LAX",
      "reason": "!LAX 05/277 LAX AD AP CLSD TO NON SKED TRANSIENT GA ACFT EXC 24HR PPR CTC ATLANTIC AVIATION 310-258-9884 OR SIGNATURE AVIATION 310-410-9605 2605271826-2705281600",
      "start": "May 27 at 18:26 UTC.",
      "reopen": "May 28 at 16:00 UTC."
    },
    {
      "airport": "SAN",
      "reason": "!SAN 10/004 SAN AD AP CLSD TO NON SKED TRANSIENT GA ACFT EXC PPR 619-298-7704 2610011633-2701010800",
      "start": "Oct 01 at 16:33 UTC.",
      "reopen": "Jan 01 at 08:00 UTC."
    }
  ],
  "attribution": "Source: FAA National Airspace System Status (nasstatus.faa.gov), U.S. public domain"
}
JSON Schema
{
  "type": "object",
  "properties": {
    "updatedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "airport": {
      "type": [
        "string",
        "null"
      ]
    },
    "total": {
      "type": "number"
    },
    "groundStops": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "airport": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "endTime": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "airport",
          "reason",
          "endTime"
        ],
        "additionalProperties": false
      }
    },
    "groundDelays": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "airport": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "average": {
            "type": [
              "string",
              "null"
            ]
          },
          "maximum": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "airport",
          "reason",
          "average",
          "maximum"
        ],
        "additionalProperties": false
      }
    },
    "arrivalDepartureDelays": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "airport": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "minimum": {
            "type": [
              "string",
              "null"
            ]
          },
          "maximum": {
            "type": [
              "string",
              "null"
            ]
          },
          "trend": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "airport",
          "reason",
          "type",
          "minimum",
          "maximum",
          "trend"
        ],
        "additionalProperties": false
      }
    },
    "closures": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "airport": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "start": {
            "type": [
              "string",
              "null"
            ]
          },
          "reopen": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "airport",
          "reason",
          "start",
          "reopen"
        ],
        "additionalProperties": false
      }
    },
    "attribution": {
      "type": "string"
    }
  },
  "required": [
    "updatedAt",
    "airport",
    "total",
    "groundStops",
    "groundDelays",
    "arrivalDepartureDelays",
    "closures",
    "attribution"
  ],
  "additionalProperties": false
}

More

Free schema and example: GET https://x402-gateway.blackwoodstate8.workers.dev/v1/airport-delays. OpenAPI 3.1 · llms.txt · All services