← Developer Portal

API Documentation

RESTful JSON API. All responses include timestamps and confidence scores.

Base URL: https://api.gateready.live/v1

Authentication

All API requests require a Bearer token in the Authorization header. Request your API key at api@gateready.live.

curl

curl -H "Authorization: Bearer YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     https://api.gateready.live/v1/airports

JavaScript / Fetch

const response = await fetch(
  'https://api.gateready.live/v1/airports/DFW/wait-times',
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);
const data = await response.json();

Python / requests

import requests

headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}

response = requests.get(
    "https://api.gateready.live/v1/airports/DFW/wait-times",
    headers=headers
)
data = response.json()

Endpoints

All endpoints return JSON with timestamps and confidence scores where applicable.

GET/api/airports

List Monitored Airports

Returns all airports with current aggregate status, wait time ranges, and terminal count.

Sample Response

{
  "airports": [
    {
      "code": "ATL",
      "name": "Hartsfield-Jackson Atlanta International",
      "status": "ELEVATED",
      "waitRange": { "min": 15, "max": 45 },
      "terminals": 2,
      "lastUpdated": "2026-03-26T14:30:00Z"
    },
    {
      "code": "DFW",
      "name": "Dallas/Fort Worth International",
      "status": "NORMAL",
      "waitRange": { "min": 5, "max": 20 },
      "terminals": 5,
      "lastUpdated": "2026-03-26T14:28:00Z"
    }
  ]
}
GET/api/airports/{code}

Airport Detail

Detailed airport data including per-terminal wait times, checkpoint statuses, and confidence scores.

Sample Response

{
  "code": "JFK",
  "name": "John F. Kennedy International",
  "status": "SEVERE",
  "terminals": [
    {
      "name": "Terminal 1",
      "waitMinutes": 55,
      "status": "SEVERE",
      "checkpoints": ["Checkpoint A", "Checkpoint B"],
      "confidence": 0.95,
      "source": "official"
    },
    {
      "name": "Terminal 4",
      "waitMinutes": 30,
      "status": "ELEVATED",
      "checkpoints": ["Main Checkpoint"],
      "confidence": 0.80,
      "source": "verified"
    }
  ],
  "lastUpdated": "2026-03-26T14:30:00Z"
}
GET/api/airports/{code}/wait-times

Lane-Level Wait Times

Per-terminal, per-lane wait time data. Includes General, TSA Pre, CLEAR, and Priority lanes.

Sample Response

{
  "airport": "DFW",
  "terminals": [
    {
      "name": "Terminal E",
      "waitMinutes": 21,
      "lanes": [
        { "name": "E18", "type": "General", "waitMinutes": 21 },
        { "name": "E8", "type": "TSA Pre", "waitMinutes": 10 },
        { "name": "E8", "type": "Priority", "waitMinutes": 3 }
      ]
    }
  ],
  "updatedAt": "2026-03-26T15:00:00Z"
}
GET/api/airports/{code}/history

Historical Wait Times

24-hour wait time trend data for an airport. Useful for building charts and predictive models.

Sample Response

{
  "airport": "ORD",
  "history": [
    { "timestamp": "2026-03-26T06:00:00Z", "waitMinutes": 8 },
    { "timestamp": "2026-03-26T07:00:00Z", "waitMinutes": 22 },
    { "timestamp": "2026-03-26T08:00:00Z", "waitMinutes": 35 },
    { "timestamp": "2026-03-26T09:00:00Z", "waitMinutes": 28 },
    { "timestamp": "2026-03-26T10:00:00Z", "waitMinutes": 15 }
  ]
}
GET/api/airports/{code}/departures

Live Departure Board

Upcoming departures with terminal, gate, airline, and delay information.

Sample Response

{
  "airport": "LAX",
  "departures": [
    {
      "flight": "UA539",
      "airline": "United Airlines",
      "destination": "SFO",
      "terminal": "7",
      "gate": "73A",
      "scheduledTime": "2026-03-26T16:45:00Z",
      "estimatedTime": "2026-03-26T16:55:00Z",
      "status": "On Time"
    }
  ],
  "count": 142,
  "lastUpdated": "2026-03-26T14:30:00Z"
}
GET/api/airports/{code}/best-time

Recommended Arrival Time

Calculates the optimal airport arrival time based on current conditions, historical patterns, and flight schedule.

Sample Response

{
  "airport": "ORD",
  "recommendation": {
    "arriveBy": "2026-03-26T13:15:00Z",
    "currentWaitEstimate": 35,
    "bufferMinutes": 20,
    "riskLevel": "moderate",
    "reasoning": "Elevated wait times at Terminal 2. Recommend extra buffer."
  }
}
GET/api/airports/{code}/smart-route

Smart Routing

Recommends the fastest checkpoint based on real-time conditions and terminal walk times. Carry-on only.

Sample Response

{
  "airport": "ATL",
  "recommendation": {
    "suggestedTerminal": "Domestic Terminal - North",
    "suggestedWait": 12,
    "originalTerminal": "Domestic Terminal - South",
    "originalWait": 32,
    "savings": 20,
    "walkTime": 5,
    "carryOnOnly": true
  }
}
GET/api/airports/{code}/immigration

CBP Wait Times

Customs and Border Protection wait times for international arrivals, by terminal.

Sample Response

{
  "airport": "MIA",
  "immigration": [
    {
      "terminal": "North Terminal",
      "waitMinutes": 45,
      "booths": { "open": 12, "total": 20 },
      "lastUpdated": "2026-03-26T14:25:00Z"
    }
  ]
}
GET/api/flights/search?q=UA539

Flight Lookup

Search by flight number to get terminal, gate, departure time, and current security conditions at the departure airport.

Sample Response

{
  "flight": "UA539",
  "airline": "United Airlines",
  "departure": {
    "airport": "LAX",
    "terminal": "7",
    "gate": "73A",
    "scheduledTime": "2026-03-26T16:45:00Z",
    "securityStatus": "NORMAL",
    "estimatedWait": 15
  },
  "arrival": {
    "airport": "SFO",
    "terminal": "3",
    "gate": "F12"
  }
}
GET/api/crisis

National Crisis Detection

Returns the current national crisis level based on aggregate airport conditions. Detects government shutdowns, weather events, and systemic disruptions.

Sample Response

{
  "level": "ELEVATED",
  "affectedAirports": 4,
  "totalMonitored": 50,
  "triggers": [
    "3 airports reporting 2+ hour wait times",
    "40% of airports at SEVERE or higher"
  ],
  "since": "2026-03-26T08:00:00Z",
  "lastChecked": "2026-03-26T14:30:00Z"
}

Error Codes

All errors return a JSON body with a message field.

CodeDescription
200Success
400Bad request — invalid parameters
401Unauthorized — missing or invalid API key
403Forbidden — plan does not include this endpoint
404Airport code not found
429Rate limit exceeded
500Internal server error

Error Response Example

{
  "error": true,
  "code": 401,
  "message": "Invalid or missing API key. Include a valid Bearer token in the Authorization header."
}

Pricing

Simple, predictable pricing. Start free and scale as you grow.

Evaluate

Free

Growth

$499/mo

Most Popular

Business

$1,999/mo

Enterprise

Custom

Calls / day505,00050,000Unlimited
Data freshness30 min delayReal-timeReal-timeReal-time + streaming
Airports5All 50All 50All 50 + international
Lane detailAirport-level onlyTerminal-levelLane-levelFull checkpoint-level
Historical dataNone7 days30 days12 months
WebhooksNoYesYes + threshold alertsCustom event pipeline
SupportDocs onlyEmail (48hr SLA)Priority (12hr SLA)Dedicated team + 4hr SLA

Evaluate

Free

50 calls/day

Get Started

Growth

$499/mo

5,000 calls/day

Get Started

Business

$1,999/mo

50,000 calls/day

Get Started

Enterprise

Custom

Unlimited calls/day

Contact Sales

Rate Limits

Rate limits are applied per API key, based on your plan.

PlanRate LimitDaily Limit
Starter10 req/min100 req/day
Pro60 req/min10,000 req/day
EnterpriseCustomUnlimited

Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Ready to integrate?

Request an API key to get started, or explore the developer portal for use cases and pricing.