Trip.com Travel Flight Search API
Search one-way Trip.com flights for a route and date, with passengers and cabin class, in the currency you choose.
- 1 credit per call
- Failed calls are free
- Updated
- tripcom.flight.search
{ "children": 0, "collected_at": "2026-10-16T12:26:47Z", "collection_complete": true, "infants": 0, "product_id": "SHA_SHA-ALI_PIDReduce-5Je3UPxg20261016122647^rZ6Cx2OwtOTlPelR", "returned": 43, "source_result_count": 43, "source_url": "https://us.trip.com/restapi/soa2/27015/FlightListSearchSSE", "offers": [ { "arrival_time": "2026-11-10 19:00:00", "cabin": "Economy class", "currency": "USD", "departure_time": "2026-11-10 16:45:00", "destination": "PAR", "direct": true, "duration_minutes": 75, "itinerary_id": "c2ee10ce18d1d8ef92b59b338ce22737", "origin": "LON", "price_fare": 25.2, "price_per_adult": 34.5, "price_policy_id": "SHA_SHA-ALI_PIDReduce-5Je3UPxg20261016122647^List-x8sm8x", "price_short_policy_id": "SHA_SHA-ALI_PIDReduce-5Je3UPxg20261016122647^List-x8sm8x^rZ6Cx2OwtOTlPelR^111000G0V1LONPAR0010101000RXLGWCDG000VO6U28407", "price_tax": 9.3, "price_total": 35, "seats_available": 4, "stops": 0, "airline_codes": [ "U2" ], "destination_airports": [ "CDG" ], "flight_numbers": [ "U28407" ], "origin_airports": [ "LGW" ] }, { "arrival_time": "2026-11-10 20:05:00", "cabin": "Economy class", "currency": "USD", "departure_time": "2026-11-10 17:45:00", "destination": "PAR", "direct": true, "duration_minutes": 80, "itinerary_id": "9f1b7cea42f5abf24d8cbbbe7c0ef4e0", "origin": "LON", "price_fare": 14.7, "price_per_adult": 34.8, "price_policy_id": "SHA_SHA-ALI_PIDReduce-5Je3UPxg20261016122647^List-6ZQvca", "price_short_policy_id": "SHA_SHA-ALI_PIDReduce-5Je3UPxg20261016122647^List-6ZQvca^rZ6Cx2OwtOTlPelR^111000G0V1LONPAR0010101000TLLTNCDG000XH6U22439", "price_tax": 20.1, "price_total": 35, "seats_available": 3, "stops": 0, "airline_codes": [ "U2" ], "destination_airports": [ "CDG" ], "flight_numbers": [ "U22439" ], "origin_airports": [ "LTN" ] } ]}
| # | Arrival time | Cabin | Currency | Departure time | Destination | Direct | Duration minutes | Origin | Price fare | Price per adult |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-10 19:00:00 | Economy class | USD | 2026-11-10 16:45:00 | PAR | true | 75 | LON | 25.2 | 34.5 |
| 2 | 2026-11-10 20:05:00 | Economy class | USD | 2026-11-10 17:45:00 | PAR | true | 80 | LON | 14.7 | 34.8 |
| 3 | 2026-11-10 16:00:00 | Economy class | USD | 2026-11-10 13:40:00 | PAR | true | 80 | LON | 31.5 | 51.5 |
| 4 | 2026-11-10 10:25:00 | Economy class | USD | 2026-11-10 08:05:00 | PAR | true | 80 | LON | 33.1 | 53.2 |
| 5 | 2026-11-10 09:30:00 | Economy class | USD | 2026-11-10 07:00:00 | PAR | true | 90 | LON | 40 | 60.2 |
| 6 | 2026-11-10 22:20:00 | Economy class | USD | 2026-11-10 19:55:00 | PAR | true | 85 | LON | 59.4 | 122 |
| 7 | 2026-11-10 11:20:00 | Economy class | USD | 2026-11-10 08:55:00 | PAR | true | 85 | LON | 70.1 | 124.2 |
| 8 | 2026-11-10 18:55:00 | Economy class | USD | 2026-11-10 16:45:00 | PAR | true | 70 | LON | 71.5 | 124.7 |
| 9 | 2026-11-10 13:50:00 | Economy class | USD | 2026-11-10 11:30:00 | PAR | true | 80 | LON | 72.9 | 127 |
| 10 | 2026-11-10 17:20:00 | Economy class | USD | 2026-11-10 14:55:00 | PAR | true | 85 | LON | 63.5 | 126.1 |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| departure_date | string | yes | The flight date, YYYY-MM-DD. | 2026-11-10 |
| destination | string | yes | Where you fly to: a city or airport code, such as PAR or CDG. | PAR |
| origin | string | yes | Where you fly from: a city or airport code, such as LON or LHR. | LON |
| adults | integer | no | Number of adults. The default is 1. | 1 |
| cabin_class | string | no | Economy, premium economy, business or first. | economy |
| children | integer | no | Number of children. | |
| currency | string | no | Currency for prices, such as USD. | USD |
| infants | integer | no | Number of infants. | |
| locale | string | no | Language, such as en-US. | en-US |
| max_results | integer | no | How many offers to return; 0 returns all. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| offers[].airline_codes | array | Codes of the airlines flying it. | U2 |
| offers[].arrival_time | string | Local arrival time. | 2026-11-10 19:00:00 |
| offers[].cabin | string | The cabin class. | Economy class |
| offers[].currency | string | The currency of the prices. | USD |
| offers[].departure_time | string | Local departure time. | 2026-11-10 16:45:00 |
| offers[].destination | string | The city or airport code you searched to. | PAR |
| offers[].destination_airports | array | The airports it lands at. | CDG |
| offers[].direct | boolean | Whether the flight is non-stop. | true |
| offers[].duration_minutes | integer | Total travel time, in minutes. | 75 |
| offers[].flight_numbers | array | The flight numbers. | U28407 |
| offers[].itinerary_id | string | Trip.com's ID for this itinerary. | c2ee10ce18d1d8ef92b59b338ce22737 |
| offers[].origin | string | The city or airport code you searched from. | LON |
| offers[].origin_airports | array | The airports it leaves from. | LGW |
| offers[].price_fare | number | The fare before taxes. | 25.2 |
| offers[].price_per_adult | number | The price for one adult. | 34.5 |
| offers[].price_policy_id | string | SHA_SHA-ALI_PIDReduce-5Je3UPxg20261016122647^List-x8sm8x | |
| offers[].price_short_policy_id | string | SHA_SHA-ALI_PIDReduce-5Je3UPxg20261016122647^List-x8sm8x^rZ6Cx2… | |
| offers[].price_tax | number | Taxes and fees. | 9.3 |
| offers[].price_total | integer | The total price for everyone searched. | 35 |
| offers[].seats_available | integer | Seats left at this price, as Trip.com shows them. | 4 |
| offers[].stops | integer | How many stops the flight makes. | 0 |
| children | integer | Children in the search. | 0 |
| collected_at | string | When this result was collected. | 2026-10-16T12:26:47Z |
| collection_complete | boolean | true | |
| infants | integer | Infants in the search. | 0 |
| offers | array | The flights found, one per itinerary. | 43 records |
| product_id | string | SHA_SHA-ALI_PIDReduce-5Je3UPxg20261016122647^rZ6Cx2OwtOTlPelR | |
| returned | integer | How many offers this response holds. | 43 |
| source_result_count | integer | 43 | |
| source_url | string | The Trip.com page this was read from. | https://us.trip.com/restapi/soa2/27015/FlightListSearchSSE |
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": "tripcom.flight.search", "input": { "adults": 1, "cabin_class": "economy", "currency": "USD", "departure_date": "2026-11-10", "destination": "PAR", "locale": "en-US", "origin": "LON" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "tripcom.flight.search", "input": { "adults": 1, "cabin_class": "economy", "currency": "USD", "departure_date": "2026-11-10", "destination": "PAR", "locale": "en-US", "origin": "LON" }}''')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": "tripcom.flight.search", "input": { "adults": 1, "cabin_class": "economy", "currency": "USD", "departure_date": "2026-11-10", "destination": "PAR", "locale": "en-US", "origin": "LON" }}),});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 Trip.com Travel flight search for adults "1", cabin class "economy" and currency "USD". Tell me what it costs before you run it, then show the results as a table.
More from the Trip.com Travel API
- Trip.com Travel Hotel Search API1 credit
- Trip.com Travel Hotel Detail API1 credit
- Trip.com Travel Attractions Search API1 credit
- Trip.com Travel Attraction Detail API1 credit
- Trip.com Travel Public Hotel Reviews API1 credit
- Trip.com Travel Train Search API1 credit
- Trip.com Travel Car Rental Search API1 credit
Trip.com Travel Flight Search API FAQ
The short answers. The docs have the long ones.
How much does the Trip.com Travel Flight Search 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 origin, destination and departure_date. The input fields below list every option with its type and limits.
Do I need a Trip.com Travel login?
No. It reads public Trip.com Travel data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds tripcom.flight.search, checks its price and runs it with the same credits as the REST API.
Your first Trip.com Travel call is free.
Up to 100 free credits to start, no card needed.