Skip to content
Scrappa Get API key
Trip.com API 10 credits / request

Trip.com Car Rental Search API Documentation

GET https://scrappa.co/api/tripcom/cars/search

Trip.com Car Rental Search API Documentation Search car rental offers for one airport pickup and one rental period. Each offer has the car (model, class, seats, doors, bags, transmission), the supplier with rating and review count, the total price and the price per day as numbers in the requested currency, free cancellation and its deadline, mileage policy, fuel policy, deposit, payment type, pickup type and store (name, coordinates, in terminal or shuttle), the driver age range and the Trip.com offer codes. Offers are sorted by total price, each offer appears once, and suppliers sums them up per supplier. Take the five place values from the search_params of the Car Rental Locations endpoint (an airport with search_ready true). Send the pickup_* values alone for a round trip, or add the dropoff_* values of another airport for a one-way rental. Times are local ISO 8601 (YYYY-MM-DDTHH:MM). A rental is up to 30 days. Airports only: stations and city areas return a 422. fuel_policy and free_cancellation are null when Trip.com does not state them, and price_per_day is null when Trip.com counts other rental days than the dates give. One search takes about 10 to 25 seconds because a browser session is prepared first, and the answer can reach several MB. Cost: 10 credits per successful call. Failed calls and searches without offers cost 0. A search returns up to 100 offers per page (default 50) and can be filtered by car class, supplier, transmission and free cancellation; the answer lists the car classes and suppliers of the whole search.

Trip.com Car Rental Search API Documentation 10 credits / request

Endpoint

Request preview
GET
https://scrappa.co/api/tripcom/cars/search
Auth header
x-api-key
Cost
10 credits / request
pickup_location = example pickup_city_id = 1234567890 pickup_location_name = example
Response preview
200 OK
{
    "data": {
        "page": 1,
        "total": 25,
        "locale": "en",
        "offers": [
            {
                "pickup": {
                    "way": "Self-transfer to pick-up, 13 km drive from Suvarnabhumi Airport",
                    "city": "Bangkok",
                    "type": "Self-transfer to pick-up, 13 km drive from Suvarnabhumi Airport",
                    "latitude": 13.721296,
                    "longitude": 100.692144,
                    "store_name": "Bkk Car Rental",
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

7 required parameters needed before sending a request.

14 optional filters available.

pickup_location string Required

Airport code from the search_params of the locations endpoint. Example: BKK.

Example value example
pickup_city_id integer Required

City id from search_params. Example: 359.

Example value 1234567890
pickup_location_name string Required

Place name from search_params. Example: Suvarnabhumi Airport.

Example value example
pickup_latitude number Required

Latitude from search_params. Example: 13.681897.

Example value 10
pickup_longitude number Required

Longitude from search_params. Example: 100.746869.

Example value 10
pickup_datetime string Required

Local pickup time, YYYY-MM-DDTHH:MM, today or later. Example: 2027-03-14T10:00.

Example value example
dropoff_datetime string Required

Local drop-off time, YYYY-MM-DDTHH:MM, after pickup and at most 30 days later.

Example value example
dropoff_location string Optional

Airport code of another drop-off place for a one-way rental. Leave out for a round trip. Needs the four dropoff_* values below.

Example value example
dropoff_city_id integer Optional

City id from the search_params of the drop-off place.

Example value 1234567890
dropoff_location_name string Optional

Place name from the search_params of the drop-off place.

Example value example
dropoff_latitude number Optional

Latitude from the search_params of the drop-off place.

Example value 10
dropoff_longitude number Optional

Longitude from the search_params of the drop-off place.

Example value 10
driver_age integer Optional

Age of the driver, 18 to 99. Default 30.

Example value 10
page integer Optional

Page of offers, 1 to 100. Default 1. Another page or filter of the same search within 10 minutes costs 1 credit and needs no new search.

Example value 1
page_size integer Optional

Offers per page, 1 to 100. Default 50.

Example value 10
car_class string Optional

Comma separated car classes from car_classes in the answer, e.g. Small car,SUV. Only offers of these classes are returned.

Example value example
supplier string Optional

Comma separated supplier names from suppliers in the answer, e.g. SIXT,Europcar.

Example value example
transmission string Optional

automatic or manual.

Example value example
free_cancellation boolean Optional

Set to 1 to get offers with free cancellation only.

Example value true
currency string Optional

One of USD, EUR, GBP, JPY, KRW. Default USD.

Example value USD
locale string Optional

Site language: en, en-gb, de, fr, ja, ko or zh-hk. Default en.

Example value en-US

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data meta success
JSON Response
200 OK
{
    "data": {
        "page": 1,
        "total": 25,
        "locale": "en",
        "offers": [
            {
                "pickup": {
                    "way": "Self-transfer to pick-up, 13 km drive from Suvarnabhumi Airport",
                    "city": "Bangkok",
                    "type": "Self-transfer to pick-up, 13 km drive from Suvarnabhumi Airport",
                    "latitude": 13.721296,
                    "longitude": 100.692144,
                    "store_name": "Bkk Car Rental",
                    "distance_km": 7.3665,
                    "is_airport_store": false
                },
                "deposit": 299,
                "dropoff": {
                    "way": "Self-transfer to pick-up, 13 km drive from Suvarnabhumi Airport",
                    "city": "Bangkok",
                    "type": "13 km drive from Suvarnabhumi Airport",
                    "latitude": 13.721296,
                    "longitude": 100.692144,
                    "store_name": "Bkk Car Rental",
                    "distance_km": null,
                    "is_airport_store": false
                },
                "vehicle": {
                    "bags": 1,
                    "code": "53936",
                    "class": "Small car",
                    "doors": 4,
                    "model": "Toyota Yaris",
                    "seats": 5,
                    "air_con": null,
                    "fuel_mode": null,
                    "image_url": "https://dimg04.c-ctrip.com/images/0yc1x12000d4jngcs72AD.png",
                    "sipp_code": "EBAR",
                    "drive_type": null,
                    "transmission": "Automatic"
                },
                "bom_code": "2139663_-1_2139663_-1_53936_CDW_CLI_STS_ULM_0_0_148751702",
                "currency": "USD",
                "features": [
                    "Instant confirmation",
                    "Free cancellation",
                    "2 additional driver",
                    "Unlimited mileage",
                    "E-voucher",
                    "Prepay a portion"
                ],
                "pay_mode": "prepay_partial",
                "supplier": {
                    "name": "Lightning Car Rental",
                    "rating": 8.5,
                    "logo_url": "https://dimg04.c-ctrip.com/images/20p4g12000k2v33wk390E.jpg",
                    "is_broker": false,
                    "rating_label": "Very good",
                    "rating_scale": 10,
                    "review_count": 45
                },
                "price_key": "134883747874672142_2139663_2139663_99",
                "driver_age": {
                    "max": 70,
                    "min": 19
                },
                "package_id": "30476055",
                "fuel_policy": null,
                "total_price": 89,
                "cancellation": "Free cancellation before 10:00, Dec 9",
                "product_code": "148751702",
                "deposit_local": {
                    "amount": 10000,
                    "currency": "THB"
                },
                "price_per_day": 22.25,
                "local_currency": "THB",
                "mileage_policy": "Unlimited mileage",
                "pay_mode_label": "Prepay a portion",
                "free_cancellation": true,
                "free_cancellation_hours": 24
            },
            {
                "pickup": {
                    "way": "Self-transfer to pick-up, 13 km drive from Suvarnabhumi Airport",
                    "city": "Bangkok",
                    "type": "Self-transfer to pick-up, 13 km drive from Suvarnabhumi Airport",
                    "latitude": 13.721296,
                    "longitude": 100.692144,
                    "store_name": "Bkk Car Rental",
                    "distance_km": 7.3665,
                    "is_airport_store": false
                },
                "deposit": 299,
                "dropoff": {
                    "way": "Self-transfer to pick-up, 13 km drive from Suvarnabhumi Airport",
                    "city": "Bangkok",
                    "type": "13 km drive from Suvarnabhumi Airport",
                    "latitude": 13.721296,
                    "longitude": 100.692144,
                    "store_name": "Bkk Car Rental",
                    "distance_km": null,
                    "is_airport_store": false
                },
                "vehicle": {
                    "bags": 1,
                    "code": "77015",
                    "class": "Small car",
                    "doors": 4,
                    "model": "Mazda 2",
                    "seats": 5,
                    "air_con": null,
                    "fuel_mode": null,
                    "image_url": "https://dimg04.c-ctrip.com/images/0yc4t12000fa3mzeu2BB2.png",
                    "sipp_code": "EBAR",
                    "drive_type": null,
                    "transmission": "Automatic"
                },
                "bom_code": "2139663_-1_2139663_-1_77015_CDW_CLI_STS_ULM_0_0_123679011",
                "currency": "USD",
                "features": [
                    "Instant confirmation",
                    "Free cancellation",
                    "2 additional driver",
                    "Unlimited mileage",
                    "E-voucher",
                    "Prepay a portion"
                ],
                "pay_mode": "prepay_partial",
                "supplier": {
                    "name": "Lightning Car Rental",
                    "rating": 8.5,
                    "logo_url": "https://dimg04.c-ctrip.com/images/20p4g12000k2v33wk390E.jpg",
                    "is_broker": false,
                    "rating_label": "Very good",
                    "rating_scale": 10,
                    "review_count": 45
                },
                "price_key": "101217848570988037_2139663_2139663_99",
                "driver_age": {
                    "max": 70,
                    "min": 19
                },
                "package_id": "30476055",
                "fuel_policy": null,
                "total_price": 110,
                "cancellation": "Free cancellation before 10:00, Dec 9",
                "product_code": "123679011",
                "deposit_local": {
                    "amount": 10000,
                    "currency": "THB"
                },
                "price_per_day": 27.5,
                "local_currency": "THB",
                "mileage_policy": "Unlimited mileage",
                "pay_mode_label": "Prepay a portion",
                "free_cancellation": true,
                "free_cancellation_hours": 24
            }
        ],
        "currency": "USD",
        "has_more": false,
        "page_size": 50,
        "suppliers": [
            {
                "name": "Lightning Car Rental",
                "offers": 4,
                "cheapest_total_price": 89
            },
            {
                "name": "Asap",
                "offers": 5,
                "cheapest_total_price": 124
            },
            {
                "name": "Budget Thai",
                "offers": 3,
                "cheapest_total_price": 144
            }
        ],
        "driver_age": 30,
        "car_classes": [
            {
                "name": "Small car",
                "offers": 9
            },
            {
                "name": "SUV",
                "offers": 6
            }
        ],
        "rental_days": 4,
        "pickup_datetime": "2027-03-14T10:00",
        "pickup_location": "BKK",
        "dropoff_datetime": "2027-03-18T10:00",
        "dropoff_location": "BKK",
        "total_unfiltered": 25,
        "cheapest_total_price": 89
    },
    "meta": {
        "credits": 10,
        "billable": true,
        "endpoint_family": "car_search"
    },
    "success": true
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

422

Validation Error

A query parameter is missing or invalid. This response is not billable.

{
    "errors": {
        "pickup_location": [
            "Only airport codes such as LHR or BKK are supported. Use a location with search_ready=true from /api/tripcom/cars/locations."
        ]
    },
    "message": "The request validation failed"
}
502

Unexpected Upstream Answer

Trip.com answered with a payload Scrappa cannot read. This response is not billable. Retry later.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "car_search"
    },
    "error": {
        "code": "PARSER_DRIFT",
        "message": "The Trip.com API is temporarily unavailable. Please retry."
    },
    "success": false
}
503

Upstream Unavailable

Trip.com did not answer, or no capacity was free in time. This response is not billable. Retry later.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "car_search"
    },
    "error": {
        "code": "UPSTREAM_UNAVAILABLE",
        "message": "The Trip.com API is temporarily unavailable. Please retry."
    },
    "success": false
}

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.