Quickstart
From account to first API response. No subscription or card is required to use signup credits.
1. Sign in
Open the HotelUse dashboard, choose Sign in, then Continue with Google or email. First-time sign-in creates your account. Complete the Google or email verification in the browser when requested.
2. Create an API key
In Dashboard → API keys, enter a key name and choose Create API key. Save the displayed secret once; it cannot be retrieved later. Store it in your application's secret manager or environment.
export HOTELUSE_API_KEY="hu_live_replace_with_your_key"Do not commit the key or put it in browser JavaScript. API keys are for trusted server code. See authentication for rotation and revocation.
3. Make your first call
This static lookup does not need dates. It uses at most one hotel record unit. A repeat of the same record version is free.
curl 'https://www.hoteluse.dev/v1/hotels/get' \
-H "Authorization: Bearer $HOTELUSE_API_KEY" \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: replace-with-a-unique-operation-id' \
--data '{
"hotel_id": "hu_69450c903d9c06226f1ce17b",
"billing": {
"max_units": 1
}
}'A successful result includes data.hotel.name: "Hilton Bellevue", provider mappings, a record version and a usage receipt. Full captured response.
4. Search live prices
Use your own future check-in and check-out dates. Here is a JavaScript example with dates calculated from today. Run in Node.js 22 or later.
import { randomUUID } from 'node:crypto';
const date = offset => { const d = new Date(); d.setUTCDate(d.getUTCDate() + offset); return d.toISOString().slice(0, 10); };
const response = await fetch('https://www.hoteluse.dev/v1/hotels/search', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + process.env.HOTELUSE_API_KEY,
'Content-Type': 'application/json',
'Idempotency-Key': randomUUID()
},
body: JSON.stringify({
location: { country: 'US', city: 'Bellevue', region: 'WA' },
context: {
check_in: date(14), check_out: date(16),
rooms: [{ adults: 2, children_ages: [] }],
currency: 'USD', market: { residency_country: 'US' }
},
page_size: 25
})
});
const result = await response.json();
if (!response.ok) throw new Error(JSON.stringify(result.error));
console.log(result.data.results, result.data.coverage, result.usage);Destination search reference · Room rates reference. Search uses one search call; opening room rates uses one room call.
Python
This example uses only Python's standard library. Set HOTELUSE_API_KEY in the environment first.
import json, os, uuid, urllib.request
request = urllib.request.Request(
'https://www.hoteluse.dev/v1/hotels/get',
data=json.dumps({'hotel_id': 'hu_69450c903d9c06226f1ce17b', 'billing': {'max_units': 1}}).encode(),
headers={
'Authorization': 'Bearer ' + os.environ['HOTELUSE_API_KEY'],
'Content-Type': 'application/json',
'Idempotency-Key': str(uuid.uuid4()),
},
method='POST',
)
with urllib.request.urlopen(request, timeout=35) as response:
result = json.load(response)
print(result['data']['hotel']['name'], result['usage'])