Public API
Read-only JSON REST API for hotel tariffs. Cached ~5 minutes, refreshed every 24 hours.
Base URL
https://domestic.travelhub.one/api/public/v1Authentication
All endpoints require an API key. Send it in the X-API-Key header (or Authorization: Bearer <key>). Contact us to request a key. Keep it server-side; never ship it in a browser or mobile bundle.
curl -H "X-API-Key: YOUR_API_KEY" https://domestic.travelhub.one/api/public/v1/citiesEndpoints
GET
/api/public/v1/API index and endpoint discovery.
GET
/api/public/v1/citiesList of all cities with hotel counts.
[
{ "city": "Jaipur", "hotel_count": 92 },
{ "city": "Udaipur", "hotel_count": 61 }
]GET
/api/public/v1/hotels?city=Jaipur&q=taj&limit=100&offset=0Paginated hotels. Filters: city (exact), q (fuzzy name), limit (1-500), offset.
{
"data": [
{
"slug": "taj-jai-mahal-palace-jaipur",
"name": "Taj Jai Mahal Palace",
"city": "Jaipur",
"min_display_price": 18500,
"room_count": 4
}
],
"limit": 100,
"offset": 0,
"total": 92
}GET
/api/public/v1/hotels/{slug}Full hotel detail with structured rates per room.
{
"slug": "taj-jai-mahal-palace-jaipur",
"name": "Taj Jai Mahal Palace",
"city": "Jaipur",
"rooms": [
{
"room_type": "Deluxe Room",
"validity": "01 Apr 2026 - 30 Sep 2026",
"currency": "INR",
"remarks": null,
"min_display_price": 18500,
"rates": {
"weekday": {
"single": { "cp": 18500, "map": 21500, "ap": 24500 },
"double": { "cp": 20500, "map": 26500, "ap": 32500 },
"triple": { "cp": 24500, "map": 33500, "ap": 42500 }
},
"weekend": {
"single": { "cp": 20500, "map": 23500, "ap": 26500 },
"double": { "cp": 22500, "map": 28500, "ap": 34500 },
"triple": { "cp": 26500, "map": 35500, "ap": 44500 }
}
}
}
]
}Rate shape
rates[stay][occupancy][plan] — where stay is weekday | weekend, occupancy is single | double | triple, and plan is cp | map | ap. A value of null means that combination isn't offered.
Quick start
curl -H "X-API-Key: YOUR_API_KEY" https://domestic.travelhub.one/api/public/v1/hotels?city=Jaipur&limit=5