Wire it up. See the schema.
- 50 free requests
- Every endpoint included
- No credit card required
- Same schema as paid
A quick demo might save your team weeks of engineering work.
Resources
Free Tools
Find a hotel, compare rooms and prices for your dates, and read guest feedback with REST or MCP.
curl "https://api.stayapi.com/v1/otelpuan/search" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "query=Turkler"
curl "https://api.stayapi.com/v1/otelpuan/hotel/url-to-id" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "url=https://www.otelpuan.com/Turkler-Otel"
curl "https://api.stayapi.com/v1/otelpuan/hotel/reviews" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "hotel_id=25322" \ -d "page=1"
curl "https://api.stayapi.com/v1/otelpuan/hotel/rooms" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "url=https://www.otelpuan.com/Turkler-Otel" \ -d "check_in=2026-10-10" \ -d "check_out=2026-10-12" \ -d "adults=2"
{
"success": true,
"query": "Turkler",
"hotels": [
{
"hotel_id": "25322",
"name": "Türkler Otel",
"url": "https://www.otelpuan.com/Turkler-Otel",
"location": "Trabzon Şehir Merkezi"
}
],
"total": 1
}
{
"success": true,
"hotel_id": "25322",
"name": "Türkler Otel",
"url": "https://www.otelpuan.com/Turkler-Otel",
"rating": 8.3,
"rating_scale": 10,
"review_count": 86
}
{
"success": true,
"hotel": {
"hotel_id": "25322",
"name": null,
"url": null
},
"rating": null,
"rating_scale": 10,
"review_count": 1,
"reviews": [
{
"id": "9000000",
"reviewer_name": "Guest R***",
"rating": 8.7,
"review_date": null,
"stay_date": "2026-01",
"stay_date_text": "2026 Ocak",
"title": "Good location",
"text": "The location was convenient and the room was comfortable.",
"travel_type": "COUPLE",
"room_type": "DELUXE DUBLEX ODA"
}
],
"total": 1,
"page_info": {
"page": 1,
"page_size": 10,
"total_pages": 1,
"has_next_page": false
}
}
{
"success": true,
"url": "https://www.otelpuan.com/Turkler-Otel",
"check_in": "2026-10-10",
"check_out": "2026-10-12",
"nights": 2,
"adults": 2,
"child_ages": [],
"rooms": [
{
"name": "Standart Oda, Şehir Manzaralı, Klimalı",
"night_count": 2,
"offers": [
{
"board": {
"code": "BB",
"name": "Oda Kahvaltı"
},
"total_price": 5993.0,
"base_price": 6659.0,
"currency": "TRY",
"daily_prices": [
{
"date": "2026-10-10",
"price": 2996.71,
"total_payment_amount": 2996.71,
"tax_amount": 0.0,
"currency": "TRY"
},
{
"date": "2026-10-11",
"price": 2996.7,
"total_payment_amount": 2996.7,
"tax_amount": 0.0,
"currency": "TRY"
}
],
"non_refundable": false,
"cancellation_policies": [
{
"from_date": "2026-09-28T17:44:34.699911305",
"to_date": "2026-10-08T17:59:00",
"amount": 0.0,
"currency": "TRY",
"free_cancellation": true
},
{
"from_date": "2026-10-08T18:00:00",
"to_date": "2026-10-10T14:00:00",
"amount": 2547.2,
"currency": "TRY",
"free_cancellation": false
}
],
"occupancy": {
"max_occupancy": 2,
"max_adults": 2,
"max_children": 0
}
}
]
}
],
"total": 1
}
Trusted by hospitality teams at
Search hotel suggestions by name, or resolve a public hotel URL when you have one. Both return hotel_id for guest reviews; search results go directly to reviews without a resolver call. Search is not exhaustive city inventory.
Reviews are paginated in groups of up to 10. Stay months use YYYY-MM; stay_date_text retains the source format. Publication dates are unavailable.
Keep the resolver result for the display name, URL, and aggregate rating. ID-based reviews return null for these fields and include individual guest ratings and the review count.
Use the hotel URL returned by Search for Rooms & prices. Supply stay dates and guests to read board plans, stay totals, daily prices, and cancellation terms. Reviews continue to use hotel_id.
Search hotel names or resolve a public hotel URL, then request reviews by ID.
Use the hotel URL, dates, and guests to check room offers and cancellation terms.
Search, resolve URLs, check room prices, and read reviews with your StayAPI key.
Each returns normalized JSON in the same shape. Click any endpoint for parameters, an example response, and a live playground.
The same endpoints, pointed at different jobs. These are the ones we see most.
Summarize recurring themes in the returned comments.
Keep individual guest scores alongside the aggregate 0–10 rating.
Request pages in sequence and use review IDs to identify records.
Compare board plans and cancellation terms for the same stay and guest count.
The same endpoints are exposed as MCP tools. Connect Claude, Cursor, or Claude Code, ask in plain English, and the agent calls the tool and answers from live Otelpuan data.
Flat monthly plans, every endpoint included on every plan. 1 request = 1 credit. No per-endpoint multipliers, no surprise overages.
Wire it up. See the schema.
Kick the tires in production.
Small prod workloads and growing apps.
Daily pulls in production.
Above 100k / month, annual terms, white-glove onboarding.
Every plan ships every endpoint. Same uptime, same schema, same response time.
Don't see your question? Email us at info@stayapi.com.
Send hotel_id to GET /v1/otelpuan/hotel/reviews with your X-API-Key header. If you only have a public hotel URL, resolve it with GET /v1/otelpuan/hotel/url-to-id first.
Up to 10. Start with page=1 and follow page_info.has_next_page.
No. review_date is null. stay_date is a YYYY-MM stay month; stay_date_text preserves source text such as 2026 Ocak and describes the stay, not publication.
No sorting or filtering parameters are supported. The endpoint preserves the source order.
Pass the hotel URL from Search, check_in, check_out, and guests to GET /v1/otelpuan/hotel/rooms or otelpuan_hotel_rooms. Adults default to 2; optional child_ages accepts up to 4 comma-separated ages from 0–16. Preserve the returned total_price; daily amounts may not sum to the provider stay total; both are preserved as supplied. An empty rooms array is a successful result.
No. Search returns hotel-name suggestions. There are no page, limit, or filter controls; an empty match succeeds with an empty hotels array.
Both end with live Otelpuan data in your stack. The fast path is on the left.
50 free requests after sign up. Fastest way to see if the schema fits.
Start free15 minutes. Volume + endpoint mix. Walk out with a quote.
Book a demo