How do you search Booking.com hotels via API?
Call ReefAPI's booking hotels/search action with a destination and a date range and read hotel cards, prices, review scores and room blocks back as JSON. The fields that catch people are the ones that look familiar and are not: the review score is on a 0-10 scale, the photo is a path rather than a URL, and search results carry no coordinates at all.
This guide demonstrates the real Booking.com API engine with a captured response from . The example is only published because the engine passed the SEO snapshot gate.
Travel search, lodging price monitoring, itinerary tools and destination research.
Call the live endpoint
- 1
Search by text or by dest_id
query 'Paris' resolves for you and meta.destination reports what it resolved to - dest_id '-1456928', dest_type 'city', value 'Paris, Ile de France, France'. Pass that dest_id directly on later calls to remove the ambiguity.
- 2
Always send checkin, checkout and adults
Price and availability are meaningless without them. currency is separate and changes the units, not the inventory.
- 3
Read amount_unformatted for arithmetic
The formatted strings carry currency symbols and rounding. price.text tells you whether the figure is a total or per night.
- 4
Score on the 0-10 scale
review_score.score runs 0-10 with review_count beside it. min_rating takes the same scale and is translated to Booking's internal 0-100 before it is sent.
- 5
Page with pagination.next_page
Search returns 25 per page with pagination.total (1,827 for our Paris dates) and has_more. Detail on a specific hotel goes through hotels/detail with page_name plus country_code.
Copy the request
These snippets use the captured request params for booking/v1/hotels/search.
curl -X POST https://api.reefapi.com/booking/v1/hotels/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"dest_id":"-755070","dest_type":"city","checkin":"2026-10-14","checkout":"2026-10-16"}'import requests
r = requests.post(
"https://api.reefapi.com/booking/v1/hotels/search",
headers={"x-api-key": REEF_KEY},
json={
"dest_id": "-755070",
"dest_type": "city",
"checkin": "2026-10-14",
"checkout": "2026-10-16"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/booking/v1/hotels/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"dest_id": "-755070",
"dest_type": "city",
"checkin": "2026-10-14",
"checkout": "2026-10-16"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.booking.hotels/search with {"dest_id":"-755070","dest_type":"city","checkin":"2026-10-14","checkout":"2026-10-16"}.Captured output from ReefAPI
Captured on UTC. The response below is the committed snapshot, including the API envelope and metadata.
{
"method": "POST",
"url": "https://api.reefapi.com/booking/v1/hotels/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"dest_id": "-755070",
"dest_type": "city",
"checkin": "2026-10-14",
"checkout": "2026-10-16"
}
}{
"ok": true,
"meta": {
"api": "booking",
"endpoint": "hotels/search",
"mode": "live",
"latency_ms": 1351.4,
"record_count": 25,
"bytes": 385659,
"cache_hit": false,
"completeness_pct": 100,
"destination": {
"dest_id": "-755070",
"dest_type": "city",
"value": "Istanbul, Marmara Region, Turkey"
},
"completeness_basis": {
"items": 25,
"field_slots": 176,
"field_slots_filled": 176,
"pagination_total_present": true
},
"charged_credits": 2,
"version": "1.2.0"
},
"data": {
"items": [
{
"hotel_id": 14985584,
"page_name": "walkabout-apart",
"name": "walkabout apart",
"description": null,
"url": "https://www.booking.com/hotel/tr/walkabout-apart.html",
"location": {
"address": "KUCUK AYASOFYA MAH. KADIRGA LIMANI CD, DISKAPI NO:138, DAIRE 0000 FATIH ",
"city": "istanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "0.5 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 74.36",
"amount_rounded": "€ 74",
"amount_unformatted": 74.3600000000001,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 43.74 × 2 nights",
"amount": "€ 87.48",
"amount_rounded": "€ 87",
"amount_unformatted": 87.4800000000001,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesList": [],
"excludeChargesAggregated": {
"copy": {
"translation": null,
"__typename": "TranslationTag"
},
"amountPerStay": {
"amount": "",
"__typename": "PriceDisplayIrene",
"currency": "",
"amountRounded": "",
"amountUnformatted": 0
},
"__typename": "PriceDisplayAggregatedIrene"
},
"__typename": "ExcludeChargesIrene"
},
"discounts": [
{
"name": {
"translation": "Bonus savings",
"__typename": "TranslationTag"
},
"productId": "basic-deal",
"__typename": "DiscountDisplayIrene",
"description": {
"__typename": "TranslationTag",
"translation": "You’re getting a reduced rate because this property is offering a discount."
},
"amount": {
"amountRounded": "€ 13",
"amountUnformatted": 13.1200000000001,
"amount": "€ 13.12",
"currency": "EUR",
"__typename": "PriceDisplayIrene"
},
"itemType": "rate"
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 8.7,
"review_count": 97,
"label": "Excellent",
"secondary_score": 9.5
},
"star_rating": null,
"accommodation_type_id": 222,
"photo": "/xdata/images/hotel/square600/801956156.jpg?k=abd5311c7161bd76e41d4a1e84ddfc968959d490ca897c00ee6f517f39f73892&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"commonConfiguration": {
"name": null,
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"nbUnits": 1,
"unitTypeNames": [],
"bedConfigurations": [
{
"nbAllBeds": 1,
"__typename": "BedConfiguration",
"beds": [
{
"type": 2,
"count": 1,
"__typename": "Bed"
}
]
}
],
"nbLivingrooms": 0,
"nbAllBeds": 1,
"nbKitchens": 0,
"nbBedrooms": 0,
"localizedArea": null,
"unitId": 0
},
"unitConfigurations": [
{
"nbUnits": 1,
"unitTypeNames": [],
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"unitTypeId": 9,
"name": "Double Room",
"unitId": 1498558401,
"nbAllBeds": 1,
"nbKitchens": 0,
"localizedArea": null,
"nbBedrooms": 0,
"nbLivingrooms": 0,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"type": 2,
"__typename": "Bed",
"count": 1
}
],
"nbAllBeds": 1
}
],
"apartmentRooms": []
}
]
},
"room_blocks": [
{
"room_id": "1498558401",
"occupancy": 2,
"policy_group_id": "421542176",
"package_id": "0",
"meal_plan_id": 2,
"final_price": {
"amount": 74.36,
"currency": "EUR"
},
"original_price": {
"amount": 74.36,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": "We have 3 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": false,
"showFreeCancellation": false,
"enableJapaneseUsersSpecialCase": null,
"__typename": "Policies"
},
"badges": {
"showSkiToDoor": false,
"__typename": "CustomBadges",
"showOnlineCheckinBadge": null,
"showBhTravelCreditBadge": false
}
},
{
"hotel_id": 15104647,
"page_name": "rovigo",
"name": "Rovigo Hotel",
"description": null,
"url": "https://www.booking.com/hotel/tr/rovigo.html",
"location": {
"address": "Tekin Alp Sokak NO:23",
"city": "Fatih",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "1.2 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 46.98",
"amount_rounded": "€ 47",
"amount_unformatted": 46.9800000000001,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 26.10 × 2 nights",
"amount": "€ 52.20",
"amount_rounded": "€ 52",
"amount_unformatted": 52.2000000000001,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesList": [],
"excludeChargesAggregated": {
"copy": {
"translation": null,
"__typename": "TranslationTag"
},
"__typename": "PriceDisplayAggregatedIrene",
"amountPerStay": {
"amountRounded": "",
"amountUnformatted": 0,
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": ""
}
},
"__typename": "ExcludeChargesIrene"
},
"discounts": [
{
"name": {
"translation": "Genius discount",
"__typename": "TranslationTag"
},
"productId": "genius_discount_10",
"amount": {
"amount": "€ 5.22",
"__typename": "PriceDisplayIrene",
"currency": "EUR",
"amountRounded": "€ 5",
"amountUnformatted": 5.22000000000009
},
"__typename": "DiscountDisplayIrene",
"description": {
"translation": "Get this Genius member rate if you sign in or join Genius for free.",
"__typename": "TranslationTag"
},
"itemType": "rate"
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 7.9,
"review_count": 56,
"label": "Good",
"secondary_score": 0
},
"star_rating": null,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/763438939.jpg?k=5502c0d2e94a0fc6a9622db5b15741f3530a4ce36cd609c89bbb28c55ee508a5&o=",
"room_configurations": {
"commonConfiguration": {
"unitTypeNames": [],
"nbUnits": 1,
"name": null,
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"localizedArea": null,
"nbBedrooms": 0,
"nbAllBeds": 1,
"nbKitchens": 0,
"unitId": 0,
"bedConfigurations": [
{
"nbAllBeds": 1,
"beds": [
{
"__typename": "Bed",
"count": 1,
"type": 2
}
],
"__typename": "BedConfiguration"
}
],
"nbLivingrooms": 0
},
"unitConfigurations": [
{
"nbAllBeds": 1,
"nbKitchens": 0,
"nbBedrooms": 0,
"localizedArea": null,
"unitId": 1510464704,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"count": 1,
"__typename": "Bed",
"type": 2
}
],
"nbAllBeds": 1
}
],
"apartmentRooms": [],
"nbLivingrooms": 0,
"nbUnits": 1,
"unitTypeNames": [],
"unitTypeId": 9,
"name": "Standard Double Room",
"nbBathrooms": 0,
"__typename": "UnitConfiguration"
}
],
"__typename": "MatchingUnitConfigurations"
},
"room_blocks": [
{
"room_id": "1510464704",
"occupancy": 0,
"policy_group_id": "422807834",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 46.98,
"currency": "EUR"
},
"original_price": {
"amount": 46.98,
"currency": "EUR"
},
"free_cancellation_until": "2026-10-11T21:00:00Z",
"cancellation_type": null,
"only_left_message": "We have 1 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showFreeCancellation": true,
"enableJapaneseUsersSpecialCase": null,
"__typename": "Policies",
"showNoPrepayment": true
},
"badges": {
"showSkiToDoor": false,
"__typename": "CustomBadges",
"showOnlineCheckinBadge": null,
"showBhTravelCreditBadge": false
}
},
{
"hotel_id": 10895903,
"page_name": "taksim-pera-pandora",
"name": "Taksim Pandora hotel",
"description": null,
"url": "https://www.booking.com/hotel/tr/taksim-pera-pandora.html",
"location": {
"address": "Demirbaş Sokak",
"city": "Beyoğlu",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Beyoglu, Istanbul",
"distance": "3.2 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 66.72",
"amount_rounded": "€ 67",
"amount_unformatted": 66.7200000000001,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 43.60 × 2 nights",
"amount": "€ 87.21",
"amount_rounded": "€ 87",
"amount_unformatted": 87.2100000000001,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesAggregated": {
"copy": {
"translation": null,
"__typename": "TranslationTag"
},
"amountPerStay": {
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": "",
"amountRounded": "",
"amountUnformatted": 0
},
"__typename": "PriceDisplayAggregatedIrene"
},
"excludeChargesList": [],
"__typename": "ExcludeChargesIrene"
},
"discounts": [
{
"itemType": "rate",
"amount": {
"__typename": "PriceDisplayIrene",
"currency": "EUR",
"amount": "€ 11.77",
"amountUnformatted": 11.7700000000001,
"amountRounded": "€ 12"
},
"__typename": "DiscountDisplayIrene",
"description": {
"translation": "You’re getting a reduced rate because this property is offering a discount.",
"__typename": "TranslationTag"
},
"productId": "basic-deal",
"name": {
"__typename": "TranslationTag",
"translation": "Bonus savings"
}
},
{
"productId": "genius_discount_10",
"name": {
"__typename": "TranslationTag",
"translation": "Genius discount"
},
"itemType": "rate",
"__typename": "DiscountDisplayIrene",
"description": {
"__typename": "TranslationTag",
"translation": "Get this Genius member rate if you sign in or join Genius for free."
},
"amount": {
"amountRounded": "€ 9",
"amountUnformatted": 8.72000000000009,
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amount": "€ 8.72"
}
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 8.3,
"review_count": 576,
"label": "Very Good",
"secondary_score": 0
},
"star_rating": null,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/848871788.jpg?k=73126385c7a711c601c7c0f5d82fd91daf385aff41a772369b0adea3bab0433d&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"unitConfigurations": [
{
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"name": "Small Double Room",
"unitTypeId": 9,
"unitTypeNames": [],
"nbUnits": 1,
"nbLivingrooms": 0,
"apartmentRooms": [],
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"type": 3,
"count": 1,
"__typename": "Bed"
}
],
"nbAllBeds": 1
}
],
"unitId": 1089590306,
"localizedArea": null,
"nbBedrooms": 0,
"nbKitchens": 0,
"nbAllBeds": 1
}
],
"commonConfiguration": {
"nbUnits": 1,
"unitTypeNames": [],
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"name": null,
"unitId": 0,
"nbKitchens": 0,
"nbAllBeds": 1,
"localizedArea": null,
"nbBedrooms": 0,
"nbLivingrooms": 0,
"bedConfigurations": [
{
"nbAllBeds": 1,
"beds": [
{
"type": 3,
"__typename": "Bed",
"count": 1
}
],
"__typename": "BedConfiguration"
}
]
}
},
"room_blocks": [
{
"room_id": "1089590306",
"occupancy": 0,
"policy_group_id": "381866721",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 66.72,
"currency": "EUR"
},
"original_price": {
"amount": 66.72,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": "We have 2 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": false,
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": false,
"__typename": "Policies"
},
"badges": {
"showBhTravelCreditBadge": false,
"__typename": "CustomBadges",
"showOnlineCheckinBadge": null,
"showSkiToDoor": false
}
},
{
"hotel_id": 11822839,
"page_name": "mamma-marya",
"name": "Mamma Marya Hotel",
"description": null,
"url": "https://www.booking.com/hotel/tr/mamma-marya.html",
"location": {
"address": "9 Kantarcı Süleyman Sokak",
"city": "Fatih",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "1 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 94.65",
"amount_rounded": "€ 95",
"amount_unformatted": 94.6500000000001,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 127.50 × 2 nights",
"amount": "€ 255",
"amount_rounded": "€ 255",
"amount_unformatted": 255,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesList": [],
"excludeChargesAggregated": {
"copy": {
"translation": null,
"__typename": "TranslationTag"
},
"__typename": "PriceDisplayAggregatedIrene",
"amountPerStay": {
"amountRounded": "",
"amountUnformatted": 0,
"currency": "",
"__typename": "PriceDisplayIrene",
"amount": ""
}
}
},
"discounts": [
{
"productId": "limited-time-deal",
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
},
"itemType": "rate",
"amount": {
"amountRounded": "€ 153",
"amountUnformatted": 153,
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amount": "€ 153"
},
"__typename": "DiscountDisplayIrene",
"description": {
"translation": "You're getting a discount because—for a limited time only—this property is offering reduced rates on rooms that match your search.",
"__typename": "TranslationTag"
}
},
{
"amount": {
"amount": "€ 7.35",
"__typename": "PriceDisplayIrene",
"currency": "EUR",
"amountUnformatted": 7.35000000000008,
"amountRounded": "€ 7"
},
"description": {
"translation": "You’ll get a reduced rate when you pay online because Booking.com will pay part of the price.",
"__typename": "TranslationTag"
},
"__typename": "DiscountDisplayIrene",
"itemType": "total",
"name": {
"translation": "Booking.com pays",
"__typename": "TranslationTag"
},
"productId": "BSD"
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 9,
"review_count": 637,
"label": "Wonderful",
"secondary_score": 0
},
"star_rating": 3,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/751574973.jpg?k=c79566a226f66daf158da4fcdd4f2f57664e093ad4a85c3b73d985516833de80&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"unitConfigurations": [
{
"nbKitchens": 0,
"nbAllBeds": 1,
"nbBedrooms": 0,
"localizedArea": null,
"unitId": 1182283911,
"bedConfigurations": [
{
"beds": [
{
"count": 1,
"__typename": "Bed",
"type": 6
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 1
}
],
"apartmentRooms": [],
"nbLivingrooms": 0,
"nbUnits": 1,
"unitTypeNames": [],
"name": "Economy Double Room",
"unitTypeId": 9,
"__typename": "UnitConfiguration",
"nbBathrooms": 0
}
],
"commonConfiguration": {
"name": null,
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"nbUnits": 1,
"unitTypeNames": [],
"bedConfigurations": [
{
"nbAllBeds": 1,
"__typename": "BedConfiguration",
"beds": [
{
"type": 6,
"count": 1,
"__typename": "Bed"
}
]
}
],
"nbLivingrooms": 0,
"nbAllBeds": 1,
"nbKitchens": 0,
"localizedArea": null,
"nbBedrooms": 0,
"unitId": 0
}
},
"room_blocks": [
{
"room_id": "1182283911",
"occupancy": 2,
"policy_group_id": "390652999",
"package_id": "0",
"meal_plan_id": 2,
"final_price": {
"amount": 94.65,
"currency": "EUR"
},
"original_price": {
"amount": 94.65,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": null,
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": false,
"__typename": "Policies",
"showFreeCancellation": false,
"enableJapaneseUsersSpecialCase": null
},
"badges": [
{
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
},
"tooltip": {
"translation": "You’re getting a reduced rate because this property has a limited-time deal running. These deals only last up to 48 hours.",
"__typename": "TranslationTag"
},
"identifier": "Limited Time Deal",
"style": "constructive",
"__typename": "BadgeDisplayIrene"
}
]
},
{
"hotel_id": 13593661,
"page_name": "blueway-residence-sisli5",
"name": "Blueway Hotel Residence",
"description": null,
"url": "https://www.booking.com/hotel/tr/blueway-residence-sisli5.html",
"location": {
"address": "Kaya Hatun Sokak No:57 Blueway Hotel Residence",
"city": "Şişli",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Sisli, Istanbul",
"distance": "4.8 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 145.35",
"amount_rounded": "€ 145",
"amount_unformatted": 145.3501,
"currency": "EUR"
},
"price_before_discount": {
"text": null,
"amount": "",
"amount_rounded": "",
"amount_unformatted": 0,
"currency": ""
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesAggregated": {
"amountPerStay": {
"currency": "",
"__typename": "PriceDisplayIrene",
"amount": "",
"amountRounded": "",
"amountUnformatted": 0
},
"__typename": "PriceDisplayAggregatedIrene",
"copy": {
"translation": null,
"__typename": "TranslationTag"
}
},
"excludeChargesList": []
},
"discounts": [],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 5.6,
"review_count": 8,
"label": "Review score",
"secondary_score": 0
},
"star_rating": null,
"accommodation_type_id": 219,
"photo": "/xdata/images/hotel/square600/646852156.jpg?k=bc77d33273184d6c064f7afbd1656680b3311a418e72ee3c774d24f1beb7e968&o=",
"room_configurations": {
"unitConfigurations": [
{
"nbLivingrooms": 0,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"count": 1,
"__typename": "Bed",
"type": 1
},
{
"type": 2,
"__typename": "Bed",
"count": 1
},
{
"type": 5,
"__typename": "Bed",
"count": 1
}
],
"nbAllBeds": 3
}
],
"apartmentRooms": [],
"unitId": 1359366101,
"nbAllBeds": 3,
"nbKitchens": 0,
"nbBedrooms": 0,
"localizedArea": null,
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"name": "Quadruple Room",
"unitTypeId": 4,
"nbUnits": 1,
"unitTypeNames": []
}
],
"commonConfiguration": {
"nbUnits": 1,
"unitTypeNames": [],
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"name": null,
"unitId": 0,
"nbKitchens": 0,
"nbAllBeds": 3,
"localizedArea": null,
"nbBedrooms": 0,
"nbLivingrooms": 0,
"bedConfigurations": [
{
"beds": [
{
"__typename": "Bed",
"count": 1,
"type": 1
},
{
"type": 2,
"__typename": "Bed",
"count": 1
},
{
"type": 5,
"count": 1,
"__typename": "Bed"
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 3
}
]
},
"__typename": "MatchingUnitConfigurations"
},
"room_blocks": [
{
"room_id": "1359366101",
"occupancy": 2,
"policy_group_id": "408251376",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 145.3501,
"currency": "EUR"
},
"original_price": {
"amount": 145.3501,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": "We have 4 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": false,
"__typename": "Policies",
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": false
},
"badges": {
"showBhTravelCreditBadge": false,
"__typename": "CustomBadges",
"showOnlineCheckinBadge": null,
"showSkiToDoor": false
}
},
{
"hotel_id": 310673,
"page_name": "berk",
"name": "Berk Guest House - Grandma's House",
"description": null,
"url": "https://www.booking.com/hotel/tr/berk.html",
"location": {
"address": "Kutlugün Sokak No. 29 Sultanahmet",
"city": "Istanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "0.6 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 108",
"amount_rounded": "€ 108",
"amount_unformatted": 108,
"currency": "EUR"
},
"price_before_discount": {
"text": null,
"amount": "",
"amount_rounded": "",
"amount_unformatted": 0,
"currency": ""
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesList": [],
"excludeChargesAggregated": {
"__typename": "PriceDisplayAggregatedIrene",
"amountPerStay": {
"amountRounded": "",
"amountUnformatted": 0,
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": ""
},
"copy": {
"__typename": "TranslationTag",
"translation": null
}
},
"__typename": "ExcludeChargesIrene"
},
"discounts": [],
"meal_plan": "Breakfast included",
"breakfast_included": true,
"review_score": {
"score": 9.3,
"review_count": 762,
"label": "Wonderful",
"secondary_score": 9.9
},
"star_rating": null,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/695296721.jpg?k=ddc396924b650c53eaae750a71067c045d9fd8874b70ab3abe4b01a2f329a448&o=",
"room_configurations": {
"commonConfiguration": {
"nbLivingrooms": 0,
"bedConfigurations": [
{
"beds": [
{
"__typename": "Bed",
"count": 1,
"type": 2
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 1
}
],
"unitId": 0,
"nbAllBeds": 1,
"nbKitchens": 0,
"localizedArea": null,
"nbBedrooms": 0,
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"name": null,
"nbUnits": 1,
"unitTypeNames": []
},
"unitConfigurations": [
{
"nbAllBeds": 1,
"nbKitchens": 0,
"nbBedrooms": 0,
"localizedArea": null,
"unitId": 31067305,
"bedConfigurations": [
{
"nbAllBeds": 1,
"beds": [
{
"__typename": "Bed",
"count": 1,
"type": 2
}
],
"__typename": "BedConfiguration"
}
],
"apartmentRooms": [],
"nbLivingrooms": 0,
"nbUnits": 1,
"unitTypeNames": [],
"name": "Economy Double or Twin Room",
"unitTypeId": 24,
"__typename": "UnitConfiguration",
"nbBathrooms": 0
}
],
"__typename": "MatchingUnitConfigurations"
},
"room_blocks": [
{
"room_id": "31067305",
"occupancy": 0,
"policy_group_id": "203706142",
"package_id": "0",
"meal_plan_id": 1,
"final_price": {
"amount": 108,
"currency": "EUR"
},
"original_price": {
"amount": 108,
"currency": "EUR"
},
"free_cancellation_until": "2026-09-29T21:00:00Z",
"cancellation_type": null,
"only_left_message": "We have 1 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": true,
"__typename": "Policies",
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": true
},
"badges": {
"showBhTravelCreditBadge": false,
"showSkiToDoor": false,
"__typename": "CustomBadges",
"showOnlineCheckinBadge": null
}
},
{
"hotel_id": 9785793,
"page_name": "elite-marmara-old-city-istanbul",
"name": "Elite Marmara Boutique Hotel Sultanahmet",
"description": null,
"url": "https://www.booking.com/hotel/tr/elite-marmara-old-city-istanbul.html",
"location": {
"address": "Mimar Hayrettin Mah. Gedikpaşa fırını sok. no:26/A",
"city": "İstanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "0.8 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 90.16",
"amount_rounded": "€ 90",
"amount_unformatted": 90.1600000000001,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 98 × 2 nights",
"amount": "€ 196",
"amount_rounded": "€ 196",
"amount_unformatted": 196,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesAggregated": {
"amountPerStay": {
"amount": "",
"__typename": "PriceDisplayIrene",
"currency": "",
"amountRounded": "",
"amountUnformatted": 0
},
"__typename": "PriceDisplayAggregatedIrene",
"copy": {
"translation": null,
"__typename": "TranslationTag"
}
},
"excludeChargesList": []
},
"discounts": [
{
"itemType": "rate",
"amount": {
"amount": "€ 105.84",
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amountRounded": "€ 106",
"amountUnformatted": 105.84
},
"description": {
"__typename": "TranslationTag",
"translation": "You're getting a discount because—for a limited time only—this property is offering reduced rates on rooms that match your search."
},
"__typename": "DiscountDisplayIrene",
"productId": "limited-time-deal",
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
}
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 8.6,
"review_count": 201,
"label": "Excellent",
"secondary_score": 0
},
"star_rating": 3,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/617438965.jpg?k=315a53dd97a6721820a509fe9055454ca8bb4cc9a2213bf4ff7220df6cd29d56&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"commonConfiguration": {
"nbLivingrooms": 0,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"type": 6,
"__typename": "Bed",
"count": 1
}
],
"nbAllBeds": 1
}
],
"unitId": 0,
"nbKitchens": 0,
"nbAllBeds": 1,
"nbBedrooms": 0,
"localizedArea": null,
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"name": null,
"nbUnits": 1,
"unitTypeNames": []
},
"unitConfigurations": [
{
"name": "Economy Double Room",
"unitTypeId": 9,
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"unitTypeNames": [],
"nbUnits": 1,
"apartmentRooms": [],
"bedConfigurations": [
{
"nbAllBeds": 1,
"__typename": "BedConfiguration",
"beds": [
{
"type": 6,
"count": 1,
"__typename": "Bed"
}
]
}
],
"nbLivingrooms": 0,
"localizedArea": null,
"nbBedrooms": 0,
"nbKitchens": 0,
"nbAllBeds": 1,
"unitId": 978579309
}
]
},
"room_blocks": [
{
"room_id": "978579309",
"occupancy": 2,
"policy_group_id": "370139648",
"package_id": "0",
"meal_plan_id": 2,
"final_price": {
"amount": 90.16,
"currency": "EUR"
},
"original_price": {
"amount": 90.16,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": "We have 3 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"__typename": "Policies",
"showFreeCancellation": false,
"enableJapaneseUsersSpecialCase": null,
"showNoPrepayment": false
},
"badges": [
{
"tooltip": {
"__typename": "TranslationTag",
"translation": "You’re getting a reduced rate because this property has a limited-time deal running. These deals only last up to 48 hours."
},
"name": {
"translation": "Limited-time Deal",
"__typename": "TranslationTag"
},
"style": "constructive",
"__typename": "BadgeDisplayIrene",
"identifier": "Limited Time Deal"
}
]
},
{
"hotel_id": 17151144,
"page_name": "the-sisli-vis-spa-amp-bistro",
"name": "The Şişli Vis Beijing Hotel Spa & Bistro",
"description": null,
"url": "https://www.booking.com/hotel/tr/the-sisli-vis-spa-amp-bistro.html",
"location": {
"address": "Dolapdere Caddesi no 52",
"city": "Şişli",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Sisli, Istanbul",
"distance": "4.1 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 93.60",
"amount_rounded": "€ 94",
"amount_unformatted": 93.6000000000001,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 120 × 2 nights",
"amount": "€ 240",
"amount_rounded": "€ 240",
"amount_unformatted": 240,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesAggregated": {
"__typename": "PriceDisplayAggregatedIrene",
"amountPerStay": {
"amount": "",
"__typename": "PriceDisplayIrene",
"currency": "",
"amountRounded": "",
"amountUnformatted": 0
},
"copy": {
"__typename": "TranslationTag",
"translation": null
}
},
"excludeChargesList": [],
"__typename": "ExcludeChargesIrene"
},
"discounts": [
{
"itemType": "rate",
"__typename": "DiscountDisplayIrene",
"description": {
"translation": "You're getting a discount because—for a limited time only—this property is offering reduced rates on rooms that match your search.",
"__typename": "TranslationTag"
},
"amount": {
"amount": "€ 146.40",
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amountRounded": "€ 146",
"amountUnformatted": 146.4
},
"productId": "limited-time-deal",
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
}
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 7.8,
"review_count": 42,
"label": "Good",
"secondary_score": 0
},
"star_rating": 3,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/913871456.jpg?k=1ffb02dfe53d036fa1706712a78a11ea7450041b96ab72cc6993f8ed136c0279&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"commonConfiguration": {
"unitId": 0,
"nbKitchens": 0,
"nbAllBeds": 1,
"localizedArea": null,
"nbBedrooms": 0,
"nbLivingrooms": 0,
"bedConfigurations": [
{
"nbAllBeds": 1,
"beds": [
{
"__typename": "Bed",
"count": 1,
"type": 6
}
],
"__typename": "BedConfiguration"
}
],
"nbUnits": 1,
"unitTypeNames": [],
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"name": null
},
"unitConfigurations": [
{
"nbKitchens": 0,
"nbAllBeds": 1,
"nbBedrooms": 0,
"localizedArea": null,
"unitId": 1715114401,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"type": 6,
"__typename": "Bed",
"count": 1
}
],
"nbAllBeds": 1
}
],
"apartmentRooms": [],
"nbLivingrooms": 0,
"nbUnits": 1,
"unitTypeNames": [],
"unitTypeId": 9,
"name": "Deluxe Double Room",
"__typename": "UnitConfiguration",
"nbBathrooms": 0
}
]
},
"room_blocks": [
{
"room_id": "1715114401",
"occupancy": 2,
"policy_group_id": "443595142",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 93.6,
"currency": "EUR"
},
"original_price": {
"amount": 93.6,
"currency": "EUR"
},
"free_cancellation_until": "2026-10-12T21:00:00Z",
"cancellation_type": null,
"only_left_message": "We have 3 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": true,
"__typename": "Policies",
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": true
},
"badges": [
{
"__typename": "BadgeDisplayIrene",
"style": "constructive",
"identifier": "Limited Time Deal",
"tooltip": {
"translation": "You’re getting a reduced rate because this property has a limited-time deal running. These deals only last up to 48 hours.",
"__typename": "TranslationTag"
},
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
}
}
]
},
{
"hotel_id": 9009502,
"page_name": "efzen",
"name": "Efzen hotel",
"description": null,
"url": "https://www.booking.com/hotel/tr/efzen.html",
"location": {
"address": "Küçükayasofya mahallesi Mustafapaşa sokak no:1",
"city": "İstanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "0.6 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 95.76",
"amount_rounded": "€ 96",
"amount_unformatted": 95.7600000000001,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 133 × 2 nights",
"amount": "€ 266",
"amount_rounded": "€ 266",
"amount_unformatted": 266,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesAggregated": {
"copy": {
"__typename": "TranslationTag",
"translation": null
},
"__typename": "PriceDisplayAggregatedIrene",
"amountPerStay": {
"amountUnformatted": 0,
"amountRounded": "",
"amount": "",
"__typename": "PriceDisplayIrene",
"currency": ""
}
},
"excludeChargesList": []
},
"discounts": [
{
"name": {
"__typename": "TranslationTag",
"translation": "Late Escape Deal"
},
"productId": "campaign_35",
"description": {
"__typename": "TranslationTag",
"translation": "This property is offering a discount on select stays between Oct 1, 2026 and Jan 7, 2027."
},
"__typename": "DiscountDisplayIrene",
"amount": {
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amount": "€ 170.24",
"amountUnformatted": 170.24,
"amountRounded": "€ 170"
},
"itemType": "rate"
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 9,
"review_count": 1078,
"label": "Wonderful",
"secondary_score": 9.5
},
"star_rating": null,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/399544606.jpg?k=36a91a37a3e1a7e0193ce8c1272872e1f8fd93aaebad35772ae9d8332d23ba40&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"unitConfigurations": [
{
"nbUnits": 1,
"unitTypeNames": [],
"name": "Double Room with Balcony",
"unitTypeId": 9,
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"nbAllBeds": 1,
"nbKitchens": 0,
"localizedArea": null,
"nbBedrooms": 0,
"unitId": 900950208,
"bedConfigurations": [
{
"nbAllBeds": 1,
"beds": [
{
"count": 1,
"__typename": "Bed",
"type": 6
}
],
"__typename": "BedConfiguration"
}
],
"apartmentRooms": [],
"nbLivingrooms": 0
}
],
"commonConfiguration": {
"nbBedrooms": 0,
"localizedArea": null,
"nbAllBeds": 1,
"nbKitchens": 0,
"unitId": 0,
"bedConfigurations": [
{
"beds": [
{
"__typename": "Bed",
"count": 1,
"type": 6
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 1
}
],
"nbLivingrooms": 0,
"unitTypeNames": [],
"nbUnits": 1,
"name": null,
"__typename": "UnitConfiguration",
"nbBathrooms": 0
}
},
"room_blocks": [
{
"room_id": "900950208",
"occupancy": 2,
"policy_group_id": "360782609",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 95.76,
"currency": "EUR"
},
"original_price": {
"amount": 95.76,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": "We have 1 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"__typename": "Policies",
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": false,
"showNoPrepayment": false
},
"badges": [
{
"tooltip": {
"__typename": "TranslationTag",
"translation": "This property is offering a discount on select stays between Oct 1, 2026 and Jan 7, 2027."
},
"name": {
"__typename": "TranslationTag",
"translation": "Late Escape Deal"
},
"__typename": "BadgeDisplayIrene",
"style": "constructive",
"identifier": "Late Escape Campaign"
}
]
},
{
"hotel_id": 8873070,
"page_name": "cihangir-vav-suites",
"name": "Cihangir VAV Suites",
"description": null,
"url": "https://www.booking.com/hotel/tr/cihangir-vav-suites.html",
"location": {
"address": "Yeni Yuva Sokak",
"city": "Beyoğlu",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Beyoglu, Istanbul",
"distance": "2.7 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 144.16",
"amount_rounded": "€ 144",
"amount_unformatted": 144.16,
"currency": "EUR"
},
"price_before_discount": {
"text": null,
"amount": "",
"amount_rounded": "",
"amount_unformatted": 0,
"currency": ""
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesList": [],
"excludeChargesAggregated": {
"__typename": "PriceDisplayAggregatedIrene",
"amountPerStay": {
"amountRounded": "",
"amountUnformatted": 0,
"amount": "",
"__typename": "PriceDisplayIrene",
"currency": ""
},
"copy": {
"translation": null,
"__typename": "TranslationTag"
}
},
"__typename": "ExcludeChargesIrene"
},
"discounts": [],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 8.8,
"review_count": 1412,
"label": "Excellent",
"secondary_score": 9.4
},
"star_rating": null,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/438470495.jpg?k=cac6b7f1df8e58a25f4d50a9f5559f09ba3a5d695592d90b1f98c6455ba8dd35&o=",
"room_configurations": {
"unitConfigurations": [
{
"unitId": 887307002,
"nbAllBeds": 2,
"nbKitchens": 1,
"nbBedrooms": 1,
"localizedArea": {
"localizedArea": "32",
"unit": "m²",
"__typename": "LocalizedArea"
},
"nbLivingrooms": 1,
"bedConfigurations": [
{
"nbAllBeds": 2,
"beds": [
{
"type": 5,
"count": 1,
"__typename": "Bed"
},
{
"type": 6,
"__typename": "Bed",
"count": 1
}
],
"__typename": "BedConfiguration"
}
],
"apartmentRooms": [
{
"roomName": {
"__typename": "TranslationTag",
"tag": "bp_room_2_bedroom",
"translation": "Bedroom"
},
"__typename": "ApartmentRoomDetails",
"config": {
"bedCount": 1,
"bedTypeId": 6,
"roomId": 69979557,
"roomType": "Bedroom",
"__typename": "ApartmentRoom"
}
},
{
"config": {
"bedTypeId": 5,
"bedCount": 1,
"__typename": "ApartmentRoom",
"roomType": "Living Room",
"roomId": 69979558
},
"__typename": "ApartmentRoomDetails",
"roomName": {
"translation": "Living room",
"__typename": "TranslationTag",
"tag": "hp_room_1_living_room"
}
}
],
"nbUnits": 1,
"unitTypeNames": [
{
"__typename": "TranslationTag",
"translation": "Entire apartment"
}
],
"nbBathrooms": 1,
"__typename": "UnitConfiguration",
"name": "Standard Apartment",
"unitTypeId": 1
}
],
"commonConfiguration": {
"unitId": 0,
"localizedArea": {
"unit": "m²",
"__typename": "LocalizedArea",
"localizedArea": "32"
},
"nbBedrooms": 1,
"nbAllBeds": 2,
"nbKitchens": 1,
"nbLivingrooms": 1,
"bedConfigurations": [
{
"nbAllBeds": 2,
"beds": [
{
"type": 5,
"__typename": "Bed",
"count": 1
},
{
"__typename": "Bed",
"count": 1,
"type": 6
}
],
"__typename": "BedConfiguration"
}
],
"unitTypeNames": [
{
"__typename": "TranslationTag",
"translation": "Entire apartment"
}
],
"nbUnits": 1,
"nbBathrooms": 1,
"__typename": "UnitConfiguration",
"name": null
},
"__typename": "MatchingUnitConfigurations"
},
"room_blocks": [
{
"room_id": "887307002",
"occupancy": 2,
"policy_group_id": "392733055",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 144.16,
"currency": "EUR"
},
"original_price": {
"amount": 144.16,
"currency": "EUR"
},
"free_cancellation_until": "2026-09-29T21:00:00Z",
"cancellation_type": null,
"only_left_message": "We have 1 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": true,
"__typename": "Policies",
"showNoPrepayment": false
},
"badges": {
"showBhTravelCreditBadge": false,
"showOnlineCheckinBadge": null,
"__typename": "CustomBadges",
"showSkiToDoor": false
}
},
{
"hotel_id": 14352088,
"page_name": "mahal-otel-pendik",
"name": "MAHAL Otel PENDİK",
"description": null,
"url": "https://www.booking.com/hotel/tr/mahal-otel-pendik.html",
"location": {
"address": "Lokman Hekim Cd. No.31 31",
"city": "Pendik",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Pendik, Istanbul",
"distance": "26.3 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 114",
"amount_rounded": "€ 114",
"amount_unformatted": 114,
"currency": "EUR"
},
"price_before_discount": {
"text": null,
"amount": "",
"amount_rounded": "",
"amount_unformatted": 0,
"currency": ""
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesAggregated": {
"amountPerStay": {
"amountUnformatted": 0,
"amountRounded": "",
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": ""
},
"__typename": "PriceDisplayAggregatedIrene",
"copy": {
"__typename": "TranslationTag",
"translation": null
}
},
"excludeChargesList": []
},
"discounts": [],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 7.1,
"review_count": 55,
"label": "Good",
"secondary_score": 0
},
"star_rating": null,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/735031011.jpg?k=ab9bb9b7cebccbc7158090fb87352f3335d64ce92e0d0ba0e572ec956c388eca&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"unitConfigurations": [
{
"nbAllBeds": 1,
"nbKitchens": 0,
"nbBedrooms": 0,
"localizedArea": null,
"unitId": 1435208803,
"bedConfigurations": [
{
"nbAllBeds": 1,
"beds": [
{
"type": 2,
"__typename": "Bed",
"count": 1
}
],
"__typename": "BedConfiguration"
}
],
"apartmentRooms": [
{
"__typename": "ApartmentRoomDetails",
"roomName": {
"translation": "Bedroom",
"__typename": "TranslationTag",
"tag": "bp_room_2_bedroom"
},
"config": {
"roomType": "Bedroom",
"roomId": 116527914,
"__typename": "ApartmentRoom",
"bedCount": 1,
"bedTypeId": 2
}
}
],
"nbLivingrooms": 0,
"nbUnits": 1,
"unitTypeNames": [
{
"__typename": "TranslationTag",
"translation": "Private suite"
}
],
"name": "Junior Suite",
"unitTypeId": 5,
"nbBathrooms": 0,
"__typename": "UnitConfiguration"
}
],
"commonConfiguration": {
"unitId": 0,
"localizedArea": null,
"nbBedrooms": 0,
"nbAllBeds": 1,
"nbKitchens": 0,
"nbLivingrooms": 0,
"bedConfigurations": [
{
"nbAllBeds": 1,
"__typename": "BedConfiguration",
"beds": [
{
"count": 1,
"__typename": "Bed",
"type": 2
}
]
}
],
"unitTypeNames": [
{
"__typename": "TranslationTag",
"translation": "Private suite"
}
],
"nbUnits": 1,
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"name": null
}
},
"room_blocks": [
{
"room_id": "1435208803",
"occupancy": 0,
"policy_group_id": "415030723",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 114,
"currency": "EUR"
},
"original_price": {
"amount": 114,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": "We have 4 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showFreeCancellation": false,
"enableJapaneseUsersSpecialCase": null,
"__typename": "Policies",
"showNoPrepayment": false
},
"badges": {
"__typename": "CustomBadges",
"showOnlineCheckinBadge": null,
"showSkiToDoor": false,
"showBhTravelCreditBadge": false
}
},
{
"hotel_id": 366900,
"page_name": "sayeban-istanbul",
"name": "Sayeban Hotel Istanbul",
"description": null,
"url": "https://www.booking.com/hotel/tr/sayeban-istanbul.html",
"location": {
"address": "Kadirga Gedikpasa Caddesi Cadirci Camii Sok No:25 Sultanahmet",
"city": "Istanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "0.8 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 117.84",
"amount_rounded": "€ 118",
"amount_unformatted": 117.8401,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 154.86 × 2 nights",
"amount": "€ 309.72",
"amount_rounded": "€ 310",
"amount_unformatted": 309.72,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesList": [],
"excludeChargesAggregated": {
"copy": {
"translation": null,
"__typename": "TranslationTag"
},
"amountPerStay": {
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": "",
"amountUnformatted": 0,
"amountRounded": ""
},
"__typename": "PriceDisplayAggregatedIrene"
},
"__typename": "ExcludeChargesIrene"
},
"discounts": [
{
"itemType": "rate",
"__typename": "DiscountDisplayIrene",
"description": {
"translation": "You're getting a discount because—for a limited time only—this property is offering reduced rates on rooms that match your search.",
"__typename": "TranslationTag"
},
"amount": {
"amountRounded": "€ 183",
"amountUnformatted": 182.73,
"__typename": "PriceDisplayIrene",
"currency": "EUR",
"amount": "€ 182.73"
},
"productId": "limited-time-deal",
"name": {
"translation": "Limited-time Deal",
"__typename": "TranslationTag"
}
},
{
"name": {
"__typename": "TranslationTag",
"translation": "Booking.com pays"
},
"productId": "BSD",
"__typename": "DiscountDisplayIrene",
"description": {
"__typename": "TranslationTag",
"translation": "You’ll get a reduced rate when you pay online because Booking.com will pay part of the price."
},
"amount": {
"amount": "€ 9.15",
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amountRounded": "€ 9",
"amountUnformatted": 9.1500000000001
},
"itemType": "total"
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 8.9,
"review_count": 105,
"label": "Excellent",
"secondary_score": 0
},
"star_rating": null,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/855399790.jpg?k=dd99de698822662a50aa0d3a629f656662425364dbe627a159e92f5d18423e2a&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"commonConfiguration": {
"nbLivingrooms": 0,
"bedConfigurations": [
{
"beds": [
{
"__typename": "Bed",
"count": 1,
"type": 6
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 1
}
],
"unitId": 0,
"nbAllBeds": 1,
"nbKitchens": 0,
"localizedArea": null,
"nbBedrooms": 0,
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"name": null,
"nbUnits": 1,
"unitTypeNames": []
},
"unitConfigurations": [
{
"localizedArea": null,
"nbBedrooms": 0,
"nbAllBeds": 1,
"nbKitchens": 0,
"unitId": 36690008,
"apartmentRooms": [],
"bedConfigurations": [
{
"nbAllBeds": 1,
"__typename": "BedConfiguration",
"beds": [
{
"count": 1,
"__typename": "Bed",
"type": 6
}
]
}
],
"nbLivingrooms": 0,
"unitTypeNames": [],
"nbUnits": 1,
"name": "Deluxe Double or Twin Room with City View",
"unitTypeId": 24,
"nbBathrooms": 0,
"__typename": "UnitConfiguration"
}
]
},
"room_blocks": [
{
"room_id": "36690008",
"occupancy": 2,
"policy_group_id": "339546620",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 117.8401,
"currency": "EUR"
},
"original_price": {
"amount": 117.8401,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": "We have 2 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"__typename": "Policies",
"showFreeCancellation": false,
"enableJapaneseUsersSpecialCase": null,
"showNoPrepayment": false
},
"badges": [
{
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
},
"tooltip": {
"__typename": "TranslationTag",
"translation": "You’re getting a reduced rate because this property has a limited-time deal running. These deals only last up to 48 hours."
},
"identifier": "Limited Time Deal",
"__typename": "BadgeDisplayIrene",
"style": "constructive"
}
]
},
{
"hotel_id": 1673264,
"page_name": "clarion-golden-horn",
"name": "Arise Hotel Golden Horn",
"description": null,
"url": "https://www.booking.com/hotel/tr/clarion-golden-horn.html",
"location": {
"address": "Imrahor Cad Sivaseli Sok No 10 Beyoglu Sutluce",
"city": "Istanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Beyoglu, Istanbul",
"distance": "6 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 175.88",
"amount_rounded": "€ 176",
"amount_unformatted": 175.8801,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 210.60 × 2 nights",
"amount": "€ 421.20",
"amount_rounded": "€ 421",
"amount_unformatted": 421.2,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesAggregated": {
"copy": {
"__typename": "TranslationTag",
"translation": null
},
"amountPerStay": {
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": "",
"amountRounded": "",
"amountUnformatted": 0
},
"__typename": "PriceDisplayAggregatedIrene"
},
"excludeChargesList": []
},
"discounts": [
{
"amount": {
"amount": "€ 231.66",
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amountRounded": "€ 232",
"amountUnformatted": 231.66
},
"description": {
"translation": "You're getting a discount because—for a limited time only—this property is offering reduced rates on rooms that match your search.",
"__typename": "TranslationTag"
},
"__typename": "DiscountDisplayIrene",
"itemType": "rate",
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
},
"productId": "limited-time-deal"
},
{
"productId": "BSD",
"name": {
"translation": "Booking.com pays",
"__typename": "TranslationTag"
},
"itemType": "total",
"amount": {
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amount": "€ 13.66",
"amountRounded": "€ 14",
"amountUnformatted": 13.6600000000001
},
"description": {
"__typename": "TranslationTag",
"translation": "You’ll get a reduced rate when you pay online because Booking.com will pay part of the price."
},
"__typename": "DiscountDisplayIrene"
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 9.3,
"review_count": 4187,
"label": "Wonderful",
"secondary_score": 0
},
"star_rating": 4,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/626563382.jpg?k=392b7fb9be83e8162a00d829110feabcc712cbc84b6ba4d563a1df2425252d43&o=",
"room_configurations": {
"unitConfigurations": [
{
"unitTypeId": 24,
"name": "Standard Double or Twin Room with Atrium View",
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"nbUnits": 1,
"unitTypeNames": [],
"bedConfigurations": [
{
"beds": [
{
"count": 2,
"__typename": "Bed",
"type": 1
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 2
},
{
"__typename": "BedConfiguration",
"beds": [
{
"type": 6,
"count": 1,
"__typename": "Bed"
}
],
"nbAllBeds": 1
}
],
"apartmentRooms": [],
"nbLivingrooms": 0,
"nbKitchens": 0,
"nbAllBeds": 2,
"nbBedrooms": 0,
"localizedArea": null,
"unitId": 167326430
}
],
"commonConfiguration": {
"unitTypeNames": [],
"nbUnits": 1,
"name": null,
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"nbBedrooms": 0,
"localizedArea": null,
"nbKitchens": 0,
"nbAllBeds": 2,
"unitId": 0,
"bedConfigurations": [
{
"nbAllBeds": 2,
"__typename": "BedConfiguration",
"beds": [
{
"type": 1,
"count": 2,
"__typename": "Bed"
}
]
},
{
"nbAllBeds": 1,
"beds": [
{
"type": 6,
"__typename": "Bed",
"count": 1
}
],
"__typename": "BedConfiguration"
}
],
"nbLivingrooms": 0
},
"__typename": "MatchingUnitConfigurations"
},
"room_blocks": [
{
"room_id": "167326430",
"occupancy": 2,
"policy_group_id": "97554715",
"package_id": "0",
"meal_plan_id": 42,
"final_price": {
"amount": 175.8801,
"currency": "EUR"
},
"original_price": {
"amount": 175.8801,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": null,
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": false,
"__typename": "Policies",
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": false
},
"badges": [
{
"style": "constructive",
"__typename": "BadgeDisplayIrene",
"identifier": "Limited Time Deal",
"tooltip": {
"__typename": "TranslationTag",
"translation": "You’re getting a reduced rate because this property has a limited-time deal running. These deals only last up to 48 hours."
},
"name": {
"translation": "Limited-time Deal",
"__typename": "TranslationTag"
}
}
]
},
{
"hotel_id": 11051207,
"page_name": "old-city-samil-fatih",
"name": "Mara Oldcity Hotel",
"description": null,
"url": "https://www.booking.com/hotel/tr/old-city-samil-fatih.html",
"location": {
"address": "Hocapasa Mah. Serdar Sok. No:1 D:888 Fatih",
"city": "Fatih",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "0.7 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 103.04",
"amount_rounded": "€ 103",
"amount_unformatted": 103.04,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 179.10 × 2 nights",
"amount": "€ 358.20",
"amount_rounded": "€ 358",
"amount_unformatted": 358.2,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesAggregated": {
"copy": {
"__typename": "TranslationTag",
"translation": null
},
"amountPerStay": {
"amountUnformatted": 0,
"amountRounded": "",
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": ""
},
"__typename": "PriceDisplayAggregatedIrene"
},
"excludeChargesList": [],
"__typename": "ExcludeChargesIrene"
},
"discounts": [
{
"amount": {
"amountUnformatted": 247.16,
"amountRounded": "€ 247",
"amount": "€ 247.16",
"currency": "EUR",
"__typename": "PriceDisplayIrene"
},
"__typename": "DiscountDisplayIrene",
"description": {
"translation": "You're getting a discount because—for a limited time only—this property is offering reduced rates on rooms that match your search.",
"__typename": "TranslationTag"
},
"itemType": "rate",
"name": {
"translation": "Limited-time Deal",
"__typename": "TranslationTag"
},
"productId": "limited-time-deal"
},
{
"name": {
"__typename": "TranslationTag",
"translation": "Booking.com pays"
},
"productId": "BSD",
"amount": {
"amountRounded": "€ 8",
"amountUnformatted": 8.00000000000009,
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amount": "€ 8"
},
"__typename": "DiscountDisplayIrene",
"description": {
"__typename": "TranslationTag",
"translation": "You’ll get a reduced rate when you pay online because Booking.com will pay part of the price."
},
"itemType": "total"
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 9.6,
"review_count": 324,
"label": "Exceptional",
"secondary_score": 9.8
},
"star_rating": 3,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/738525742.jpg?k=942fa21d58ea7cb253c079c47091199580c5e48c32357403ff750169c11b66a4&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"unitConfigurations": [
{
"unitTypeNames": [],
"nbUnits": 1,
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"name": "Double Room",
"unitTypeId": 9,
"unitId": 1105120702,
"nbBedrooms": 0,
"localizedArea": null,
"nbAllBeds": 1,
"nbKitchens": 0,
"nbLivingrooms": 0,
"apartmentRooms": [],
"bedConfigurations": [
{
"nbAllBeds": 1,
"__typename": "BedConfiguration",
"beds": [
{
"count": 1,
"__typename": "Bed",
"type": 2
}
]
}
]
}
],
"commonConfiguration": {
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"name": null,
"unitTypeNames": [],
"nbUnits": 1,
"nbLivingrooms": 0,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"type": 2,
"count": 1,
"__typename": "Bed"
}
],
"nbAllBeds": 1
}
],
"unitId": 0,
"localizedArea": null,
"nbBedrooms": 0,
"nbKitchens": 0,
"nbAllBeds": 1
}
},
"room_blocks": [
{
"room_id": "1105120702",
"occupancy": 0,
"policy_group_id": "383323613",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 103.04,
"currency": "EUR"
},
"original_price": {
"amount": 103.04,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": null,
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"__typename": "Policies",
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": false,
"showNoPrepayment": false
},
"badges": [
{
"tooltip": {
"__typename": "TranslationTag",
"translation": "You’re getting a reduced rate because this property has a limited-time deal running. These deals only last up to 48 hours."
},
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
},
"__typename": "BadgeDisplayIrene",
"style": "constructive",
"identifier": "Limited Time Deal"
}
]
},
{
"hotel_id": 5235859,
"page_name": "shivana-corner-living-space",
"name": "Blue Point Hotel",
"description": null,
"url": "https://www.booking.com/hotel/tr/shivana-corner-living-space.html",
"location": {
"address": "İstiklal Caddesi,Katip Mustafa Celebi mahallesi, Ipek Sokak no 21",
"city": "Beyoğlu",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Beyoglu, Istanbul",
"distance": "3.1 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 71.03",
"amount_rounded": "€ 71",
"amount_unformatted": 71.0300000000001,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 42.53 × 2 nights",
"amount": "€ 85.05",
"amount_rounded": "€ 85",
"amount_unformatted": 85.0500000000001,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesAggregated": {
"__typename": "PriceDisplayAggregatedIrene",
"amountPerStay": {
"amountRounded": "",
"amountUnformatted": 0,
"amount": "",
"currency": "",
"__typename": "PriceDisplayIrene"
},
"copy": {
"__typename": "TranslationTag",
"translation": null
}
},
"excludeChargesList": [],
"__typename": "ExcludeChargesIrene"
},
"discounts": [
{
"productId": "genius_discount_10",
"name": {
"translation": "Genius discount",
"__typename": "TranslationTag"
},
"itemType": "rate",
"__typename": "DiscountDisplayIrene",
"description": {
"__typename": "TranslationTag",
"translation": "Get this Genius member rate if you sign in or join Genius for free."
},
"amount": {
"amountUnformatted": 8.5000000000001,
"amountRounded": "€ 9",
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amount": "€ 8.50"
}
},
{
"productId": "BSD",
"name": {
"__typename": "TranslationTag",
"translation": "Booking.com pays"
},
"itemType": "total",
"__typename": "DiscountDisplayIrene",
"description": {
"translation": "You’ll get a reduced rate when you pay online because Booking.com will pay part of the price.",
"__typename": "TranslationTag"
},
"amount": {
"amountUnformatted": 5.52000000000009,
"amountRounded": "€ 6",
"__typename": "PriceDisplayIrene",
"currency": "EUR",
"amount": "€ 5.52"
}
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 7.2,
"review_count": 300,
"label": "Good",
"secondary_score": 0
},
"star_rating": null,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/687088870.jpg?k=03270c50a54399cf7270391ca7426d6081cb596145f1a597ccb54ff2f7bdd6ab&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"commonConfiguration": {
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"type": 1,
"count": 1,
"__typename": "Bed"
},
{
"type": 6,
"__typename": "Bed",
"count": 1
}
],
"nbAllBeds": 2
}
],
"nbLivingrooms": 0,
"nbAllBeds": 2,
"nbKitchens": 0,
"localizedArea": null,
"nbBedrooms": 0,
"unitId": 0,
"name": null,
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"nbUnits": 1,
"unitTypeNames": []
},
"unitConfigurations": [
{
"nbUnits": 1,
"unitTypeNames": [],
"unitTypeId": 7,
"name": "Classic Triple Room",
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"nbAllBeds": 2,
"nbKitchens": 0,
"localizedArea": null,
"nbBedrooms": 0,
"unitId": 523585902,
"bedConfigurations": [
{
"nbAllBeds": 2,
"__typename": "BedConfiguration",
"beds": [
{
"type": 1,
"__typename": "Bed",
"count": 1
},
{
"type": 6,
"__typename": "Bed",
"count": 1
}
]
}
],
"apartmentRooms": [],
"nbLivingrooms": 0
}
]
},
"room_blocks": [
{
"room_id": "523585902",
"occupancy": 2,
"policy_group_id": "332140404",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 71.03,
"currency": "EUR"
},
"original_price": {
"amount": 71.03,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": "We have 5 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"__typename": "Policies",
"showFreeCancellation": false,
"enableJapaneseUsersSpecialCase": null,
"showNoPrepayment": false
},
"badges": {
"showBhTravelCreditBadge": false,
"showSkiToDoor": false,
"showOnlineCheckinBadge": null,
"__typename": "CustomBadges"
}
},
{
"hotel_id": 363515,
"page_name": "bade-otel-adegstanbul",
"name": "Bade Boutique Hotel Kadıköy",
"description": null,
"url": "https://www.booking.com/hotel/tr/bade-otel-adegstanbul.html",
"location": {
"address": "Rasimpasa Mah. Org. Sahap Gurler Caddesi, No:24/A Kadıkoy",
"city": "Istanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Kadikoy, Istanbul",
"distance": "4.6 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 110",
"amount_rounded": "€ 110",
"amount_unformatted": 110,
"currency": "EUR"
},
"price_before_discount": {
"text": null,
"amount": "",
"amount_rounded": "",
"amount_unformatted": 0,
"currency": ""
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesList": [],
"excludeChargesAggregated": {
"amountPerStay": {
"amountUnformatted": 0,
"amountRounded": "",
"currency": "",
"__typename": "PriceDisplayIrene",
"amount": ""
},
"__typename": "PriceDisplayAggregatedIrene",
"copy": {
"__typename": "TranslationTag",
"translation": null
}
}
},
"discounts": [],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 8.1,
"review_count": 220,
"label": "Very Good",
"secondary_score": 0
},
"star_rating": null,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/610506774.jpg?k=15c9a11d1e7cee10883721063210e548f2ef6c3f3e471092bed034601c9d5469&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"unitConfigurations": [
{
"name": "Double Room",
"unitTypeId": 9,
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"nbUnits": 1,
"unitTypeNames": [],
"bedConfigurations": [
{
"nbAllBeds": 1,
"beds": [
{
"type": 2,
"__typename": "Bed",
"count": 1
}
],
"__typename": "BedConfiguration"
}
],
"apartmentRooms": [],
"nbLivingrooms": 0,
"nbAllBeds": 1,
"nbKitchens": 0,
"nbBedrooms": 0,
"localizedArea": null,
"unitId": 36351501
}
],
"commonConfiguration": {
"localizedArea": null,
"nbBedrooms": 0,
"nbAllBeds": 1,
"nbKitchens": 0,
"unitId": 0,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"__typename": "Bed",
"count": 1,
"type": 2
}
],
"nbAllBeds": 1
}
],
"nbLivingrooms": 0,
"unitTypeNames": [],
"nbUnits": 1,
"name": null,
"__typename": "UnitConfiguration",
"nbBathrooms": 0
}
},
"room_blocks": [
{
"room_id": "36351501",
"occupancy": 2,
"policy_group_id": "438705840",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 110,
"currency": "EUR"
},
"original_price": {
"amount": 110,
"currency": "EUR"
},
"free_cancellation_until": "2026-10-12T21:00:00Z",
"cancellation_type": null,
"only_left_message": "We have 1 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": false,
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": true,
"__typename": "Policies"
},
"badges": {
"showSkiToDoor": false,
"showOnlineCheckinBadge": null,
"__typename": "CustomBadges",
"showBhTravelCreditBadge": false
}
},
{
"hotel_id": 2963143,
"page_name": "istanroom-by-keo",
"name": "Istanroom by Keo",
"description": null,
"url": "https://www.booking.com/hotel/tr/istanroom-by-keo.html",
"location": {
"address": "Cumhuriyet Mah. Ergenekon Cad. No:32 Şişli",
"city": "İstanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Sisli, Istanbul",
"distance": "5 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 130.65",
"amount_rounded": "€ 131",
"amount_unformatted": 130.6501,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 110 × 2 nights",
"amount": "€ 220",
"amount_rounded": "€ 220",
"amount_unformatted": 220,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesAggregated": {
"amountPerStay": {
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": "",
"amountRounded": "",
"amountUnformatted": 0
},
"__typename": "PriceDisplayAggregatedIrene",
"copy": {
"translation": null,
"__typename": "TranslationTag"
}
},
"excludeChargesList": []
},
"discounts": [
{
"itemType": "rate",
"__typename": "DiscountDisplayIrene",
"description": {
"translation": "This property is offering a discount on select stays between Oct 1, 2026 and Jan 7, 2027.",
"__typename": "TranslationTag"
},
"amount": {
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amount": "€ 79.20",
"amountRounded": "€ 79",
"amountUnformatted": 79.2000000000001
},
"productId": "campaign_35",
"name": {
"__typename": "TranslationTag",
"translation": "Late Escape Deal"
}
},
{
"itemType": "total",
"amount": {
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amount": "€ 10.15",
"amountUnformatted": 10.1500000000001,
"amountRounded": "€ 10"
},
"__typename": "DiscountDisplayIrene",
"description": {
"translation": "You’ll get a reduced rate when you pay online because Booking.com will pay part of the price.",
"__typename": "TranslationTag"
},
"productId": "BSD",
"name": {
"__typename": "TranslationTag",
"translation": "Booking.com pays"
}
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 9.5,
"review_count": 428,
"label": "Exceptional",
"secondary_score": 9.5
},
"star_rating": 3,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/196301945.jpg?k=1e0b41eb74cc16e990c5f2e182bb889fae01b878698880d2242fdd14f3864505&o=",
"room_configurations": {
"unitConfigurations": [
{
"nbUnits": 1,
"unitTypeNames": [],
"name": "Standard Twin Room",
"unitTypeId": 8,
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"nbKitchens": 0,
"nbAllBeds": 2,
"localizedArea": null,
"nbBedrooms": 0,
"unitId": 296314302,
"bedConfigurations": [
{
"nbAllBeds": 2,
"beds": [
{
"type": 1,
"__typename": "Bed",
"count": 2
}
],
"__typename": "BedConfiguration"
}
],
"apartmentRooms": [],
"nbLivingrooms": 0
}
],
"commonConfiguration": {
"unitTypeNames": [],
"nbUnits": 1,
"name": null,
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"nbBedrooms": 0,
"localizedArea": null,
"nbKitchens": 0,
"nbAllBeds": 2,
"unitId": 0,
"bedConfigurations": [
{
"nbAllBeds": 2,
"beds": [
{
"count": 2,
"__typename": "Bed",
"type": 1
}
],
"__typename": "BedConfiguration"
}
],
"nbLivingrooms": 0
},
"__typename": "MatchingUnitConfigurations"
},
"room_blocks": [
{
"room_id": "296314302",
"occupancy": 0,
"policy_group_id": "438271081",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 130.6501,
"currency": "EUR"
},
"original_price": {
"amount": 130.6501,
"currency": "EUR"
},
"free_cancellation_until": "2026-10-10T21:00:00Z",
"cancellation_type": null,
"only_left_message": null,
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": false,
"__typename": "Policies",
"showFreeCancellation": true,
"enableJapaneseUsersSpecialCase": null
},
"badges": [
{
"name": {
"__typename": "TranslationTag",
"translation": "Late Escape Deal"
},
"tooltip": {
"__typename": "TranslationTag",
"translation": "This property is offering a discount on select stays between Oct 1, 2026 and Jan 7, 2027."
},
"identifier": "Late Escape Campaign",
"__typename": "BadgeDisplayIrene",
"style": "constructive"
}
]
},
{
"hotel_id": 4555709,
"page_name": "royal-suites-sultanahmet",
"name": "Royal Suites Sultanahmet",
"description": null,
"url": "https://www.booking.com/hotel/tr/royal-suites-sultanahmet.html",
"location": {
"address": "küçük ayasofya mahallesi Şehsuvar Bey sokak no:2",
"city": "İstanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "0.6 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 66.14",
"amount_rounded": "€ 66",
"amount_unformatted": 66.1400000000001,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 39.60 × 2 nights",
"amount": "€ 79.20",
"amount_rounded": "€ 79",
"amount_unformatted": 79.2000000000001,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesAggregated": {
"amountPerStay": {
"currency": "",
"__typename": "PriceDisplayIrene",
"amount": "",
"amountRounded": "",
"amountUnformatted": 0
},
"__typename": "PriceDisplayAggregatedIrene",
"copy": {
"__typename": "TranslationTag",
"translation": null
}
},
"excludeChargesList": []
},
"discounts": [
{
"amount": {
"__typename": "PriceDisplayIrene",
"currency": "EUR",
"amount": "€ 7.92",
"amountRounded": "€ 8",
"amountUnformatted": 7.92000000000009
},
"__typename": "DiscountDisplayIrene",
"description": {
"translation": "Get this Genius member rate if you sign in or join Genius for free.",
"__typename": "TranslationTag"
},
"itemType": "rate",
"name": {
"translation": "Genius discount",
"__typename": "TranslationTag"
},
"productId": "genius_discount_10"
},
{
"name": {
"__typename": "TranslationTag",
"translation": "Booking.com pays"
},
"productId": "BSD",
"amount": {
"amountUnformatted": 5.14000000000009,
"amountRounded": "€ 5",
"amount": "€ 5.14",
"__typename": "PriceDisplayIrene",
"currency": "EUR"
},
"__typename": "DiscountDisplayIrene",
"description": {
"translation": "You’ll get a reduced rate when you pay online because Booking.com will pay part of the price.",
"__typename": "TranslationTag"
},
"itemType": "total"
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 8.3,
"review_count": 579,
"label": "Very Good",
"secondary_score": 0
},
"star_rating": null,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/180478600.jpg?k=48b6f645e87acd02f30f93ebabb1e91ee687a8b570cc837d29c88899942fa336&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"commonConfiguration": {
"nbUnits": 1,
"unitTypeNames": [],
"name": null,
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"nbAllBeds": 2,
"nbKitchens": 0,
"localizedArea": null,
"nbBedrooms": 0,
"unitId": 0,
"bedConfigurations": [
{
"beds": [
{
"__typename": "Bed",
"count": 2,
"type": 1
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 2
}
],
"nbLivingrooms": 0
},
"unitConfigurations": [
{
"nbUnits": 1,
"unitTypeNames": [],
"name": "Standard Twin Room",
"unitTypeId": 8,
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"nbKitchens": 0,
"nbAllBeds": 2,
"nbBedrooms": 0,
"localizedArea": null,
"unitId": 455570902,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"count": 2,
"__typename": "Bed",
"type": 1
}
],
"nbAllBeds": 2
}
],
"apartmentRooms": [],
"nbLivingrooms": 0
}
]
},
"room_blocks": [
{
"room_id": "455570902",
"occupancy": 2,
"policy_group_id": "138849886",
"package_id": "0",
"meal_plan_id": 2,
"final_price": {
"amount": 66.14,
"currency": "EUR"
},
"original_price": {
"amount": 66.14,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": "We have 1 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": false,
"__typename": "Policies",
"showNoPrepayment": false
},
"badges": {
"showBhTravelCreditBadge": false,
"__typename": "CustomBadges",
"showOnlineCheckinBadge": null,
"showSkiToDoor": false
}
},
{
"hotel_id": 6025977,
"page_name": "azzap-galata",
"name": "Azzap Hotel Galata",
"description": null,
"url": "https://www.booking.com/hotel/tr/azzap-galata.html",
"location": {
"address": "Arapcami Mahallesi Billur Sokak No:4",
"city": "Beyoğlu",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Beyoglu, Istanbul",
"distance": "1.7 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 231.61",
"amount_rounded": "€ 232",
"amount_unformatted": 231.6101,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 260 × 2 nights",
"amount": "€ 520",
"amount_rounded": "€ 520",
"amount_unformatted": 520,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesList": [],
"excludeChargesAggregated": {
"copy": {
"translation": null,
"__typename": "TranslationTag"
},
"__typename": "PriceDisplayAggregatedIrene",
"amountPerStay": {
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": "",
"amountUnformatted": 0,
"amountRounded": ""
}
}
},
"discounts": [
{
"itemType": "rate",
"description": {
"translation": "You're getting a discount because—for a limited time only—this property is offering reduced rates on rooms that match your search.",
"__typename": "TranslationTag"
},
"__typename": "DiscountDisplayIrene",
"amount": {
"amount": "€ 270.40",
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amountUnformatted": 270.4,
"amountRounded": "€ 270"
},
"productId": "limited-time-deal",
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
}
},
{
"name": {
"translation": "Booking.com pays",
"__typename": "TranslationTag"
},
"productId": "BSD",
"__typename": "DiscountDisplayIrene",
"description": {
"__typename": "TranslationTag",
"translation": "You’ll get a reduced rate when you pay online because Booking.com will pay part of the price."
},
"amount": {
"amountRounded": "€ 18",
"amountUnformatted": 17.9900000000001,
"amount": "€ 17.99",
"__typename": "PriceDisplayIrene",
"currency": "EUR"
},
"itemType": "total"
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 8.6,
"review_count": 2321,
"label": "Excellent",
"secondary_score": 9.4
},
"star_rating": 5,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/324404932.jpg?k=930dd4a67d69d3d542efeed9ffe53548435e2a0905d43bbad82ec1f04ff3f3d1&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"unitConfigurations": [
{
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"unitTypeId": 9,
"name": "Superior Double Room",
"unitTypeNames": [],
"nbUnits": 1,
"nbLivingrooms": 0,
"apartmentRooms": [],
"bedConfigurations": [
{
"nbAllBeds": 1,
"beds": [
{
"type": 6,
"count": 1,
"__typename": "Bed"
}
],
"__typename": "BedConfiguration"
}
],
"unitId": 602597707,
"localizedArea": null,
"nbBedrooms": 0,
"nbKitchens": 0,
"nbAllBeds": 1
}
],
"commonConfiguration": {
"unitId": 0,
"nbKitchens": 0,
"nbAllBeds": 1,
"localizedArea": null,
"nbBedrooms": 0,
"nbLivingrooms": 0,
"bedConfigurations": [
{
"beds": [
{
"count": 1,
"__typename": "Bed",
"type": 6
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 1
}
],
"nbUnits": 1,
"unitTypeNames": [],
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"name": null
}
},
"room_blocks": [
{
"room_id": "602597707",
"occupancy": 0,
"policy_group_id": "425775487",
"package_id": "0",
"meal_plan_id": 2,
"final_price": {
"amount": 231.6101,
"currency": "EUR"
},
"original_price": {
"amount": 231.6101,
"currency": "EUR"
},
"free_cancellation_until": "2026-10-14T11:00:00Z",
"cancellation_type": null,
"only_left_message": "We have 2 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"__typename": "Policies",
"showFreeCancellation": true,
"enableJapaneseUsersSpecialCase": null,
"showNoPrepayment": false
},
"badges": [
{
"tooltip": {
"translation": "You’re getting a reduced rate because this property has a limited-time deal running. These deals only last up to 48 hours.",
"__typename": "TranslationTag"
},
"name": {
"translation": "Limited-time Deal",
"__typename": "TranslationTag"
},
"style": "constructive",
"__typename": "BadgeDisplayIrene",
"identifier": "Limited Time Deal"
}
]
},
{
"hotel_id": 4441272,
"page_name": "miro-mansion",
"name": "Hotel Miro Mansion Old City",
"description": null,
"url": "https://www.booking.com/hotel/tr/miro-mansion.html",
"location": {
"address": "Mimar Hayrettin Mahallesi Cilavcı Sokak No:15/A Beyazıt /Fatih",
"city": "İstanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "0.8 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 88.86",
"amount_rounded": "€ 89",
"amount_unformatted": 88.8600000000001,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 171 × 2 nights",
"amount": "€ 342",
"amount_rounded": "€ 342",
"amount_unformatted": 342,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesList": [],
"excludeChargesAggregated": {
"copy": {
"translation": null,
"__typename": "TranslationTag"
},
"amountPerStay": {
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": "",
"amountUnformatted": 0,
"amountRounded": ""
},
"__typename": "PriceDisplayAggregatedIrene"
}
},
"discounts": [
{
"itemType": "rate",
"description": {
"__typename": "TranslationTag",
"translation": "You're getting a discount because—for a limited time only—this property is offering reduced rates on rooms that match your search."
},
"__typename": "DiscountDisplayIrene",
"amount": {
"amount": "€ 246.24",
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amountUnformatted": 246.24,
"amountRounded": "€ 246"
},
"productId": "limited-time-deal",
"name": {
"translation": "Limited-time Deal",
"__typename": "TranslationTag"
}
},
{
"itemType": "total",
"amount": {
"amount": "€ 6.90",
"__typename": "PriceDisplayIrene",
"currency": "EUR",
"amountRounded": "€ 7",
"amountUnformatted": 6.9000000000001
},
"__typename": "DiscountDisplayIrene",
"description": {
"__typename": "TranslationTag",
"translation": "You’ll get a reduced rate when you pay online because Booking.com will pay part of the price."
},
"productId": "BSD",
"name": {
"translation": "Booking.com pays",
"__typename": "TranslationTag"
}
}
],
"meal_plan": "Breakfast included",
"breakfast_included": true,
"review_score": {
"score": 8.1,
"review_count": 672,
"label": "Very Good",
"secondary_score": 0
},
"star_rating": 3,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/266151942.jpg?k=1849d0dfc2583b9caf10c30d27df34c68e07d87ecdbe07e2755399860060586e&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"unitConfigurations": [
{
"nbAllBeds": 2,
"nbKitchens": 0,
"localizedArea": null,
"nbBedrooms": 0,
"unitId": 444127202,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"type": 1,
"__typename": "Bed",
"count": 1
},
{
"type": 6,
"__typename": "Bed",
"count": 1
}
],
"nbAllBeds": 2
}
],
"apartmentRooms": [],
"nbLivingrooms": 0,
"nbUnits": 1,
"unitTypeNames": [],
"unitTypeId": 9,
"name": "Deluxe Room",
"nbBathrooms": 0,
"__typename": "UnitConfiguration"
}
],
"commonConfiguration": {
"nbKitchens": 0,
"nbAllBeds": 2,
"localizedArea": null,
"nbBedrooms": 0,
"unitId": 0,
"bedConfigurations": [
{
"beds": [
{
"type": 1,
"count": 1,
"__typename": "Bed"
},
{
"type": 6,
"__typename": "Bed",
"count": 1
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 2
}
],
"nbLivingrooms": 0,
"nbUnits": 1,
"unitTypeNames": [],
"name": null,
"__typename": "UnitConfiguration",
"nbBathrooms": 0
}
},
"room_blocks": [
{
"room_id": "444127202",
"occupancy": 2,
"policy_group_id": "133139463",
"package_id": "0",
"meal_plan_id": 1,
"final_price": {
"amount": 88.86,
"currency": "EUR"
},
"original_price": {
"amount": 88.86,
"currency": "EUR"
},
"free_cancellation_until": null,
"cancellation_type": null,
"only_left_message": "We have 1 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"__typename": "Policies",
"showFreeCancellation": false,
"enableJapaneseUsersSpecialCase": null,
"showNoPrepayment": false
},
"badges": [
{
"style": "constructive",
"__typename": "BadgeDisplayIrene",
"identifier": "Limited Time Deal",
"tooltip": {
"translation": "You’re getting a reduced rate because this property has a limited-time deal running. These deals only last up to 48 hours.",
"__typename": "TranslationTag"
},
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
}
}
]
},
{
"hotel_id": 451617,
"page_name": "the-bosphorus-houses",
"name": "The Bosphorus House",
"description": null,
"url": "https://www.booking.com/hotel/tr/the-bosphorus-houses.html",
"location": {
"address": "Aziz Mahmut Hudai Mah. Halk Cad. No: 44 Uskudar",
"city": "Istanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Uskudar, Istanbul",
"distance": "3.6 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 95.58",
"amount_rounded": "€ 96",
"amount_unformatted": 95.5800000000001,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 53.10 × 2 nights",
"amount": "€ 106.20",
"amount_rounded": "€ 106",
"amount_unformatted": 106.2,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesAggregated": {
"copy": {
"translation": null,
"__typename": "TranslationTag"
},
"__typename": "PriceDisplayAggregatedIrene",
"amountPerStay": {
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": "",
"amountRounded": "",
"amountUnformatted": 0
}
},
"excludeChargesList": [],
"__typename": "ExcludeChargesIrene"
},
"discounts": [
{
"productId": "genius_discount_10",
"name": {
"__typename": "TranslationTag",
"translation": "Genius discount"
},
"itemType": "rate",
"description": {
"translation": "Get this Genius member rate if you sign in or join Genius for free.",
"__typename": "TranslationTag"
},
"__typename": "DiscountDisplayIrene",
"amount": {
"amountUnformatted": 10.6200000000001,
"amountRounded": "€ 11",
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amount": "€ 10.62"
}
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 7.5,
"review_count": 386,
"label": "Good",
"secondary_score": 0
},
"star_rating": 3,
"accommodation_type_id": 219,
"photo": "/xdata/images/hotel/square600/12453434.jpg?k=6aa4145b60545ed758cbb712e00969fe4bf4888160679e2f2a1cb12f685b552a&o=",
"room_configurations": {
"commonConfiguration": {
"name": null,
"nbBathrooms": 1,
"__typename": "UnitConfiguration",
"unitTypeNames": [
{
"__typename": "TranslationTag",
"translation": "Entire studio"
}
],
"nbUnits": 1,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"type": 2,
"__typename": "Bed",
"count": 1
}
],
"nbAllBeds": 1
}
],
"nbLivingrooms": 0,
"localizedArea": {
"localizedArea": "35",
"unit": "m²",
"__typename": "LocalizedArea"
},
"nbBedrooms": 0,
"nbAllBeds": 1,
"nbKitchens": 1,
"unitId": 0
},
"unitConfigurations": [
{
"nbLivingrooms": 0,
"bedConfigurations": [
{
"beds": [
{
"type": 2,
"count": 1,
"__typename": "Bed"
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 1
}
],
"apartmentRooms": [],
"unitId": 45161706,
"nbAllBeds": 1,
"nbKitchens": 1,
"localizedArea": {
"localizedArea": "35",
"__typename": "LocalizedArea",
"unit": "m²"
},
"nbBedrooms": 0,
"nbBathrooms": 1,
"__typename": "UnitConfiguration",
"name": "Premium Studio Garden View",
"unitTypeId": 12,
"nbUnits": 1,
"unitTypeNames": [
{
"__typename": "TranslationTag",
"translation": "Entire studio"
}
]
}
],
"__typename": "MatchingUnitConfigurations"
},
"room_blocks": [
{
"room_id": "45161706",
"occupancy": 0,
"policy_group_id": "202678579",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 95.58,
"currency": "EUR"
},
"original_price": {
"amount": 95.58,
"currency": "EUR"
},
"free_cancellation_until": "2026-10-06T21:00:00Z",
"cancellation_type": null,
"only_left_message": "We have 2 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"__typename": "Policies",
"showFreeCancellation": true,
"enableJapaneseUsersSpecialCase": null,
"showNoPrepayment": false
},
"badges": {
"showBhTravelCreditBadge": false,
"__typename": "CustomBadges",
"showOnlineCheckinBadge": null,
"showSkiToDoor": false
}
},
{
"hotel_id": 3726347,
"page_name": "the-first-ottoman-suits",
"name": "The First Ottoman Suites",
"description": null,
"url": "https://www.booking.com/hotel/tr/the-first-ottoman-suits.html",
"location": {
"address": "MUHSINE HATUN MAH.BUYUK KOMURCU SK.NO 13.",
"city": "istanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "0.9 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 147.90",
"amount_rounded": "€ 148",
"amount_unformatted": 147.9,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 145 × 2 nights",
"amount": "€ 290",
"amount_rounded": "€ 290",
"amount_unformatted": 290,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesAggregated": {
"copy": {
"translation": null,
"__typename": "TranslationTag"
},
"amountPerStay": {
"amount": "",
"currency": "",
"__typename": "PriceDisplayIrene",
"amountUnformatted": 0,
"amountRounded": ""
},
"__typename": "PriceDisplayAggregatedIrene"
},
"excludeChargesList": [],
"__typename": "ExcludeChargesIrene"
},
"discounts": [
{
"productId": "campaign_35",
"name": {
"__typename": "TranslationTag",
"translation": "Late Escape Deal"
},
"itemType": "rate",
"description": {
"translation": "This property is offering a discount on select stays between Oct 1, 2026 and Jan 7, 2027.",
"__typename": "TranslationTag"
},
"__typename": "DiscountDisplayIrene",
"amount": {
"amountRounded": "€ 142",
"amountUnformatted": 142.1,
"amount": "€ 142.10",
"__typename": "PriceDisplayIrene",
"currency": "EUR"
}
}
],
"meal_plan": "Breakfast included",
"breakfast_included": true,
"review_score": {
"score": 8.4,
"review_count": 967,
"label": "Very Good",
"secondary_score": 0
},
"star_rating": 4,
"accommodation_type_id": 219,
"photo": "/xdata/images/hotel/square600/157853858.jpg?k=9843c0eb601a56fb3fc8795049accffd869c9156c4e431e55a4ff1a1e494bbbf&o=",
"room_configurations": {
"__typename": "MatchingUnitConfigurations",
"commonConfiguration": {
"name": null,
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"unitTypeNames": [],
"nbUnits": 1,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"type": 3,
"__typename": "Bed",
"count": 1
}
],
"nbAllBeds": 1
}
],
"nbLivingrooms": 0,
"localizedArea": null,
"nbBedrooms": 0,
"nbKitchens": 0,
"nbAllBeds": 1,
"unitId": 0
},
"unitConfigurations": [
{
"nbUnits": 1,
"unitTypeNames": [],
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"unitTypeId": 9,
"name": "Studio Room with Sea View",
"unitId": 372634704,
"nbKitchens": 0,
"nbAllBeds": 1,
"localizedArea": null,
"nbBedrooms": 0,
"nbLivingrooms": 0,
"bedConfigurations": [
{
"nbAllBeds": 1,
"__typename": "BedConfiguration",
"beds": [
{
"type": 3,
"__typename": "Bed",
"count": 1
}
]
}
],
"apartmentRooms": []
}
]
},
"room_blocks": [
{
"room_id": "372634704",
"occupancy": 2,
"policy_group_id": "331263597",
"package_id": "0",
"meal_plan_id": 1,
"final_price": {
"amount": 147.9,
"currency": "EUR"
},
"original_price": {
"amount": 147.9,
"currency": "EUR"
},
"free_cancellation_until": "2026-10-12T21:00:00Z",
"cancellation_type": null,
"only_left_message": "We have 1 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showFreeCancellation": true,
"enableJapaneseUsersSpecialCase": null,
"__typename": "Policies",
"showNoPrepayment": true
},
"badges": [
{
"identifier": "Late Escape Campaign",
"__typename": "BadgeDisplayIrene",
"style": "constructive",
"name": {
"translation": "Late Escape Deal",
"__typename": "TranslationTag"
},
"tooltip": {
"translation": "This property is offering a discount on select stays between Oct 1, 2026 and Jan 7, 2027.",
"__typename": "TranslationTag"
}
}
]
},
{
"hotel_id": 544594,
"page_name": "radisson-blu-istanbul-pera",
"name": "Radisson Blu Hotel Istanbul Pera",
"description": null,
"url": "https://www.booking.com/hotel/tr/radisson-blu-istanbul-pera.html",
"location": {
"address": "Evliya Celebi Mah. Refik Saydam Cad. No 19 Tepebasi Taksim",
"city": "Istanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Beyoglu, Istanbul",
"distance": "2.5 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 360",
"amount_rounded": "€ 360",
"amount_unformatted": 360,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 200 × 2 nights",
"amount": "€ 400",
"amount_rounded": "€ 400",
"amount_unformatted": 400,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"excludeChargesList": [],
"excludeChargesAggregated": {
"copy": {
"__typename": "TranslationTag",
"translation": null
},
"amountPerStay": {
"amountUnformatted": 0,
"amountRounded": "",
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": ""
},
"__typename": "PriceDisplayAggregatedIrene"
},
"__typename": "ExcludeChargesIrene"
},
"discounts": [
{
"itemType": "rate",
"amount": {
"amount": "€ 40",
"currency": "EUR",
"__typename": "PriceDisplayIrene",
"amountRounded": "€ 40",
"amountUnformatted": 40.0000000000001
},
"description": {
"translation": "Get this Genius member rate if you sign in or join Genius for free.",
"__typename": "TranslationTag"
},
"__typename": "DiscountDisplayIrene",
"productId": "genius_discount_10",
"name": {
"translation": "Genius discount",
"__typename": "TranslationTag"
}
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 8.7,
"review_count": 2864,
"label": "Excellent",
"secondary_score": 0
},
"star_rating": 5,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/784360129.jpg?k=6fd3cfc41df73b1f052bf0cb384d9fe2ab458e7334bb7488cae2ae37d1ca093f&o=",
"room_configurations": {
"commonConfiguration": {
"nbUnits": 1,
"unitTypeNames": [],
"name": null,
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"nbAllBeds": 2,
"nbKitchens": 0,
"localizedArea": null,
"nbBedrooms": 0,
"unitId": 0,
"bedConfigurations": [
{
"nbAllBeds": 1,
"__typename": "BedConfiguration",
"beds": [
{
"__typename": "Bed",
"count": 1,
"type": 6
}
]
},
{
"beds": [
{
"__typename": "Bed",
"count": 2,
"type": 1
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 2
}
],
"nbLivingrooms": 0
},
"unitConfigurations": [
{
"nbUnits": 1,
"unitTypeNames": [],
"unitTypeId": 7,
"name": "Standard Room",
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"nbKitchens": 0,
"nbAllBeds": 1,
"nbBedrooms": 0,
"localizedArea": null,
"unitId": 54459416,
"bedConfigurations": [
{
"nbAllBeds": 1,
"__typename": "BedConfiguration",
"beds": [
{
"type": 6,
"__typename": "Bed",
"count": 1
}
]
},
{
"beds": [
{
"type": 1,
"count": 2,
"__typename": "Bed"
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 2
}
],
"apartmentRooms": [],
"nbLivingrooms": 0
}
],
"__typename": "MatchingUnitConfigurations"
},
"room_blocks": [
{
"room_id": "54459416",
"occupancy": 2,
"policy_group_id": "298754136",
"package_id": "0",
"meal_plan_id": 2,
"final_price": {
"amount": 360,
"currency": "EUR"
},
"original_price": {
"amount": 360,
"currency": "EUR"
},
"free_cancellation_until": "2026-10-12T21:00:00Z",
"cancellation_type": null,
"only_left_message": "We have 6 left at this price",
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": true,
"__typename": "Policies",
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": true
},
"badges": {
"showBhTravelCreditBadge": false,
"showOnlineCheckinBadge": null,
"__typename": "CustomBadges",
"showSkiToDoor": false
}
},
{
"hotel_id": 14207280,
"page_name": "sistina-old-city",
"name": "Sistina Old City Hotel",
"description": null,
"url": "https://www.booking.com/hotel/tr/sistina-old-city.html",
"location": {
"address": "Hayriye Hanım Sokak No:8",
"city": "Fatih",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "1.4 km from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 124.80",
"amount_rounded": "€ 125",
"amount_unformatted": 124.8,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 160 × 2 nights",
"amount": "€ 320",
"amount_rounded": "€ 320",
"amount_unformatted": 320,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesList": [],
"excludeChargesAggregated": {
"copy": {
"__typename": "TranslationTag",
"translation": null
},
"__typename": "PriceDisplayAggregatedIrene",
"amountPerStay": {
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": "",
"amountUnformatted": 0,
"amountRounded": ""
}
}
},
"discounts": [
{
"amount": {
"amountRounded": "€ 195",
"amountUnformatted": 195.2,
"__typename": "PriceDisplayIrene",
"currency": "EUR",
"amount": "€ 195.20"
},
"__typename": "DiscountDisplayIrene",
"description": {
"__typename": "TranslationTag",
"translation": "You're getting a discount because—for a limited time only—this property is offering reduced rates on rooms that match your search."
},
"itemType": "rate",
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
},
"productId": "limited-time-deal"
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 9.3,
"review_count": 1020,
"label": "Wonderful",
"secondary_score": 0
},
"star_rating": 4,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/696596738.jpg?k=5e5756f7c01f6011f978ca820c132d60dbcf129a9b6cda4caa9b5c5f30d4cc2d&o=",
"room_configurations": {
"commonConfiguration": {
"name": null,
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"unitTypeNames": [],
"nbUnits": 1,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"__typename": "Bed",
"count": 1,
"type": 2
}
],
"nbAllBeds": 1
}
],
"nbLivingrooms": 0,
"nbBedrooms": 0,
"localizedArea": null,
"nbKitchens": 0,
"nbAllBeds": 1,
"unitId": 0
},
"unitConfigurations": [
{
"unitId": 1420728001,
"nbKitchens": 0,
"nbAllBeds": 1,
"localizedArea": null,
"nbBedrooms": 0,
"nbLivingrooms": 0,
"bedConfigurations": [
{
"beds": [
{
"type": 2,
"count": 1,
"__typename": "Bed"
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 1
}
],
"apartmentRooms": [],
"nbUnits": 1,
"unitTypeNames": [],
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"unitTypeId": 9,
"name": "Superior Double Room"
}
],
"__typename": "MatchingUnitConfigurations"
},
"room_blocks": [
{
"room_id": "1420728001",
"occupancy": 0,
"policy_group_id": "414278400",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 124.8,
"currency": "EUR"
},
"original_price": {
"amount": 124.8,
"currency": "EUR"
},
"free_cancellation_until": "2026-10-11T21:00:00Z",
"cancellation_type": null,
"only_left_message": null,
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": true,
"__typename": "Policies",
"enableJapaneseUsersSpecialCase": null,
"showFreeCancellation": true
},
"badges": [
{
"tooltip": {
"__typename": "TranslationTag",
"translation": "You’re getting a reduced rate because this property has a limited-time deal running. These deals only last up to 48 hours."
},
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
},
"__typename": "BadgeDisplayIrene",
"style": "constructive",
"identifier": "Limited Time Deal"
}
]
},
{
"hotel_id": 335840,
"page_name": "vogue-hotel-supreme-istanbul",
"name": "Sura Luxury Milion & Spa",
"description": null,
"url": "https://www.booking.com/hotel/tr/vogue-hotel-supreme-istanbul.html",
"location": {
"address": "Alemdar Mah. Yerebatan Cad. No:13 Sultanahmet",
"city": "Istanbul",
"country_code": "tr",
"latitude": null,
"longitude": null,
"display": "Fatih, Istanbul",
"distance": "250 m from downtown",
"geo_distance_meters": null
},
"price": {
"text": "Total",
"amount": "€ 351.15",
"amount_rounded": "€ 351",
"amount_unformatted": 351.15,
"currency": "EUR"
},
"price_before_discount": {
"text": "€ 371 × 2 nights",
"amount": "€ 742",
"amount_rounded": "€ 742",
"amount_unformatted": 742,
"currency": "EUR"
},
"charges_info": "Includes taxes and fees",
"excluded_charges": {
"__typename": "ExcludeChargesIrene",
"excludeChargesAggregated": {
"copy": {
"__typename": "TranslationTag",
"translation": null
},
"amountPerStay": {
"amountUnformatted": 0,
"amountRounded": "",
"__typename": "PriceDisplayIrene",
"currency": "",
"amount": ""
},
"__typename": "PriceDisplayAggregatedIrene"
},
"excludeChargesList": []
},
"discounts": [
{
"name": {
"translation": "Limited-time Deal",
"__typename": "TranslationTag"
},
"productId": "limited-time-deal",
"description": {
"translation": "You're getting a discount because—for a limited time only—this property is offering reduced rates on rooms that match your search.",
"__typename": "TranslationTag"
},
"__typename": "DiscountDisplayIrene",
"amount": {
"amount": "€ 363.58",
"__typename": "PriceDisplayIrene",
"currency": "EUR",
"amountRounded": "€ 364",
"amountUnformatted": 363.58
},
"itemType": "rate"
},
{
"itemType": "total",
"description": {
"__typename": "TranslationTag",
"translation": "You’ll get a reduced rate when you pay online because Booking.com will pay part of the price."
},
"__typename": "DiscountDisplayIrene",
"amount": {
"__typename": "PriceDisplayIrene",
"currency": "EUR",
"amount": "€ 27.27",
"amountRounded": "€ 27",
"amountUnformatted": 27.2700000000001
},
"productId": "BSD",
"name": {
"__typename": "TranslationTag",
"translation": "Booking.com pays"
}
}
],
"meal_plan": null,
"breakfast_included": false,
"review_score": {
"score": 8.8,
"review_count": 1185,
"label": "Excellent",
"secondary_score": 9.9
},
"star_rating": null,
"accommodation_type_id": 204,
"photo": "/xdata/images/hotel/square600/920891483.jpg?k=9ffaf89da551eda739ca0749263a7920814297073b9f4e9ee9810ffe7d90adff&o=",
"room_configurations": {
"commonConfiguration": {
"unitId": 0,
"nbKitchens": 0,
"nbAllBeds": 2,
"nbBedrooms": 0,
"localizedArea": null,
"nbLivingrooms": 0,
"bedConfigurations": [
{
"__typename": "BedConfiguration",
"beds": [
{
"__typename": "Bed",
"count": 2,
"type": 1
}
],
"nbAllBeds": 2
}
],
"nbUnits": 1,
"unitTypeNames": [],
"__typename": "UnitConfiguration",
"nbBathrooms": 0,
"name": null
},
"unitConfigurations": [
{
"nbBathrooms": 0,
"__typename": "UnitConfiguration",
"unitTypeId": 8,
"name": "Deluxe Twin Room",
"nbUnits": 1,
"unitTypeNames": [],
"nbLivingrooms": 0,
"bedConfigurations": [
{
"beds": [
{
"count": 2,
"__typename": "Bed",
"type": 1
}
],
"__typename": "BedConfiguration",
"nbAllBeds": 2
}
],
"apartmentRooms": [],
"unitId": 33584010,
"nbKitchens": 0,
"nbAllBeds": 2,
"nbBedrooms": 0,
"localizedArea": null
}
],
"__typename": "MatchingUnitConfigurations"
},
"room_blocks": [
{
"room_id": "33584010",
"occupancy": 0,
"policy_group_id": "444279767",
"package_id": "0",
"meal_plan_id": 0,
"final_price": {
"amount": 351.15,
"currency": "EUR"
},
"original_price": {
"amount": 351.15,
"currency": "EUR"
},
"free_cancellation_until": "2026-10-10T21:00:00Z",
"cancellation_type": null,
"only_left_message": null,
"available_count_hint": null,
"meal_plan": null,
"breakfast_included": false,
"taxes_and_charges": []
}
],
"policies": {
"showNoPrepayment": false,
"showFreeCancellation": true,
"enableJapaneseUsersSpecialCase": null,
"__typename": "Policies"
},
"badges": [
{
"identifier": "Limited Time Deal",
"style": "constructive",
"__typename": "BadgeDisplayIrene",
"name": {
"__typename": "TranslationTag",
"translation": "Limited-time Deal"
},
"tooltip": {
"translation": "You’re getting a reduced rate because this property has a limited-time deal running. These deals only last up to 48 hours.",
"__typename": "TranslationTag"
}
}
]
}
],
"count": 25,
"pagination": {
"per_page": 25,
"total": 3317,
"offset": 0,
"page": 1,
"has_more": true,
"next_page": 2
},
"applied": {
"sort_by": "top_picks",
"filters": []
}
}
}Why this is hard manually
Hotel prices are not a property of a hotel. They are a property of a hotel, a date range, an occupancy and a currency, and any pipeline that stores 'the price of the Hotel X' without all four is storing a number that means nothing next week. Booking.com's own result cards make this easy to forget because they show one big figure.
The second thing that trips people is the review score. Booking uses a 0-10 scale, not 0-5 and not a percentage - our Paris search returned scores of 5.1, 4.4, 8.6, 3.9 and 2.7 in the same result set. Anyone who assumes five-star semantics will read 8.6 as impossible and 4.4 as mediocre, when 4.4 is genuinely poor and 8.6 is good.
The third is that Booking's search surface is stingier than its detail surface in ways that are not signposted. We measured latitude and longitude as null on all 25 search results, on both of our searches. The hotels obviously have coordinates. The search cards simply do not carry them.
Why ReefAPI solves it
Filters are echoed back after normalization, which is the fastest way to learn what your parameter actually became. We sent min_rating:8 and the response's applied block read filters: ['review_score=80'] - Booking works in a 0-100 space internally and we translate. All 25 returned hotels scored 8.0 or above, so the filter did what it said. sort_by is echoed the same way.
Prices come in three forms so you never have to parse a symbol out of a string: amount 'US$120.43' for display, amount_rounded 'US$120' for compact UI, and amount_unformatted 120.429474011055 for arithmetic. The unformatted value really does carry full float precision. price.text tells you what the number covers - 'Total' means the whole stay, not per night.
Absent is not zero here, and the response makes that visible in an awkward way worth knowing about. When a hotel has no discount, price_before_discount comes back with amount '' (empty string), amount_unformatted 0.0 and currency '' rather than null. Test on the currency or the empty string, never on the number, or every undiscounted hotel will look like it dropped to zero.
star_rating is null far more often than you would expect - 17 of our 25 Paris results had none - because apartments, hostels and many independent properties are not star-rated at all. That is a real fact about the inventory, not a gap in the data. review_score is the field with near-universal coverage.
photo is a Booking-relative path, not a URL: '/xdata/images/hotel/square600/273422308.jpg?k=...&o='. Prefix it with Booking's image host before you put it in an img tag. We pass it through as delivered rather than inventing a host that might change.
Some blocks are passed through from Booking's own GraphQL rather than reshaped - badges, discounts, policies and excluded_charges still carry __typename markers and TranslationTag wrappers. That is deliberate: reshaping them would mean guessing at fields that Booking adds and removes without notice, and a guess in a price breakdown is worse than a verbose object. The fields we do normalize - hotel_id, page_name, price, review_score, room_blocks - are the ones stable enough to promise.
Two operational notes from our own runs. The first call to a cold engine returned RATE_LIMITED with the message "'booking' is warming up - retry shortly" and retryable true; retrying immediately succeeded. And latency dropped from 14.1 seconds on the cold run to 1.4 seconds warm, so measure throughput on the second call, not the first. meta.completeness_pct read 100.0 on a response where all 25 coordinate pairs were null, because completeness_basis counts a core set of 176 field slots rather than every field in the payload - read completeness_basis, not just the percentage.
Questions developers ask
Is the review score out of 5 or out of 10?
Out of 10. Our single Paris result set contained 2.7, 3.9, 5.1, 8.6 and 9.2. If you send min_rating:8 we translate it to Booking's internal review_score=80 and echo that back in the applied block.
Why are latitude and longitude null?
Because Booking's search cards do not carry them - it was null on all 25 results across both of our searches. location.display ('17th arr., Paris') and location.distance ('4.5 km from downtown') are what search gives you. Use hotels/detail or geocode the address if you need points on a map.
Why is star_rating null on so many properties?
Because 17 of our 25 Paris results were apartments and independent properties that carry no official star classification. It is a fact about the inventory rather than a missing field. review_score is present nearly everywhere.
The photo field is not a URL. What do I prefix it with?
It is a Booking-relative path ('/xdata/images/hotel/square600/...jpg?k=...&o='). Prefix it with Booking's image host. We deliver the path unchanged rather than hard-coding a hostname that Booking can rotate.
Why does price_before_discount show 0.0 instead of null?
Because Booking sends an empty price object rather than omitting the field when there is no discount: amount '', amount_unformatted 0.0, currency ''. Branch on the empty currency string, not on the number, or every full-price hotel will look like a total markdown.
I got RATE_LIMITED saying the engine is warming up. Is that a quota problem?
No. It means the engine had no warm capacity at that instant. The error carries retryable:true and our immediate retry succeeded. Expect the first call after an idle period to be slow too - ours took 14.1 seconds cold and 1.4 seconds warm.
Why do some fields still have __typename in them?
badges, discounts, policies and excluded_charges are passed through from Booking's own payload. Those blocks change shape often, and inventing a stable schema over them would mean silently dropping fields from a price breakdown. The normalized fields are the ones we can promise will not move.