A clean JSON API for live business, first, and economy award space — pulled direct from global airline inventory, not scraped from airline websites. Built for LLM agents, travel tools, and backend integrations.
Airline website redesigns and anti-bot defenses don't touch us. We query airline inventory directly, so your integration doesn't break every time a carrier ships a new front end.
Responses are plain facts: carrier, flight, route, times, cabin, and seat count — already mapped to human cabin names. No fare-code decoding, no parsing required on your end.
Surfaces long-haul business and first award space — including alliance and partner segments — that consumer airline sites and scraper tools frequently don't show.
Honest about limits: award space is volatile and released in real time, so availability changes minute to minute. A small set of carriers block their award space from open distribution entirely (e.g. Singapore Suites, Emirates First) — we don't pretend to see what isn't there.
Each request searches exactly one origin, one destination, one airline, and one date. For flexible searches, make one call per combination. Authenticate with a bearer token.
curl -X POST https://awardsecrets.com/api.php \
-H "Authorization: Bearer ak_live_…" \
-H "Content-Type: application/json" \
-d '{"origin":"JFK","destination":"LHR","airline":"VS","date":"2026-08-05","cabin":"business"}'
{
"status": "ok",
"quota_remaining": 4998,
"found": true,
"flight_count": 11,
"dates": [
{
"date": "2026-08-05",
"flights": [
{
"carrier": "VS",
"flight_number": "VS4",
"operated_by": null,
"origin": "JFK",
"destination": "LHR",
"depart": "2026-08-05T18:00",
"arrive": "2026-08-06T06:20",
"equipment": "351",
"cabin": "business",
"seats": 9
}
… 10 more
]
}
]
}
Codeshares populate operated_by (e.g. "DL"). Connections return one object per segment. Times are ISO-8601 local. A seats value of 9 means 9 or more.
The same search, exposed as an MCP tool. Point Claude Code, Cursor, or any MCP client at https://awardsecrets.com/mcp and award availability becomes something your agent can call directly — no client code to write.
Remote transport, no local process to install. Same bearer key as the REST API.
search_award_availability takes one origin, one destination, one airline, one date. The schema tells the model to fan out rather than guess.
Cabin and seat count. No fare codes, no pricing, no invented advice for a model to repeat.
curl -X POST https://awardsecrets.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -X POST https://awardsecrets.com/mcp \
-H "Authorization: Bearer ak_live_…" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"search_award_availability",
"arguments":{"origin":"JFK","destination":"LHR",
"airline":"VS","date":"2026-08-05"}}}'
tools/list and initialize answer without a key, so a client can discover the server before you have one. tools/call requires a key and is currently in limited release.
Buy a block of searches, draw it down as you go, top up when you need more.
One search = one request for a single origin, destination, airline, and date. Rejected requests (bad input, no key) aren't charged.
Volume & enterprise terms on request.
Terms of Service — see §5 for API terms and §6 for what you may do with the data.
We're onboarding developers and teams individually right now. Tell us what you're building and we'll set you up with a key and a starter block of searches to test against live inventory.
Email api@awardsecrets.comTypical turnaround: one business day.