MakeMyTrip APImapi.makemytrip.com ↗
Access MakeMyTrip city autocomplete, popular destinations, and flight fare configuration via 3 structured endpoints. Get IATA codes, visa info, and special fare types.
What is the MakeMyTrip API?
The MakeMyTrip API exposes 3 endpoints covering city and airport lookup, popular travel destinations, and flight search configuration sourced from MakeMyTrip's platform. The get_city_autocomplete endpoint accepts a keyword and returns matching airports and cities with IATA codes grouped by section. The get_popular_destinations endpoint surfaces e-visa, visa-free, and visa-on-arrival destination lists without requiring any input parameters.
curl -X GET 'https://api.parse.bot/scraper/cc57f96d-2ca1-47d5-b6a6-65c69d10b5a7/get_city_autocomplete?query=Delhi' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace mapi-makemytrip-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""MakeMyTrip API — search airports, explore destinations, check fare types."""
from parse_apis.makemytrip_api import MakeMyTrip, CityNotFound
client = MakeMyTrip()
# Search for airports matching a city name
result = client.destinations.search(query="Mumbai")
for section_key, section in result.results.items():
print(section.title, "—", len(section.data), "airports")
for airport in section.data[:3]:
print(f" {airport.city_name} ({airport.iata}) — {airport.airport_name}, {airport.country}")
# Get popular destinations across visa categories
popular = client.destinations.popular()
for key, section in popular.results.items():
print(f"\n{section.title}:")
for airport in section.data[:2]:
print(f" {airport.city_name} ({airport.iata}) — {airport.country}")
# Fetch flight search config and inspect special fares
config = client.clientconfigs.get()
for fare in config.special_fare_list:
print(f"{fare.name} [{fare.pft}]: {fare.sub_title} — sectors {fare.trip_sector}, types {fare.trip_type}")
# Handle a city-not-found error
try:
client.destinations.search(query="xyznonexistent999")
except CityNotFound as exc:
print(f"City not found for query: {exc.query}")
print("Exercised: destinations.search / destinations.popular / clientconfigs.get")
Search for cities and airports by keyword. Returns a list of matching locations with IATA codes, airport names, city names, and country information grouped under a SUGGESTIONS section. The query matches against city names, airport names, and IATA codes. Results include nearby airports when available.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword for city or airport name (e.g. 'Delhi', 'Mumbai', 'Goa', 'BOM'). |
{
"type": "object",
"fields": {
"results": "object containing section keys (e.g. SUGGESTIONS) each with a title and data array of airport/city objects with iata, cityName, airportName, country, countryCode, locusCode fields",
"sectionsOrder": "object mapping section keys to their display order integers"
},
"sample": {
"data": {
"results": {
"SUGGESTIONS": {
"data": [
{
"iata": "DEL",
"country": "India",
"cityName": "New Delhi",
"locusCode": "CTDEL",
"airportName": "Indira Gandhi International Airport",
"countryCode": "IN"
}
],
"title": "SUGGESTIONS"
}
},
"sectionsOrder": {
"SUGGESTIONS": 1
}
},
"status": "success"
}
}About the MakeMyTrip API
City and Airport Autocomplete
The get_city_autocomplete endpoint takes a single required query string — such as "Delhi", "Mumbai", or "Goa" — and returns a structured results object keyed by section (e.g. SUGGESTIONS). Each section includes a title and a data array of airport/city objects carrying IATA codes, airport names, city names, and country information. A sectionsOrder object maps each section key to an integer display order, useful for rendering results in the correct sequence.
Popular Destinations
The get_popular_destinations endpoint requires no inputs and returns destination objects organized under three named sections: SUGGESTIONS (general popular searches), E-VISA_DEST (destinations with e-visa availability), and VISA_FREE_DEST (visa-free or visa-on-arrival destinations). Like the autocomplete response, each section contains a title and a data array, and a sectionsOrder object defines presentation order. This makes the endpoint directly useful for building destination pickers or travel inspiration features.
Flight Search Client Configuration
The get_client_config endpoint returns platform-level configuration for flight search. The response includes a meta object with display settings such as defaultShowCount, a specialfarelist array covering fare types like Student, Armed Forces, and Corporate — each with a name, message, subTitle, pft code, tripSector, tripType, and fareClass arrays — and a specialfareColors object defining color values for selected and unselected fare-type UI states. This endpoint is particularly relevant when building flight search UIs that need to replicate MakeMyTrip's fare category logic.
The MakeMyTrip API is a managed, monitored endpoint for mapi.makemytrip.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mapi.makemytrip.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official mapi.makemytrip.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a flight search autocomplete input that resolves city names to IATA codes using
get_city_autocomplete. - Populate a destination inspiration widget with visa-categorized destinations from
get_popular_destinations. - Filter e-visa destinations for users holding specific passports by consuming the
E-VISA_DESTsection. - Render special fare category UI (Student, Armed Forces, Corporate) with correct colors using
get_client_configresponse fields. - Validate and normalize user-entered airport or city names against confirmed IATA codes before booking calls.
- Surface visa-free travel options as a promotional feature using the
VISA_FREE_DESTsection data. - Replicate MakeMyTrip's fare type display logic in a custom travel booking front-end using
specialfarelistandspecialfareColors.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does MakeMyTrip have an official public developer API?+
What does `get_city_autocomplete` return beyond just a city name?+
SUGGESTIONS data array includes the IATA code, airport name, city name, and country information. Results are scoped to airports and cities matched by the query parameter, and the sectionsOrder field tells you how to order multiple sections if more than one is returned.Does the `get_popular_destinations` endpoint cover international destinations or only domestic Indian routes?+
SUGGESTIONS, E-VISA_DEST, and VISA_FREE_DEST sections. However, the scope of destinations reflects what MakeMyTrip surfaces as popular at a given time and is not a filterable dataset by region or country. You can fork this API on Parse and revise it to add a dedicated regional-filter endpoint if your use case requires narrower geographic slices.Does the API return live flight prices or availability?+
How current is the data returned by these endpoints?+
get_client_config is reasonable, but get_popular_destinations content may shift seasonally.