MakeMyTrip Buses Search API
Search buses between two Indian cities for a date.
Sendsourceanddestinationanddate
Returnsoperatorvehicle_typedeparturearrivaldurationprice
Get MakeMyTrip travel data as clean JSON: bus trips between Indian cities with fares, seats left and boarding points, airport and city lookup, and holiday packages. Send a route and a date and get structured data back.
| # | Airport | City | IATA | Country | Type | Country code |
|---|---|---|---|---|---|---|
| 1 | Indira Gandhi International Airport | New Delhi | DEL | India | airport | IN |
| 2 | Jaipur Airport | Jaipur | JAI | India | airport | IN |
| 3 | Chandigarh Airport | Chandigarh | IXC | India | airport | IN |
| 4 | Jolly Grant Airport | Dehradun | DED | India | airport | IN |
| 5 | Agra Airport | Agra | AGR | India | airport | IN |
| 6 | Gwalior Airport | Gwalior | GWL | India | airport | IN |
| 7 | Maharaja Agrasen International Airport | Hisar | HSS | India | airport | IN |
| 8 | Bareilly Airport | Bareilly | BEK | India | airport | IN |
| 9 | Pantnagar Airport | Pantnagar | PGH | India | airport | IN |
| # | Name | Price | Currency | Destination | Duration days | End date | Origin | Price basis | Start date | Total price |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Cherry Blossom - Indian Group Tour | 279,230 | INR | Japan | 8 | New Delhi | listed_per_person | 2027-03-15 | 558,460 | |
| 2 | Essence of Japan - Indian Group Tour | 301,211 | INR | Japan | 7 | New Delhi | listed_per_person | 2026-12-27 | 602,422 | |
| 3 | Discover Japan - Indian Group Tour | 313,767 | INR | Japan | 9 | New Delhi | listed_per_person | 2026-11-18 | 627,534 | |
| 4 | Quick Tokyo Getaway | 149,973 | INR | Japan | 6 | New Delhi | listed_per_person | 2026-11-18 | 299,946 | |
| 5 | Tokyo and Osaka Sojourn | 171,713 | INR | Japan | 7 | New Delhi | listed_per_person | 2026-11-18 | 343,426 | |
| 6 | Discovery Japan With Cherry Blossom - Indian Group Tour | 317,924 | INR | Japan | 8 | New Delhi | listed_per_person | 2027-03-27 | 635,848 | |
| 7 | Epic Japan With Cherry Blossom - Chef Assisted Tour | 415,000 | INR | Japan | 11 | New Delhi | listed_per_person | 2027-03-26 | 830,000 | |
| 8 | Japan Discovery | 178,823 | INR | Japan | 10 | New Delhi | listed_per_person | 2026-11-18 | 357,646 |
What each one takes and what it returns. Open one for a real response, every input and every field.
Search buses between two Indian cities for a date.
Sendsourceanddestinationanddate
Returnsoperatorvehicle_typedeparturearrivaldurationprice
Get one bus trip from bus search: every boarding and drop point with its address and time, fares, seats left, amenities and cancellation terms.
Sendtrip_idandsourceanddestinationanddate
Returnstripcancellation_termsorigin
Look up airports and cities by name, such as Delhi, with IATA codes, country and the airports nearby.
Sendquery
Returnsairport_namecity_nameiata_codecountryentry_typecountry_code
Search MakeMyTrip holiday packages from an Indian city to a destination, such as New Delhi to Japan, from a start date.
Sendoriginanddestinationandstart_date
Returnsnamepricecurrencydestinationduration_daysend_date
Get one holiday package from package search, with its details for the departure date.
Sendpackage_idandlisting_class_idandoriginanddestinationandstart_date
Returnsexclusionsinclusionsitinerarypackage
Find trains between two stations for a travel date.
Sendsourceanddestinationanddate
Returnscollected_atcollection_completeexcluded_nearby_tripsoriginsource_total_tripssource_url
Watch fares, seats left and departures on the Indian bus routes you care about.
Buses searchBus detailsTurn the city a traveller types into the right airport code, and show trips with boarding points.
Airport searchBus detailsSee which packages MakeMyTrip offers from an Indian city to a destination, and what each includes.
Packages searchPackages detailsCompare bus and train options between two cities for a date.
Buses searchTrains searchOne request shape for every MakeMyTrip endpoint: the endpoint ID and its input. No SDK needed.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "mmt.buses.details", "input": { "date": "2026-11-16", "destination": "Agra", "mode": "bus", "source": "Delhi", "trip_id": "39_MMTCC1199_MMTCC3641_16-11-2026_1000011957980069321" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "mmt.buses.details", "input": { "date": "2026-11-16", "destination": "Agra", "mode": "bus", "source": "Delhi", "trip_id": "39_MMTCC1199_MMTCC3641_16-11-2026_1000011957980069321" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "mmt.buses.details", "input": { "date": "2026-11-16", "destination": "Agra", "mode": "bus", "source": "Delhi", "trip_id": "39_MMTCC1199_MMTCC3641_16-11-2026_1000011957980069321" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
{ "origin": "Delhi", "trip": { "price": 1799, "arrival": "2026-11-16T14:55:00+05:30", "boarding": "ISBT Kashmiri Gate - Boarding Zone", "currency": "INR", "departure": "2026-11-16T10:15:00+05:30", "duration": "4h40m0s", "operator": "E Bus India", "price_max": 3099, "review_score": 5, "seats_left": 42, "trip_id": "39_MMTCC1199_MMTCC3641_16-11-2026_1000011957980069321", "vehicle_type": "VE A/C Seater / Sleeper (2+1)", "amenities": [ "Water Bottle", "Blankets" ], "boarding_points": [ { "name": "ISBT Kashmiri Gate - Boarding Zone", "address": "Ground Floor, Arrival Block, Platform No. 57,58 Inside ISBT Bus Stand (Delhi)", "id": "25400929", "time": "2026-11-16T10:15:00+05:30" }, { "name": "EBus India Office Opp Anand Vihar ISBT", "address": "Ebus India office shop no 11 opp ISBT anand vihar metro pillar no 216 near Indian oil petrol pump", "id": "28218980", "time": "2026-11-16T10:50:00+05:30" } ], "drop_points": [ { "name": "Kuberpur Agra By Pass Road on Highway Rehan Kalan toll Plaza", "address": "Kuberpur Agra By Pass Road on Highway Rehan Kalan toll Plaza", "id": "21691779", "time": "2026-11-16T14:55:00+05:30" } ] }, "cancellation_terms": [ "* The penalty is calculated based on total seat worth 3099", "* Penalty is calculated basis the bus service scheduled start time at: 16-11-2026 10:15 (subject to change)." ]}
https://data.upscrape.com/mcp
Using Upscrape, open the Delhi to Agra bus trip on 16 November 2026 from MakeMyTrip bus search and list its boarding points with times, the fare range and seats left.
Use Upscrape to look up Delhi on MakeMyTrip and give me the airports with their IATA codes and the nearby airports.
With Upscrape, get the MakeMyTrip packages search for destination "Japan", origin "New Delhi" and start date "2026-11-18". Tell me what it costs before you run it, then show the results as a table.
The short answers. The docs have the long ones.
MakeMyTrip works with travel partners through its own programmes. Upscrape reads public MakeMyTrip pages, so you can get bus trips, airport codes and holiday packages as JSON with one API key.
Not yet. Today the MakeMyTrip API covers buses, airport and city lookup and holiday packages. Tell us if you need flights or hotels.
Bus routes between Indian cities that MakeMyTrip sells, for today or a later date.
No. You send a route and a date and get JSON back. Nothing runs on your account.
Buses search, bus details, airport search, packages search, packages details and trains search. Each is its own endpoint with a published input schema, and the response is JSON.
Every MakeMyTrip endpoint costs 1 credit per successful call. You buy credits once, with no subscription, and paid credits never expire. New accounts get free credits to try it.
Yes. Connect any MCP client to the Upscrape MCP server with OAuth or an API key. The agent finds the MakeMyTrip endpoint, checks its price and runs it with the same credits as the REST API.
Upscrape reads public pages only and needs no login. How you use the data is yours to decide under the laws that apply to you; we sign a data processing agreement for your legal review.
Up to 100 free credits to start, no card needed.