Every points app, AI travel agent and bank rewards portal eventually needs the same thing: which award seats exist, on which day, for how many miles and how much in taxes. Airlines don't sell that feed. A handful of companies do, in very different ways. We needed one for Mila, so we tested the options properly. This is what we found, including the parts vendors don't put on their pricing pages.
Short version: seats.aero has the best data we measured, but commercial use needs a written deal. AwardTool has the widest European coverage on paper and is sold for commercial use, by quote. Award Travel Finder is the only one with a published commercial price. point.me is not a data supplier at all. And building your own scrapers costs more than any licence and carries the legal risk yourself.
What "award data" actually is#
An award search result has five parts: the route and date, the cabin, the miles price, the taxes and carrier surcharges, and whether a seat is really bookable (ideally with a seat count). Three things decide whether the data is any good:
- Freshness. Award space changes by the hour. A row from last week is a guess.
- Completeness. Miles without taxes is half an answer: Lufthansa or British Airways surcharges can add hundreds of euros.
- Depth. How many routes are watched, and how far out. A program that only covers 150 routes can't answer most questions.
seats.aero, measured#
We ran the seats.aero Partner API on our own key: eight market searches (Europe, North America, Asia, Oceania, Latin America), searches 300 to 365 days out, the route list for every program, and trip detail for six programs. 46 calls in total, on 3 November 2026.
| Measure | Result |
|---|---|
| Programs returning data | 28 |
| Speed | 171 ms median, 1.7 s worst |
| Quota | 1,000 calls a day per key |
| How far out | about 310 days for most programs |
| Trip detail | segments, flight numbers, fare class, aircraft, duration, taxes, booking links |
Quality varies a lot by program. Most rows are less than a day old; a few programs haven't been refreshed in weeks or months:
Under a day1 to 2 daysStale: over 2 days
The full picture, with taxes and how many routes each program watches:
| Program | Median age | Taxes included | Routes watched |
|---|---|---|---|
| Alaska | 9 hours | 100% | 8,340 |
| Virgin Atlantic | 9 hours | 100% | 6,800 |
| Delta | 15 hours | 100% | 7,532 |
| Flying Blue | 17 hours | 100% | 4,390 |
| American | 20 hours | 100% (no seat counts) | 7,206 |
| Qantas | 21 hours | 100% | 8,718 |
| British Airways | 28 hours | 100% | 190 |
| Miles & More | 31 hours | 100% | 664 |
| United | 32 hours | 100% | 9,062 |
| Aeroplan | 35 hours | 100% | 8,466 |
| Turkish | 10 days | 0% | 468 |
| Qatar | 64 days | 0% | 1,152 |
| KrisFlyer | 297 days | 0% | 154 |
For trips from North America the data is excellent. For Europe it's mixed: Flying Blue, Virgin Atlantic, Delta, Aeroplan and United are solid; British Airways, Iberia, EuroBonus and Miles & More exist but are thin; Qatar, Turkish and KrisFlyer are stale and come without taxes; ANA and TAP weren't covered at all. If you build on it, filter old rows: we drop anything older than seven days.
The licence is the catch. The $9.99 a month Pro API is for personal use. Commercial use needs written permission, flights more than 60 days out can't be shown to third parties except through its OAuth login or a commercial deal, and attribution is required. The commercial price isn't published. Its "Login with Seats.aero" option lets your users connect their own Pro account, which works for consumer apps aimed at people who already pay for it.
Every vendor, side by side#
| Vendor | What you buy | Price | Commercial use |
|---|---|---|---|
| seats.aero | Cached search, bulk availability, trip detail, alerts, an MCP server; live search for commercial partners | Pro $9.99/month (personal); commercial by quote | Only with a written agreement, or through user OAuth |
| AwardTool | Real-time search, a cached "Panorama" of 50,000+ routes, hotel calendars, seat maps; 28 programs including Flying Blue, Avios, Miles & More, EuroBonus, Finnair and TAP | By quote, per program and volume | Built for it; display and caching terms not public |
| Award Travel Finder | REST API and MCP: availability, monthly calendar, pricing; about 22 to 25 programs | Partner €455.76/month for 20,000 calls with display rights and a 24-hour cache; Scale €1,369.10/month for 100,000 | Yes, from the Partner plan; no resale; must show fetch time |
| AwardSecrets | Chart-based pricing | $49 or $499/month | Terms not public |
| point.me | Gateway, a hosted white-label search, transfer and booking product for banks and loyalty programs | Not public | No data licence: it's a product, not a feed |
| Roame, PointsYeah, Pointhound, ExpertFlyer | Consumer apps | Subscriptions | No API we could find |
Two things stand out. First, only one vendor publishes a commercial price, so budget for a sales conversation. Second, where the data comes from matters as much as the data: some vendors describe airline APIs and "established travel data providers", some say the data is pulled directly from airlines, and the market leader collects it from airlines' public award search pages. Air Canada sued seats.aero over this in October 2023, and the case was still being litigated in 2026. Flying Blue and Aeroplan added login walls in 2025. One legal or technical change at an airline can remove a program overnight, so ask every vendor about its sources and its plan B.
Should you collect it yourself?#
It's tempting with AI agents that can drive a browser. We worked out the cost. A server-side search of an airline site is a remote browser session of 30 to 90 seconds, residential proxy traffic and model tokens: roughly $0.05 to $0.30 per search (our estimate). To match seats.aero's depth on Flying Blue alone you'd need around 48,000 searches a day (4,390 routes, eleven monthly calendars): $2,400 to $14,000 a day for one program (estimate). On top of that it breaks program terms, gets accounts and their miles closed, breaks on every redesign, and puts the legal risk on you.
The version worth building is the opposite: a helper that checks one award in the traveller's own logged-in session, at their request, just before they transfer points. That's the moment cached data fails most often, and it costs nothing per search.
The adjacent feeds you'll also want#
- Schedule changes: FlightAware AeroAPI starts at $100 a month and allows consumer apps. OAG and Cirium are by quote.
- Balances and expiry dates: the AwardWallet Account Access API, free for basic access, with the user's consent for history and expiry.
- Hotel awards: Rooms.aero (from seats.aero) and the AwardTool hotel API.
What to ask before you sign#
- Which programs, how many routes each, and how far out? Ask for a trial key and measure freshness yourself: now minus the row's update time.
- Are taxes and seat counts included for every program?
- Can you show the data to your users, cache it, and for how long? Is attribution required?
- Where does the data come from, and what happens if an airline blocks it?
- Does it work in your country? One vendor's API is "not available in all countries" with no list.
What we use#
Mila uses licensed award data where it's available and labels everything else: award prices from published charts come with a date and the word "typical", and she tells you to confirm the seat on the airline's site before transferring, because transfers can't be undone. If you're building on award data and want to compare notes, write to hello@pointsorcash.app.