MakeMyTrip Packages Details API
Get one holiday package from package search, with its details for the departure date.
- 1 credit per call
- Failed calls are free
- Updated
- mmt.packages.details
{ "package": { "name": "Cherry Blossom - Indian Group Tour", "price": 279361, "currency": "INR", "departure_date": "2027-03-15", "destination": "Japan", "duration_days": 8, "end_date": "", "highlights": null, "listing_class_id": "4299", "origin": "New Delhi", "package_id": "63727", "price_basis": "listed_per_person", "start_date": "2027-03-15", "total_price": 558722, "total_price_basis": "calculated_party_total", "type": "FIT", "variant_id": "FLIGHT_2FEBDDA7", "exclusions": [ "Anything not mentioned in the inclusions" ], "inclusions": [ "Flights", "Hotels" ], "itinerary": [ "Day 1 New Delhi: Arrival in Tokyo - Narita Apt by Malaysia Airlines Flight MH-191, MH-70; Airport to hotel in Tokyo; Check in to Mercure To…", "Day 2 Tokyo: Breakfast : Included in Tokyo; Tokyo Skytree; TeamLab Planets; Dinner : Included in Tokyo" ] }, "exclusions": [ "Anything not mentioned in the inclusions" ], "inclusions": [ "Flights", "Hotels" ], "itinerary": [ "Day 1 New Delhi: Arrival in Tokyo - Narita Apt by Malaysia Airlines Flight MH-191, MH-70; Airport to hotel in Tokyo; Check in to Mercure To…", "Day 2 Tokyo: Breakfast : Included in Tokyo; Tokyo Skytree; TeamLab Planets; Dinner : Included in Tokyo" ]}
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| destination | string | yes | Destination city or country name from the search | Japan |
| listing_class_id | string | yes | Listing class identifier returned with the discovered package card | 4299 |
| origin | string | yes | Origin city name from the discovered package card | New Delhi |
| package_id | string | yes | Numeric package identifier from a source-backed search card | 63727 |
| start_date | string | yes | Package departure date in YYYY-MM-DD from the discovered card; may differ from the search date anchor | 2027-03-15 |
| adults | integer | no | Only the source default of two adults is supported At least 1. | |
| children | integer | no | Only zero children is supported At least 0. | |
| currency | string | no | Only source INR is supported | |
| end_date | string | no | Unsupported; supplied values are rejected | |
| type | string | no | Unsupported; supplied values are rejected | |
| variant_id | string | no | Variant identifier from the discovered card, when present | FLIGHT_2FEBDDA7 |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | Example |
|---|---|---|
| exclusions | array | Anything not mentioned in the inclusions |
| inclusions | array | Flights, Hotels, Meals |
| itinerary | array | Day 1 New Delhi: Arrival in Tokyo - Narita Apt by Malaysia Airl… |
| package | object | 20 fields |
| package.currency | string | INR |
| package.departure_date | string | 2027-03-15 |
| package.destination | string | Japan |
| package.duration_days | integer | 8 |
| package.end_date | string | |
| package.exclusions | array | Anything not mentioned in the inclusions |
| package.highlights | null | null |
| package.inclusions | array | Flights, Hotels, Meals |
| package.itinerary | array | Day 1 New Delhi: Arrival in Tokyo - Narita Apt by Malaysia Airl… |
| package.listing_class_id | string | 4299 |
| package.name | string | Cherry Blossom - Indian Group Tour |
| package.origin | string | New Delhi |
| package.package_id | string | 63727 |
| package.price | integer | 279,361 |
| package.price_basis | string | listed_per_person |
| package.start_date | string | 2027-03-15 |
| package.total_price | integer | 558,722 |
| package.total_price_basis | string | calculated_party_total |
| package.type | string | FIT |
| package.variant_id | string | FLIGHT_2FEBDDA7 |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
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.packages.details", "input": { "destination": "Japan", "listing_class_id": "4299", "origin": "New Delhi", "package_id": "63727", "start_date": "2027-03-15", "variant_id": "FLIGHT_2FEBDDA7" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "mmt.packages.details", "input": { "destination": "Japan", "listing_class_id": "4299", "origin": "New Delhi", "package_id": "63727", "start_date": "2027-03-15", "variant_id": "FLIGHT_2FEBDDA7" }}''')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.packages.details", "input": { "destination": "Japan", "listing_class_id": "4299", "origin": "New Delhi", "package_id": "63727", "start_date": "2027-03-15", "variant_id": "FLIGHT_2FEBDDA7" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
With Upscrape, get the MakeMyTrip packages details for destination "Japan", listing class id "4299" and origin "New Delhi". Tell me what it costs before you run it, then show the results as a table.
More from the MakeMyTrip API
MakeMyTrip Packages Details API FAQ
The short answers. The docs have the long ones.
How much does the MakeMyTrip Packages Details API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send package_id, listing_class_id, origin, destination and start_date. The input fields below list every option with its type and limits.
Do I need a MakeMyTrip login?
No. It reads public MakeMyTrip data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds mmt.packages.details, checks its price and runs it with the same credits as the REST API.
Your first MakeMyTrip call is free.
Up to 100 free credits to start, no card needed.