Traveloka APItraveloka.com ↗
Access Traveloka hotel listings by region: names, star ratings, user ratings, prices in IDR, and location details via two clean REST endpoints.
What is the Traveloka API?
The Traveloka API gives developers access to hotel listings across Southeast Asia through 2 endpoints, returning up to dozens of fields per property including name, star rating, user rating, review count, price, accommodation type, and image URL. The get_hotels_by_region endpoint accepts a region slug and geo ID to retrieve paginated hotel results for a given check-in and check-out date range.
curl -X GET 'https://api.parse.bot/scraper/fbbb6f69-7fe3-4f0b-bd86-98fd3f029c37/get_hotels_by_region?geo_id=102746&checkin=2026-10-23&checkout=2026-10-24®ion_slug=bali' \ -H 'X-API-Key: $PARSE_API_KEY'
List hotels in a specific region using its slug and geo ID. Returns a list of hotels with names, star ratings, user ratings, prices, and locations. Use get_popular_destinations to discover valid region_slug and geo_id values. Prices are in the local currency (typically IDR). Results are server-rendered from the first page of listings (typically 3 hotels per region page).
| Param | Type | Description |
|---|---|---|
| geo_idrequired | string | The geo ID of the region (e.g. '102813' for Jakarta, '102746' for Bali). Obtain from get_popular_destinations endpoint. |
| checkin | string | Check-in date in YYYY-MM-DD format. Defaults to 7 days from today if omitted. |
| checkout | string | Check-out date in YYYY-MM-DD format. Defaults to 1 day after checkin if omitted. |
| region_slugrequired | string | The slug of the region (e.g. 'jakarta', 'bali', 'singapore', 'bangkok'). Obtain from get_popular_destinations endpoint. |
{
"type": "object",
"fields": {
"hotels": "array of hotel objects with id, name, location, star_rating, user_rating, num_reviews, price, accommodation_type, image_url, seo_path",
"region": "string region slug queried",
"checkin": "string check-in date used",
"checkout": "string check-out date used",
"total_hotels": "string indicating total number of hotels in the region"
},
"sample": {
"data": {
"hotels": [
{
"id": "2000000113168",
"name": "Hotel Indonesia Kempinski Jakarta",
"price": {
"amount": "13230.0",
"currency": "USD"
},
"location": "Thamrin, Jakarta Pusat",
"seo_path": "/hotel/indonesia/hotel-indonesia-kempinski-jakarta-2000000113168",
"image_url": "https://ik.imagekit.io/tvlk/apr-asset/hotel/asset/20020708-059782533c354ee1de6dd26db4021740.jpg",
"num_reviews": "6371",
"star_rating": "5.0",
"user_rating": "9.0",
"accommodation_type": "Hotels"
}
],
"region": "jakarta",
"checkin": "2026-06-17",
"checkout": "2026-06-18",
"total_hotels": "9538"
},
"status": "success"
}
}About the Traveloka API
What the API Covers
The Traveloka API exposes hotel inventory data from Traveloka's Southeast Asian platform. It provides two endpoints: get_popular_destinations to enumerate valid regions, and get_hotels_by_region to retrieve hotels within a chosen region. Each hotel object includes id, name, location, star_rating, user_rating, num_reviews, price, accommodation_type, image_url, and an SEO path field — giving you the core metadata needed for comparison, aggregation, or display.
Querying Hotels by Region
get_hotels_by_region requires two mandatory inputs: region_slug (e.g. 'bali', 'jakarta', 'singapore') and geo_id (e.g. '102746' for Bali). Both values are returned by get_popular_destinations, so the typical flow is to call that first and feed its output into hotel queries. Optional checkin and checkout parameters accept YYYY-MM-DD format; if omitted, checkin defaults to 7 days from today and checkout defaults to one day after checkin. Prices are returned in the local currency, typically IDR for Indonesian destinations.
Discovering Destinations
get_popular_destinations takes no inputs and returns an array of destination objects, each carrying a slug and a geo_id. This endpoint is the discovery layer — it tells you which region identifiers the system recognizes, so you are not guessing slugs or numeric IDs. The returned list reflects popular regions as surfaced on Traveloka's hotel homepage.
Limitations to Know
Price data is denominated in the local currency of each destination (IDR for most Indonesian results). The total_hotels field is returned as a string, not an integer, so cast accordingly. The API currently returns a list of hotels per region but does not expose individual hotel detail pages, room-type breakdowns, or availability calendars at the room level.
The Traveloka API is a managed, monitored endpoint for traveloka.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when traveloka.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 traveloka.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?+
- Aggregate hotel prices across Bali, Jakarta, and Singapore for a travel comparison dashboard
- Build a price-tracking tool that monitors Traveloka IDR rates for a fixed region over time
- Populate a hotel recommendation feed using star_rating and user_rating fields
- Map hotel locations by region using location fields returned per hotel object
- Enumerate all popular Southeast Asian destinations using get_popular_destinations to seed a region selector UI
- Filter accommodation options by accommodation_type (e.g. resort vs. guesthouse) for niche travel apps
- Collect num_reviews and user_rating data to benchmark Traveloka listings against other OTA sources
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.