World's first AI web check-in API

AI Web Check-in API for OTAs, TMCs & corporate travel

An AI agent opens the airline's own website the minute check-in opens, checks your passenger in, picks the seat, and sends the boarding pass. Across 500+ airlines.

Not a scraper that breaks the next time an airline redesigns its site — an agent that reads the page and keeps going. 60,000+ check-ins completed in the last six months.

  • Test on real PNRs, no integration
  • First 100 check-ins free
  • Live in ~2 days
60,000+Check-ins completed in the last six months
500+Airlines covered, domestic and international
99.9%API uptime, measured monthly
2 daysTypical integration, three endpoints
See it work

Watch the AI agent check a passenger in

A 2 min 11 sec walk through the test portal: a real booking pasted in, the agent working through the airline's own check-in flow, and the boarding pass coming back at the end. No slides, no mock data.

  • Runs on your own PNRs, on the airlines and routes you sell
  • First 100 check-ins free, no card required
  • Portal access is sent as soon as you request it — no integration needed to start
Flyo Web Check-in API portal walkthrough. Watch on YouTube
Coverage

500+ airlines, checked in by one AI agent

Full-service and low-cost carriers, domestic and international. A sample of the carriers partners run through the API most often — coverage is not limited to this list, and nothing here is hard-coded per airline.

India

  • IndiGo
  • Air India
  • Air India Express
  • SpiceJet
  • Akasa Air

Middle East

  • Emirates
  • Qatar Airways
  • Etihad Airways
  • flydubai
  • Air Arabia
  • Saudia

Asia Pacific

  • Singapore Airlines
  • Thai Airways
  • Malaysia Airlines
  • AirAsia
  • Cathay Pacific
  • Vietnam Airlines

Europe & North America

  • British Airways
  • Lufthansa
  • Air France
  • KLM
  • Turkish Airlines
  • United Airlines

Not sure about a specific carrier or route? Confirm coverage during onboarding. Subscribe validates your itinerary; unavailable airline timing can lead to manual fulfillment reported as SCHEDULED. See which airlines are not supported.

At a glance

Flyo AI Web Check-in API: key facts

Summary of the Flyo AI web check-in API: coverage, volume, delivery, security and pricing.
What it isA REST API that completes airline web check-in for your passengers automatically and returns the boarding pass
How it worksAn AI agent completes check-in on the airline's own website — the world's first, and not a hard-coded scraper
Built forOTAs and booking platforms, TMCs, corporate travel desks
Airlines covered500+ worldwide, domestic and international, full-service and low-cost
Check-ins delivered60,000+ completed in the last six months
API uptime99.9%, measured monthly
Boarding pass deliveryBoarding-pass URLs through status, requests and your registered callback
Free tierFirst 100 check-ins free, no card required
TestingNo-code portal on real PNRs, shared once you request access — no integration needed
Typical integrationAbout 2 days: three REST endpoints and one static API key
SecurityCASA Tier 2 verified, encrypted in transit, API keys scoped per enterprise
PricingFree for the first 100, then $0.40 / $0.35 / $0.30 per completed check-in by monthly volume

What is an AI web check-in API?

A web check-in API is a REST interface that lets a travel platform check passengers in with the airline automatically, without anyone visiting the airline's website. You send the PNR, flight, and passenger details once; the API completes the airline's check-in flow the moment the window opens and returns the boarding pass.

Flyo's is the world's first to do that work with an AI agent rather than a set of hard-coded scripts. The agent opens the airline's own site and works through check-in the way a person would, which is why it survives the redesigns, extra consent steps and new upsell screens that break conventional automation.

Check-in is the most repetitive job in post-booking operations. Every ticket generates one, the window opens between 24 and 48 hours before departure, and it almost always lands outside office hours. Most platforms handle it by hand: a service desk logging into dozens of airline websites, re-typing passport numbers, and emailing PDFs to travellers one at a time. If you want the traveller-side view of the same process, we wrote a plain guide to what web check-in is.

Automating it changes three things for an OTA, a TMC, or a corporate travel desk:

  • Travellers get their boarding pass automatically, instead of a reminder to go and do it themselves.
  • Check-in cost per booking stops scaling with volume — a desk that checked in 300 passengers a month can support 30,000.
  • Check-in becomes a service you control and can charge for, and an upsell surface for seats, baggage, lounge access, and insurance.
How it works

One API call in, a boarding pass out

You hand over the booking once. Everything below happens without anyone on your team touching an airline website, or watching for a failure.

  1. 01The moment a ticket is issued

    You send us the booking

    One POST with the PNR, the flight and the passengers, days or weeks before departure. Or paste it into the portal if you have not integrated yet. Nothing else is asked of you after that.

  2. 02Until the window opens

    Flyo watches for the check-in window

    Every airline opens check-in at a different time, and moves it by route and fare class. Flyo holds your booking and tracks when yours opens. There is nothing for you to schedule, poll or remember.

  3. 03When the check-in run is due

    The AI agent checks the passenger in

    The agent opens the airline's own website and works through the real check-in flow the way a person would: passenger details, passport and APIS forms, consent screens, then the live seat map for the seat preference you sent.

    Track the current outcomeIf automation encounters a problem, Flyo may continue fulfillment manually. Use the current status and missing_info to understand what is needed; do not create another subscription solely because an earlier run failed.
If it succeeds

The boarding pass goes out

Available boarding-pass URLs are returned through the API and your callback for display in your app or delivery to the traveller. Check-in can be COMPLETED before a pass is available; inspect boarding_passes and sub_status and keep listening for updates.

If it cannot be completed

You are told exactly what is blocking it

A passport number you never sent, a missing date of birth, a document the airline wants verified in person. You get a typed reason and a missing_info list with days still on the clock, not a silent failure on departure day.

Either way, your system is told

Every state change is pushed to your webhook — SCHEDULED, IN_PROGRESS, COMPLETED, FAILED — each with a human-readable message saying what happened. Nothing in this flow needs a person watching it.

The whole integration is one POST

Hand over the PNR, the flight and the passengers once and you are done. Three endpoints exist in total — subscribe a booking, read the status of one check-in, list your requests — and authentication is a single static X-API-Key header with no token refresh flow to build.

Full API reference
Subscribe a booking for check-in
POST /extPartner/api/webcheckin/subscribe
X-API-Key: <your-dashboard-issued-key>

{
  "pnr": "ABC123",
  "flights": [
    {
      "airline": "6E",
      "flight_number": "6E203",
      "origin": "DEL",
      "destination": "BOM",
      "departure_datetime": "2030-09-20T10:00:00",
      "arrival_datetime": "2030-09-20T12:00:00"
    }
  ],
  "passengers": [
    {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com"
    }
  ]
}
Boarding passes

Check-in is only half of it — we deliver the boarding pass too

Use the boarding-pass URLs returned through status and callbacks to display passes in your own product or deliver them through your own channels. A completed check-in can still be waiting for a boarding pass.

Deliver through your own channels

Use available boarding-pass URLs in your own app, email or messaging flow. Check boarding_passes before offering a download.

Or in your own app, under your brand

Available boarding-pass URLs are returned on the status endpoint and in the webhook. Render them in your app or confirmation email. COMPLETED can precede boarding-pass availability.

Or pull it, if you prefer

The same boarding_passes array comes back from the status and list endpoints, not just the webhook, so a push you missed is never a boarding pass you lost.

webcheckin.update — check-in complete
POST https://partner.example.com/webhooks/flyo

{
  "event": "webcheckin.update",
  "event_id": "9f8d7e6c5b4a32109f8d7e6c5b4a32109f8d7e6c5b4a32109f8d7e6c5b4a3210",
  "occurredAt": "2030-09-18T05:00:00.000Z",
  "checkin_id": "CHK-783245",
  "changes": {
    "status": "COMPLETED",
    "sub_status": "BOARDING_PASS_AVAILABLE",
    "checkin_message": "Checkin completed and boarding passes are available",
    "missing_info": [],
    "boarding_passes": [
      "https://files.example.com/boarding-pass.pdf"
    ]
  }
}

What you get back

The pass arrives in your system as part of the same webcheckin.update event that tells you check-in finished. No second call, no polling loop, no file to fetch on a schedule.

  • boarding_passes is a flat array of available URLs; passenger and segment mapping is not exposed
  • Available on the status and list endpoints too, if you would rather pull than receive
  • Render them under your own brand or send them through your own email or messaging flow
Why it keeps working

An AI agent, not a scraper

Conventional check-in automation hard-codes each airline's website. The moment that airline ships a redesign, adds a step, or moves a button, the script breaks — usually silently, usually in peak season.

It reads the page, not a selector

The agent looks at the airline's site the way a person does. A new layout, an extra interstitial, a reworded button, a fresh consent checkbox — it works out what the page is asking and carries on.

New airlines without new code

Because nothing is hard-coded per carrier, coverage extends to new airlines and routes without you waiting on anyone's release cycle.

Track fulfillment

Use status and callbacks to track the current outcome. Flyo may continue fulfillment manually when automation encounters an issue.

Building check-in in-house vs. the Flyo API

Comparison of building airline web check-in automation in-house against the Flyo AI web check-in API.
DimensionBuilding it yourselfFlyo AI Web Check-in API
Airline coverageOne hard-coded scraper per airline, built and owned by your team500+ airlines, one AI agent, nothing hard-coded per carrier
Time to first check-inMonths of engineering per carrierTest this week in the portal, integrate in about 2 days
When an airline changes its siteThe script breaks silently; your on-call engineer, at 3am, in check-in seasonThe agent reads the new page and carries on — nobody is paged, nothing changes for you
Boarding pass deliveryBuild WhatsApp and email pipelines yourselfBoarding-pass URLs for your app or delivery channels
Retries on failureYour own scheduler, queue and backoff logicTrack automation and manual fulfillment
Cost modelFixed engineering headcount regardless of volumeFirst 100 free, then from $0.30 per completed check-in
Try it first

Test it on your own PNRs before you write any code

Request access through the form on this page and we send you portal credentials with your first 100 check-ins. Paste a real booking, watch the agent check the passenger in, and see exactly what your integration would receive — no API keys to wire up, no engineering time to commit.

Real PNRs, not mock data

Paste a live booking from an airline and route you actually sell, and watch the check-in run end to end. No sandbox stubs that behave differently in production.

See the failure cases too

Run a deliberately incomplete booking and the portal shows you the exact missing_info codes your integration would receive — missing passport, missing date of birth, departure too close — so you know what to collect before you build.

First 100 check-ins free

Enough to prove the flow across your busiest routes and carriers. No card, no contract, no minimum. You only start paying once it is doing real work.

Most teams run their first check-in in the portal before bringing engineering in at all, and only integrate once they have seen it work on their own bookings.

Get portal access
Capabilities

What you get out of the box

Everything needed to run check-in at scale, without owning a single airline integration.

500+ airlines, one AI agent

  • Full-service and low-cost carriers, domestic and international
  • No per-airline script to maintain — the agent handles each site as it finds it
  • Confirm carrier and route coverage during onboarding

Boarding passes where travellers are

  • Boarding-pass URLs for your app and delivery channels
  • Arrives even when the traveller has no data connection at the airport
  • Or take the boarding pass URLs and render them in your own app

Webhooks instead of polling

  • Register a callback URL and an auth header once
  • Every webcheckin.update event pushed through a queued, retried pipeline
  • Status and list endpoints available if you would rather pull

Seat preferences and ancillaries

  • Row preference (front, middle, rear) and column preference per passenger
  • Applied during check-in wherever the airline allows free selection
  • Turns check-in into an upsell surface for seats, baggage, and lounge access

Missing-info handling built in

  • Incomplete passenger data waits instead of failing the request
  • A typed missing_info list tells you exactly what to collect
  • Update eligible bookings with the complete passenger list

Enterprise-grade by default

  • CASA Tier 2 verified and encrypted in transit
  • API keys scoped per enterprise, issued and revoked from the dashboard
  • 60 requests/minute and 1,000/hour per key, with quota on every response

Built for OTAs, TMCs and corporate travel desks

If you hold the booking, you can own the check-in — and everything that happens on departure day.

FOR OTAs & BOOKING PLATFORMS

Own the trip after checkout

Every ticket you sell gets checked in automatically, and the boarding pass arrives from you rather than the airline's app. The traveller comes back to your platform on departure day instead of leaving it.

FOR TMCs

Stop paying consultants to check people in

Thousands of business travellers checked in without anyone opening an airline website. Your service desk stops absorbing check-in tickets at 2am, and check-in cost per booking stops scaling with headcount.

FOR CORPORATE TRAVEL DESKS

Every traveller boarded, on the record

Seats assigned and boarding passes issued for every employee trip, with an auditable status per booking. No more chasing travellers the night before a flight to confirm they checked themselves in.

Running a larger platform with more than check-in to automate? See the full enterprise platform.

Straight answers

Limits, edge cases and fine print

Every buyer asks these on the first call, and the answers are the ones with a caveat or a no in them. Here they are in public, before you look at the price.

Which airlines are not supported?

Check coverage for your airline and route with the Flyo team before integrating. Subscribe validates the itinerary, but does not detect every airline restriction. If check-in timing is unavailable, the request can be accepted as SCHEDULED for manual fulfillment rather than immediately rejected. Use status and missing_info to track the outcome.

What happens on low-cost carriers where every seat is paid?

Check-in still completes and the boarding pass is still issued — the agent takes whatever the airline assigns for free rather than buying anything. On carriers that charge for every seat, that usually means the airline allocates a seat at check-in and the agent accepts it. The agent never spends money on your behalf: paid seats, baggage and extras are surfaced back to you so you can offer them to the traveller in your own flow and keep the margin, which is the whole reason check-in is worth owning. If you want a specific paid seat taken automatically, that is a per-partner configuration rather than a default.

Does it work on codeshare bookings?

Send the operating airline and its flight number, with the PNR that airline recognizes. Subscribe does not look up codeshares or translate marketing-carrier details into operating-carrier details. Confirm these details with your booking provider before submitting.

Where is passenger data stored, and how long do you keep it?

Confirm data residency, retention and document access requirements with the Flyo team during onboarding. The API reference does not promise automatic passport deletion after departure or a fixed boarding-pass URL expiry. Handle passenger details and document URLs as sensitive data and agree the required policies for your environment.

What does CASA certified actually mean?

CASA is the Cloud Application Security Assessment run by the App Defense Alliance, the security programme Google, Amazon and Meta founded. Flyo holds a Tier 2 verification, which means an independent assessor tested the application against the OWASP Application Security Verification Standard and checked how it authenticates, authorises and stores data — it is an audited assessment, not a self-declaration. In practice it is the bar a security reviewer at an OTA or a corporate procurement team asks for. It is not the same thing as SOC 2 or ISO 27001; if your review requires one of those specifically, ask us where that sits rather than assuming CASA substitutes for it.

What if the traveller already checked themselves in?

Subscribe does not query the airline to detect a check-in completed independently by the traveller. ALREADY_SUBSCRIBED means Flyo has an active matching request. An existing completed Flyo attempt returns HTTP 422 REJECTED; use its original checkin_id to retrieve status and any available boarding-pass URLs.

Can it handle group and multi-passenger bookings?

Multi-passenger PNRs are the normal case — the passengers array takes as many travellers as the booking holds, each with their own passport details and seat preference, and the agent checks them in together in one pass so the group is seated together where the airline allows it. True group bookings held in a separate group PNR, the sort with twenty or more seats and a negotiated fare, are worth flagging during onboarding, because a few airlines handle those outside their normal web check-in flow entirely.

How is this different from a GDS or an NDC check-in?

GDS and NDC give you booking, ticketing and servicing, but check-in is largely outside what they expose — which is exactly why so many OTAs still have a service desk logging into airline websites by hand despite a full GDS integration. This API sits after the ticket is issued and is deliberately agnostic about where the ticket came from: it takes a PNR and passenger details, whether the booking originated in Amadeus, Sabre, an NDC connection, a consolidator, or your own inventory. It replaces the manual work at the end of the funnel rather than any part of your booking stack.

Integration, webhooks, boarding pass delivery and the rest are answered in the frequently asked questions further down.

Pricing

AI web check-in API pricing

Pay per completed check-in. No setup fee, no platform minimum, no charge for check-ins that never ran.

Start free

Your first 100 check-ins are free, and you can run them from the portal on real PNRs before writing any code. Billing starts only once you go past them.

  • No card required
  • No integration required
  • Cancel any time

Starter

1 - 3,000 check-ins / month

$0.40/ check-in
  • All three REST endpoints
  • Webhook delivery
  • Boarding-pass URLs for your channels
  • Email support
Start free
Most popular

Growth

3,001 - 10,000 check-ins / month

$0.35/ check-in
  • Everything in Starter
  • Priority check-in scheduling
  • Shared Slack channel
  • Integration support during onboarding
Start free

Scale

10,000+ check-ins / month

$0.30/ check-in
  • Everything in Growth
  • Custom rate limits and quotas
  • Dedicated solutions engineer
  • Annual contracting and invoicing
Start free

Above 50,000 check-ins a month? Talk to us about custom pricing and dedicated capacity.

FAQ

AI web check-in API: frequently asked questions

Coverage exclusions, codeshare bookings, low-cost carriers, data residency and the CASA certification are answered under limits, edge cases and fine print higher up the page.

Get started

Run your first check-in this week

Tell us your volume and where check-in sits in your booking flow. We reply with portal access and your first 100 free check-ins so you can test on your own PNRs, plus API keys when you are ready to integrate.

  • First 100 check-ins free, no card required
  • Portal access to test real PNRs with zero integration
  • Reply within one business day
  • CASA Tier 2 verified, encrypted in transit

Prefer email? Write to nitish@flyo.ai.

Three fields are all we need. We reply within one business day with portal access and your first 100 free check-ins. No spam — these details are only used to scope your integration.