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/airportsJavaScript / 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.
/api/airportsList 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"
}
]
}/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"
}/api/airports/{code}/wait-timesLane-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"
}/api/airports/{code}/historyHistorical 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 }
]
}/api/airports/{code}/departuresLive 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"
}/api/airports/{code}/best-timeRecommended 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."
}
}/api/airports/{code}/smart-routeSmart 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
}
}/api/airports/{code}/immigrationCBP 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"
}
]
}/api/flights/search?q=UA539Flight 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"
}
}/api/crisisNational 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.
| Code | Description |
|---|---|
200 | Success |
400 | Bad request — invalid parameters |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — plan does not include this endpoint |
404 | Airport code not found |
429 | Rate limit exceeded |
500 | Internal 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 / day | 50 | 5,000 | 50,000 | Unlimited |
| Data freshness | 30 min delay | Real-time | Real-time | Real-time + streaming |
| Airports | 5 | All 50 | All 50 | All 50 + international |
| Lane detail | Airport-level only | Terminal-level | Lane-level | Full checkpoint-level |
| Historical data | None | 7 days | 30 days | 12 months |
| Webhooks | No | Yes | Yes + threshold alerts | Custom event pipeline |
| Support | Docs only | Email (48hr SLA) | Priority (12hr SLA) | Dedicated team + 4hr SLA |
Rate Limits
Rate limits are applied per API key, based on your plan.
| Plan | Rate Limit | Daily Limit |
|---|---|---|
| Starter | 10 req/min | 100 req/day |
| Pro | 60 req/min | 10,000 req/day |
| Enterprise | Custom | Unlimited |
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.