Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/flightqueue-com:flightqueue-com-alerts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: FlightQueue Alerts API
version: 1.0.0
description: 'Real-time airport intelligence: security wait times, FAA delays, ML predictions, and historical patterns for 8,000+ airports.'
termsOfService: https://flightqueue.com/terms
contact:
name: FlightQueue API
url: https://flightqueue.com/features/agent-access
email: api@flightqueue.com
servers:
- url: https://flightqueue.com/api/v1
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: Alerts
description: Wait-time alerts for the key owner.
paths:
/alerts:
post:
operationId: createWaitTimeAlert
summary: Create or update a wait-time alert
description: 'Creates an alert, or updates the threshold if the key owner already has one for the airport. Requires a user-scoped key. The airport must have a live wait-time feed. Thresholds are 1 to 240 minutes. Each user can hold up to 20 alerts.
Access: User-scoped key (MCP OAuth or developer key).'
tags:
- Alerts
parameters: []
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: true
data:
type: object
properties:
alert:
type: object
properties:
id:
type: string
airportCode:
type: string
pattern: ^[A-Z]{3}$
thresholdMinutes:
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
direction:
type: string
enum:
- above
- below
createdAt:
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
description: ISO 8601 timestamp in UTC.
required:
- id
- airportCode
- thresholdMinutes
- direction
- createdAt
additionalProperties: false
required:
- alert
additionalProperties: false
meta:
type: object
properties:
requestId:
type: string
format: uuid
pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
description: Unique ID for this request. Quote it when you contact support.
timestamp:
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
description: ISO 8601 timestamp in UTC.
required:
- requestId
- timestamp
additionalProperties: false
required:
- success
- data
- meta
additionalProperties: false
example:
success: true
data:
alert:
id: '101'
airportCode: JFK
thresholdMinutes: 30
direction: above
createdAt: '2026-11-07T11:00:00.000Z'
meta:
requestId: 3f8c2b1e-6d4a-4f7b-9a1e-2c5d8e7f0a12
timestamp: '2026-11-07T12:00:00.000Z'
'400':
description: Bad request
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
error:
type: object
properties:
code:
type: string
enum:
- MISSING_API_KEY
- INVALID_API_KEY
- RATE_LIMIT_EXCEEDED
- PREMIUM_REQUIRED
- ENTERPRISE_REQUIRED
- INVALID_AIRPORT
- INVALID_DATE
- INVALID_BODY
- TOO_MANY_AIRPORTS
- NOT_FOUND
- INTERNAL_ERROR
description: Machine-readable error code.
message:
type: string
description: Human-readable explanation.
required:
- code
- message
additionalProperties: false
required:
- success
- error
additionalProperties: false
description: Error envelope. Error responses have no meta object.
examples:
INVALID_BODY:
summary: The body is invalid, the airport has no live feed, or the user has too many alerts.
value:
success: false
error:
code: INVALID_BODY
message: The body is invalid, the airport has no live feed, or the user has too many alerts.
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
error:
type: object
properties:
code:
type: string
enum:
- MISSING_API_KEY
- INVALID_API_KEY
- RATE_LIMIT_EXCEEDED
- PREMIUM_REQUIRED
- ENTERPRISE_REQUIRED
- INVALID_AIRPORT
- INVALID_DATE
- INVALID_BODY
- TOO_MANY_AIRPORTS
- NOT_FOUND
- INTERNAL_ERROR
description: Machine-readable error code.
message:
type: string
description: Human-readable explanation.
required:
- code
- message
additionalProperties: false
required:
- success
- error
additionalProperties: false
description: Error envelope. Error responses have no meta object.
examples:
MISSING_API_KEY:
summary: No API key was sent in X-API-Key or Authorization.
value:
success: false
error:
code: MISSING_API_KEY
message: No API key was sent in X-API-Key or Authorization.
INVALID_API_KEY:
summary: The key is not user-scoped.
value:
success: false
error:
code: INVALID_API_KEY
message: The key is not user-scoped.
'429':
description: Too many requests
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
error:
type: object
properties:
code:
type: string
enum:
- MISSING_API_KEY
- INVALID_API_KEY
- RATE_LIMIT_EXCEEDED
- PREMIUM_REQUIRED
- ENTERPRISE_REQUIRED
- INVALID_AIRPORT
- INVALID_DATE
- INVALID_BODY
- TOO_MANY_AIRPORTS
- NOT_FOUND
- INTERNAL_ERROR
description: Machine-readable error code.
message:
type: string
description: Human-readable explanation.
required:
- code
- message
additionalProperties: false
required:
- success
- error
additionalProperties: false
description: Error envelope. Error responses have no meta object.
examples:
RATE_LIMIT_EXCEEDED:
summary: The key sent more requests per minute than its tier allows.
value:
success: false
error:
code: RATE_LIMIT_EXCEEDED
message: The key sent more requests per minute than its tier allows.
'500':
description: Server error
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
error:
type: object
properties:
code:
type: string
enum:
- MISSING_API_KEY
- INVALID_API_KEY
- RATE_LIMIT_EXCEEDED
- PREMIUM_REQUIRED
- ENTERPRISE_REQUIRED
- INVALID_AIRPORT
- INVALID_DATE
- INVALID_BODY
- TOO_MANY_AIRPORTS
- NOT_FOUND
- INTERNAL_ERROR
description: Machine-readable error code.
message:
type: string
description: Human-readable explanation.
required:
- code
- message
additionalProperties: false
required:
- success
- error
additionalProperties: false
description: Error envelope. Error responses have no meta object.
examples:
INTERNAL_ERROR:
summary: The alert could not be saved.
value:
success: false
error:
code: INTERNAL_ERROR
message: The alert could not be saved.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
airportCode:
type: string
pattern: ^[A-Za-z]{3}$
description: Three-letter IATA code of an airport with a live wait-time feed.
thresholdMinutes:
type: integer
minimum: 1
maximum: 240
description: Wait time in minutes that triggers the alert.
direction:
default: above
description: Trigger when the wait is above or below the threshold.
type: string
enum:
- above
- below
required:
- airportCode
- thresholdMinutes
example:
airportCode: JFK
thresholdMinutes: 30
direction: above
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: Agent key (`fqagent_…`) from POST /api/agent/register, or developer key (`fq_live_…`) from https://flightqueue.com/pricing
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: Same keys as Bearer auth, sent via X-API-Key header
x-service-info:
categories:
- travel
- data
docs:
homepage: https://flightqueue.com/features/agent-access
llms: https://flightqueue.com/llms.txt
apiReference: https://flightqueue.com/openapi.json