# Bus Booking API: 2,800+ Operators Worldwide | OnArrival

> Bus booking API uniting 2,800+ operators across 90+ countries under one offer and booking API, with seat-level inventory and live GPS tracking. Take a look.

Source: https://www.onarrival.com/buses

---

# Search and book intercity buses through one API.

One integration for intercity buses: routes, seat selection, booking and live tracking, from operators who were never going to agree on a single API.

[Request a key](https://www.onarrival.com/signup) [Read the docs](https://docs.onarrival.com/)

operators, direct + aggregated

2,800+

countries with bookable routes

90+

seat layouts, selectable with live GPS

1.2M

In short

## Buses, in four steps.

More than 2,800 bus operators, each with its own system. Your app searches them together and sells a real seat.

1. Search Find routes and fares across 2,800+ operators.
2. Pick a seat Choose a berth, window or aisle on a real seat map, where the operator supports it.
3. Book Get a mobile ticket (mTicket) with the boarding-point details.
4. Travel Follow the bus live when the operator shares GPS.

Inventory

## Many bus operators. One booking API.

Connect direct operators, aggregator networks and charter supply through one API for routes, seats and booking.

DIRECT

### Operator-direct

Sleeper coaches in India, overnight lines in Argentina and regional carriers across Southeast Asia, connected at the source for real seats, extras and change rules.

2,800+ operators

NETWORK

### Aggregator networks

Aggregators, platforms that resell many operators, extend direct coverage. Where another source is available, searches can keep running during a supplier outage.

Coverage in 90+ countries

CHARTER

### Charter & group supply

Operators bid on group trips (sports teams, schools, company offsites) through a portal or webhook. You confirm the winner through the API.

Bid + confirm via API

How it works

## Search across operators in one call.

Search connected operators for routes, fares, seat layouts and tracking availability. Recheck the selected offer as the operator requires, then book through the shared booking flow.

[Read the reference](https://docs.onarrival.com/)

One trip, multi-operator

20:30

Bengaluru

Boarding

04:15

Hyderabad

Op handoff

12:40

Nagpur

Op handoff

21:05

Mumbai

Arrival

OPERATORS

SRS · VRL · KSRTC

SEAT

Sleeper, lower-side

TRIP

1 reference · 3 legs

In depth

## From seat selection to boarding.

Show seat layouts, boarding details and live tracking where the operator supports them.

01

### 2,800+ operators, one format

Direct connections plus the major aggregators (RedBus, FlixBus, ALSA networks). Sleeper coaches in India, Megabus in the UK and overnight buses in Argentina use the same API.

Supply

02

### Real seat maps

1.2M seat layouts in one format: sleeper berths, semi-sleepers, recliners, upper and lower, window and aisle. Per-seat pricing where operators support it.

Inventory

03

### Live GPS tracking

Where operators share location data, your customers and your support team see the real bus moving, not a timetable guess. Boarding-point arrival times update live.

Travel day

04

### Mobile tickets & boarding

QR mobile tickets (mTickets) accepted at boarding and saved for offline use, with boarding-point details, landmark photos and driver contact where available.

Travel day

05

### Multi-leg routing

Link several operator bookings under one trip reference. Show transfer times and each operator’s conditions. Connection protection and rebooking depend on the itinerary.

Supply

06

### Charter quoting

Group quotes for sports teams, schools and company offsites. Post the requirements, operators bid by portal or webhook, and you confirm the winner through the API.

Commercial

@media (prefers-reduced-motion: no-preference){ .oa-illo-in .pdb-route{stroke-dasharray:340; stroke-dashoffset:340; animation:pdbDraw 1.6s .3s ease-out forwards;} .oa-illo-in .pdb-stop{opacity:0; transform-box:fill-box; transform-origin:center; animation:pdbPop .4s ease-out forwards;} .oa-illo-in .pdb-guard{opacity:0; animation:pdbGuard .6s 1.2s ease-out forwards;} .oa-illo-in .pdb-gps{opacity:1; offset-path:path('M30 70 L120 110 L210 78 L290 120'); offset-rotate:0deg; offset-anchor:0 0; animation:pdbTravel 5s 1.8s linear infinite;} .oa-illo-in .pdb-gps-ring{transform-box:fill-box; transform-origin:center; animation:pdbPing 1.8s ease-out infinite;} .oa-illo-in .pdb-stamp{opacity:0; transform-box:fill-box; transform-origin:center; animation:pdbStamp .5s 2s cubic-bezier(.2,1.5,.4,1) forwards;} } /* The GPS dot only has a position while it travels its offset-path; hide it otherwise (reduced motion, off screen) so it never sits stranded at the SVG origin. */ .pdb-gps{opacity:0;} @keyframes pdbDraw{to{stroke-dashoffset:0}} @keyframes pdbPop{from{opacity:0; transform:scale(.6)} to{opacity:1; transform:scale(1)}} @keyframes pdbGuard{to{opacity:1}} @keyframes pdbTravel{from{offset-distance:0%} to{offset-distance:100%}} @keyframes pdbPing{0%{transform:scale(1);opacity:.6}70%{transform:scale(2.6);opacity:0}100%{opacity:0}} /* opacity-only: pdb-stamp is positioned by a transform attribute. */ @keyframes pdbStamp{from{opacity:0} to{opacity:1}} MULTI-LEG · ONE TRIPBLR20:30HUB02:10PUN05:40BOM08:05TRANSFER WINDOWSBLR → HUBleg 155 min to transferHUB → PUNleg 2operator terms shownPUN → BOMleg 3live GPS where sharedeach leg, its own terms

Capabilities

## Buses API capabilities

Inventory

- Operator-direct integrations
- Major aggregators (RedBus, FlixBus, ALSA)
- Station + boarding-point data
- Charter quote engine
- Sleeper classes in one format

Booking

- Seat selection (1.2M layouts)
- Multi-leg routing
- Group bookings
- Pay-at-boarding option
- Loyalty support

Travel day

- mTickets + QR
- Live GPS tracking
- Boarding-point chat with driver
- Push notifications on delays
- In-app rebooking

Service

- Cancellation API
- Refund automation
- Lost-property workflow
- Operator settlement
- Disruption rebook

Intercity travel

For many travellers, the bus is the trip. Bring routes, seat selection and boarding details into the same experience as flights and hotels.

— ground transport, the largest layer nobody standardised

Operators connected2,800+

Countries covered90+

Seat layouts normalised1.2M

Who it's for

## Who uses Buses?

Regional OTA

### High-frequency sellers

In India, Latin America and Southeast Asia, buses are the volume product. Direct operator connections plus seat selection are what win.

EXAMPLE WORKFLOWSearch routes and select a seat.

Super-app

### Everyday travel

The regular booking that brings users back week after week, and leads to the occasional flight and hotel.

EXAMPLE WORKFLOWAdd an intercity journey to the app.

Operator

### Bus companies

Reach sales channels you could never reach alone (fintech apps, loyalty programs, AI agents), with settlement handled.

EXAMPLE WORKFLOWDistribute operator inventory to selected partners.

Questions

## Buses: common questions

Something we haven’t covered? [Talk to the team](https://www.onarrival.com/company#contact). We can help you work through your integration.

**How reliable is operator-direct inventory?**

We monitor confirmation times, availability errors and boarding issues for each connection. Affected supply can be paused while the operator fixes a problem, and alternative sources are used where available.

**Do all operators support seat selection?**

Most direct connections do: 1.2M layouts and counting. Where an operator only assigns seats itself, the offer says so clearly, and we honour preferences (window, lower berth) on a best-effort basis.

**How do refunds work when operators have very different policies?**

Show the operator’s cancellation schedule with the fare, then check the current penalty before cancelling. Refund status and timing stay attached to the booking.

**Is live tracking available everywhere?**

Roughly 60% of direct operators share GPS. Each offer carries a tracking flag, so you only promise the live map when it will actually be there.

**Can buses combine with flights in one trip?**

Yes, through Bundles. Link the flight and bus to one trip while keeping each supplier’s confirmation, change rules and refund conditions visible. Check any connection protection before presenting it to the traveller.

Pairs well with

## Build the rest of the trip.

[Product Flights Search, book and manage flights through one API.](https://www.onarrival.com/flights) [Product Experiences Search and book tours, activities and attraction tickets.](https://www.onarrival.com/experiences) [Product Bundles Book flights, hotels and activities as one trip.](https://www.onarrival.com/bundles)

## Related reading

[All field notes →](https://www.onarrival.com/blog)

[Product engineering · 11 min The travel order lifecycle: from search to refund settlement A travel order records the offer, confirmation, booking changes and related payments. Keeping that history together makes partial cancellations and delayed refunds easier to handle. **Manan Vaghasiya**](https://www.onarrival.com/blog/travel-order-lifecycle) [Operations · 10 min Post-booking service: who handles changes and refunds? A confirmed booking still needs support when a flight changes, a traveller cancels or a refund is delayed. Customers need a clear status, a next step and someone responsible for the outcome. **Ankit Sawant**](https://www.onarrival.com/blog/post-booking-is-the-trust-product)

Start building

Try Buses with sandbox access.

[Request a key](https://www.onarrival.com/signup) [Read the docs](https://docs.onarrival.com/)
