Search by hotel IDs
https://api.worldota.net/api/b2b/v3/search/serp/hotels/
The call gets hotels’ rates by the SERP mechanism.
- Let users choose the rates from this call response isn’t recommended.
- A full match with a response from the Retrieve hotelpage request isn’t expected.
Request example
curl --user '<KEY_ID>:<API_KEY>' 'https://api.worldota.net/api/b2b/v3/search/serp/hotels/' \
--header 'Content-Type: application/json' \
--data '{
"checkin": "2025-10-22",
"checkout": "2025-10-25",
"residency": "gb",
"language": "en",
"guests": [
{
"adults": 2,
"children": []
}
],
"ids": [
"city_rose_hotel_suites",
"corendon_vitality_hotel_amsterdam",
"nova_inn_inuvik"
],
"hids": [
6291690,
6291712,
6291761
],
"currency": "EUR"
}'
Request body
Response
Response example
{
"data": {
"hotels": [
{
"id": "city_rose_hotel_suites",
"hid": 6291690,
"rates": [
{
"match_hash": "m-f04b100f-1a6c-5fd3-b05a-e890d4d3d1bc",
"search_hash": "sr-01997bfc-ab87-71dc-bc48-3cff82a02f72",
"daily_prices": [
"119.00",
"119.00",
"119.00"
],
"meal": "breakfast",
"meal_data": {
"value": "breakfast",
"has_breakfast": true,
"no_child_meal": false
},
"payment_options": {
"payment_types": [
{
"amount": "303.00",
"show_amount": "357.00",
"currency_code": "EUR",
"show_currency_code": "USD",
"by": null,
"is_need_credit_card_data": false,
"is_need_cvc": false,
"type": "deposit",
"vat_data": {
"included": false,
"applied": false,
"amount": "0.00",
"currency_code": "USD",
"value": "0.00"
},
"tax_data": {
"taxes": [
{
"name": "service_fee",
"included_by_supplier": true,
"amount": "23.36",
"currency_code": "USD"
}
]
},
"perks": {},
"commission_info": {
"show": {
"amount_gross": "357.00",
"amount_net": "357.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "303.00",
"amount_net": "303.00",
"amount_commission": "0.00"
}
},
"cancellation_penalties": {
"policies": [
{
"start_at": null,
"end_at": "2025-10-18T15:59:00",
"amount_charge": "0.00",
"amount_show": "0.00",
"commission_info": {
"show": {
"amount_gross": "0.00",
"amount_net": "0.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "0.00",
"amount_net": "0.00",
"amount_commission": "0.00"
}
}
},
{
"start_at": "2025-10-18T15:59:00",
"end_at": "2025-10-21T12:00:00",
"amount_charge": "101.00",
"amount_show": "119.00",
"commission_info": {
"show": {
"amount_gross": "119.00",
"amount_net": "119.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "101.00",
"amount_net": "101.00",
"amount_commission": "0.00"
}
}
},
{
"start_at": "2025-10-21T12:00:00",
"end_at": null,
"amount_charge": "303.00",
"amount_show": "357.00",
"commission_info": {
"show": {
"amount_gross": "357.00",
"amount_net": "357.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "303.00",
"amount_net": "303.00",
"amount_commission": "0.00"
}
}
}
],
"free_cancellation_before": "2025-10-18T15:59:00"
},
"recommended_price": null
}
]
},
"bar_rate_price_data": null,
"rg_ext": {
"class": 5,
"quality": 2,
"sex": 0,
"bathroom": 2,
"bedding": 3,
"family": 0,
"capacity": 2,
"club": 0,
"bedrooms": 0,
"balcony": 0,
"view": 0,
"floor": 0
},
"room_name": "Standard Double Suite (full double bed) (bed type is subject to availability)",
"room_name_info": null,
"serp_filters": [
"has_bathroom"
],
"sell_price_limits": null,
"allotment": 1,
"amenities_data": [
"not-guaranteed",
"non-smoking"
],
"any_residency": false,
"deposit": null,
"no_show": null,
"room_data_trans": {
"main_room_type": "Standard Double Suite",
"main_name": "Standard Double Suite",
"bathroom": null,
"bedding_type": "full double bed",
"misc_room_type": "bed type is subject to availability"
},
"legal_info": null,
"is_package": false
}
],
"bar_price_data": null
},
{
"id": "corendon_vitality_hotel_amsterdam",
"hid": 6291712,
"rates": [
{
"match_hash": "m-7642b4c1-15c3-5653-9fb1-49c696f9c057",
"search_hash": "sr-01997bfc-abc4-7209-9641-950fb6a307e0",
"daily_prices": [
"198.67",
"198.67",
"198.67"
],
"meal": "nomeal",
"meal_data": {
"value": "nomeal",
"has_breakfast": false,
"no_child_meal": true
},
"payment_options": {
"payment_types": [
{
"amount": "507.00",
"show_amount": "596.00",
"currency_code": "EUR",
"show_currency_code": "USD",
"by": null,
"is_need_credit_card_data": false,
"is_need_cvc": false,
"type": "deposit",
"vat_data": {
"included": false,
"applied": false,
"amount": "0.00",
"currency_code": "EUR",
"value": "0.00"
},
"tax_data": {
"taxes": [
{
"name": "city_tax",
"included_by_supplier": false,
"amount": "53.10",
"currency_code": "EUR"
},
{
"name": "vat",
"included_by_supplier": true,
"amount": "49.21",
"currency_code": "USD"
}
]
},
"perks": {},
"commission_info": {
"show": {
"amount_gross": "596.00",
"amount_net": "596.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "507.00",
"amount_net": "507.00",
"amount_commission": "0.00"
}
},
"cancellation_penalties": {
"policies": [
{
"start_at": null,
"end_at": null,
"amount_charge": "507.00",
"amount_show": "596.00",
"commission_info": {
"show": {
"amount_gross": "596.00",
"amount_net": "596.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "507.00",
"amount_net": "507.00",
"amount_commission": "0.00"
}
}
}
],
"free_cancellation_before": null
},
"recommended_price": null
}
]
},
"bar_rate_price_data": null,
"rg_ext": {
"class": 3,
"quality": 2,
"sex": 0,
"bathroom": 2,
"bedding": 3,
"family": 0,
"capacity": 2,
"club": 0,
"bedrooms": 0,
"balcony": 0,
"view": 0,
"floor": 0
},
"room_name": "Standard Double room (full double bed) (bed type is subject to availability)",
"room_name_info": null,
"serp_filters": [
"has_bathroom"
],
"sell_price_limits": null,
"allotment": 1,
"amenities_data": [
"not-guaranteed",
"non-smoking"
],
"any_residency": false,
"deposit": null,
"no_show": null,
"room_data_trans": {
"main_room_type": "Standard Double room",
"main_name": "Standard Double room",
"bathroom": null,
"bedding_type": "full double bed",
"misc_room_type": "bed type is subject to availability"
},
"legal_info": null,
"is_package": false
},
{
"match_hash": "m-b164531e-e4d2-5bbd-890d-245a2884381d",
"search_hash": "sr-01997bfc-abc5-724a-a37e-ba05d2337dd3",
"daily_prices": [
"479.67",
"479.67",
"479.67"
],
"meal": "breakfast",
"meal_data": {
"value": "breakfast",
"has_breakfast": true,
"no_child_meal": false
},
"payment_options": {
"payment_types": [
{
"amount": "1224.00",
"show_amount": "1439.00",
"currency_code": "EUR",
"show_currency_code": "USD",
"by": null,
"is_need_credit_card_data": false,
"is_need_cvc": false,
"type": "deposit",
"vat_data": {
"included": false,
"applied": false,
"amount": "0.00",
"currency_code": "USD",
"value": "0.00"
},
"tax_data": {
"taxes": [
{
"name": "city_tax",
"included_by_supplier": false,
"amount": "129.78",
"currency_code": "EUR"
},
{
"name": "vat",
"included_by_supplier": true,
"amount": "118.82",
"currency_code": "USD"
}
]
},
"perks": {},
"commission_info": {
"show": {
"amount_gross": "1439.00",
"amount_net": "1439.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "1224.00",
"amount_net": "1224.00",
"amount_commission": "0.00"
}
},
"cancellation_penalties": {
"policies": [
{
"start_at": null,
"end_at": "2025-10-20T22:00:00",
"amount_charge": "0.00",
"amount_show": "0.00",
"commission_info": {
"show": {
"amount_gross": "0.00",
"amount_net": "0.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "0.00",
"amount_net": "0.00",
"amount_commission": "0.00"
}
}
},
{
"start_at": "2025-10-20T22:00:00",
"end_at": "2025-10-21T22:00:00",
"amount_charge": "408.00",
"amount_show": "480.00",
"commission_info": {
"show": {
"amount_gross": "480.00",
"amount_net": "480.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "408.00",
"amount_net": "408.00",
"amount_commission": "0.00"
}
}
},
{
"start_at": "2025-10-21T22:00:00",
"end_at": null,
"amount_charge": "1224.00",
"amount_show": "1439.00",
"commission_info": {
"show": {
"amount_gross": "1439.00",
"amount_net": "1439.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "1224.00",
"amount_net": "1224.00",
"amount_commission": "0.00"
}
}
}
],
"free_cancellation_before": "2025-10-20T22:00:00"
},
"recommended_price": null
}
]
},
"bar_rate_price_data": null,
"rg_ext": {
"class": 4,
"quality": 0,
"sex": 0,
"bathroom": 2,
"bedding": 3,
"family": 0,
"capacity": 2,
"club": 0,
"bedrooms": 0,
"balcony": 0,
"view": 0,
"floor": 0
},
"room_name": "Double Junior Suite (full double bed) (king size bed)",
"room_name_info": null,
"serp_filters": [
"has_bathroom"
],
"sell_price_limits": null,
"allotment": 1,
"amenities_data": [
"non-smoking",
"king-bed"
],
"any_residency": false,
"deposit": null,
"no_show": null,
"room_data_trans": {
"main_room_type": "Double Junior Suite",
"main_name": "Double Junior Suite",
"bathroom": null,
"bedding_type": "full double bed",
"misc_room_type": "king size bed"
},
"legal_info": null,
"is_package": false
},
{
"match_hash": "m-c9917065-82e5-54f8-8edd-59ce05552055",
"search_hash": "sr-01997bfc-abc4-7225-ae74-52bb7bf65efc",
"daily_prices": [
"488.33",
"488.33",
"488.33"
],
"meal": "breakfast",
"meal_data": {
"value": "breakfast",
"has_breakfast": true,
"no_child_meal": false
},
"payment_options": {
"payment_types": [
{
"amount": "1246.00",
"show_amount": "1465.00",
"currency_code": "EUR",
"show_currency_code": "USD",
"by": null,
"is_need_credit_card_data": false,
"is_need_cvc": false,
"type": "deposit",
"vat_data": {
"included": false,
"applied": false,
"amount": "0.00",
"currency_code": "EUR",
"value": "0.00"
},
"tax_data": {
"taxes": [
{
"name": "city_tax",
"included_by_supplier": false,
"amount": "133.59",
"currency_code": "EUR"
},
{
"name": "vat",
"included_by_supplier": true,
"amount": "120.96",
"currency_code": "USD"
}
]
},
"perks": {},
"commission_info": {
"show": {
"amount_gross": "1465.00",
"amount_net": "1465.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "1246.00",
"amount_net": "1246.00",
"amount_commission": "0.00"
}
},
"cancellation_penalties": {
"policies": [
{
"start_at": null,
"end_at": "2025-10-21T16:00:00",
"amount_charge": "0.00",
"amount_show": "0.00",
"commission_info": {
"show": {
"amount_gross": "0.00",
"amount_net": "0.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "0.00",
"amount_net": "0.00",
"amount_commission": "0.00"
}
}
},
{
"start_at": "2025-10-21T16:00:00",
"end_at": null,
"amount_charge": "1246.00",
"amount_show": "1465.00",
"commission_info": {
"show": {
"amount_gross": "1465.00",
"amount_net": "1465.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "1246.00",
"amount_net": "1246.00",
"amount_commission": "0.00"
}
}
}
],
"free_cancellation_before": "2025-10-21T16:00:00"
},
"recommended_price": null
}
]
},
"bar_rate_price_data": null,
"rg_ext": {
"class": 4,
"quality": 0,
"sex": 0,
"bathroom": 2,
"bedding": 3,
"family": 0,
"capacity": 2,
"club": 0,
"bedrooms": 0,
"balcony": 0,
"view": 0,
"floor": 0
},
"room_name": "Double Junior Suite (full double bed) (king size bed)",
"room_name_info": null,
"serp_filters": [
"has_bathroom"
],
"sell_price_limits": null,
"allotment": 1,
"amenities_data": [
"non-smoking",
"king-bed"
],
"any_residency": false,
"deposit": null,
"no_show": null,
"room_data_trans": {
"main_room_type": "Double Junior Suite",
"main_name": "Double Junior Suite",
"bathroom": null,
"bedding_type": "full double bed",
"misc_room_type": "king size bed"
},
"legal_info": null,
"is_package": false
},
{
"match_hash": "m-8354a149-991f-5e89-9467-a56012b86c85",
"search_hash": "sr-01997bfc-abc5-7241-865f-5883e7b8fb94",
"daily_prices": [
"506.33",
"506.33",
"506.33"
],
"meal": "breakfast",
"meal_data": {
"value": "breakfast",
"has_breakfast": true,
"no_child_meal": false
},
"payment_options": {
"payment_types": [
{
"amount": "1292.00",
"show_amount": "1519.00",
"currency_code": "EUR",
"show_currency_code": "USD",
"by": null,
"is_need_credit_card_data": false,
"is_need_cvc": false,
"type": "deposit",
"vat_data": {
"included": false,
"applied": false,
"amount": "0.00",
"currency_code": "EUR",
"value": "0.00"
},
"tax_data": {
"taxes": [
{
"name": "city_tax",
"included_by_supplier": false,
"amount": "138.47",
"currency_code": "EUR"
},
{
"name": "vat",
"included_by_supplier": true,
"amount": "125.42",
"currency_code": "USD"
}
]
},
"perks": {},
"commission_info": {
"show": {
"amount_gross": "1519.00",
"amount_net": "1519.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "1292.00",
"amount_net": "1292.00",
"amount_commission": "0.00"
}
},
"cancellation_penalties": {
"policies": [
{
"start_at": null,
"end_at": "2025-10-18T00:00:00",
"amount_charge": "0.00",
"amount_show": "0.00",
"commission_info": {
"show": {
"amount_gross": "0.00",
"amount_net": "0.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "0.00",
"amount_net": "0.00",
"amount_commission": "0.00"
}
}
},
{
"start_at": "2025-10-18T00:00:00",
"end_at": "2025-10-22T00:00:00",
"amount_charge": "427.00",
"amount_show": "502.00",
"commission_info": {
"show": {
"amount_gross": "502.00",
"amount_net": "502.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "427.00",
"amount_net": "427.00",
"amount_commission": "0.00"
}
}
},
{
"start_at": "2025-10-22T00:00:00",
"end_at": null,
"amount_charge": "1292.00",
"amount_show": "1519.00",
"commission_info": {
"show": {
"amount_gross": "1519.00",
"amount_net": "1519.00",
"amount_commission": "0.00"
},
"charge": {
"amount_gross": "1292.00",
"amount_net": "1292.00",
"amount_commission": "0.00"
}
}
}
],
"free_cancellation_before": "2025-10-18T00:00:00"
},
"recommended_price": null
}
]
},
"bar_rate_price_data": null,
"rg_ext": {
"class": 4,
"quality": 0,
"sex": 0,
"bathroom": 2,
"bedding": 3,
"family": 0,
"capacity": 2,
"club": 0,
"bedrooms": 0,
"balcony": 0,
"view": 0,
"floor": 0
},
"room_name": "Double Junior Suite (full double bed) (king size bed)",
"room_name_info": null,
"serp_filters": [
"has_bathroom"
],
"sell_price_limits": null,
"allotment": 1,
"amenities_data": [
"king-bed",
"non-smoking"
],
"any_residency": false,
"deposit": null,
"no_show": null,
"room_data_trans": {
"main_room_type": "Double Junior Suite",
"main_name": "Double Junior Suite",
"bathroom": null,
"bedding_type": "full double bed",
"misc_room_type": "king size bed"
},
"legal_info": null,
"is_package": false
}
],
"bar_price_data": null
}
],
"total_hotels": 2
},
"debug": {
"api_endpoint": {
"endpoint": "api/b2b/v3/search/serp/hotels",
"is_active": true,
"is_limited": true,
"remaining": 149,
"requests_number": 150,
"reset": "2025-09-24T13:50:00",
"seconds_number": 60
},
"request": {
"checkin": "2025-10-22",
"checkout": "2025-10-25",
"residency": "gb",
"language": "en",
"guests": [
{
"adults": 2,
"children": []
}
],
"hids": [
6291690,
6291712,
6291761
],
"currency": "USD"
},
"method": "POST",
"real_ip": "104.30.161.77",
"request_id": "ec027a81ac03a7b52720ea47f8df31b1",
"key_id": 1234,
"api_key_id": 1234,
"utcnow": "2025-09-24T13:49:39.360640"
},
"status": "ok",
"error": null
}
Errors
Invalid JSON
The error
field has the invalid_json_format
value. The debug.validation_error
field has the value specified in the headers below.
body_must_be_json
The passed JSON isn’t valid.
Invalid parameters or request body
For these, the error
field has the invalid_params
value. The debug.validation_error
field has the value specified in the headers below.
number of ids should be less than or equal to X
The item number of the ids
field must be between 1
and 300
.
date should be ISO8601 (YYYY-MM-DD)
The passed checkin
and checkout
fields have an invalid format. The valid format is YYYY-MM-DD
.
checkin date must be current or future date
The checkin
field value is in the past. Provide the current or future date.
checkin date must be less than or equal to 730 days since today
The checkin
field value should be no later than 730 days from the day of the request.
checkout date must be less than or equal to %d days since today
The checkout
field value should be no later than 30 days from the checkin
field value.
checkout date must be after checkin date
The checkout
field value should be later than the checkin
field value.
checkout cannot be later than X days since checkin
The checkout
field value should be no later than 30 days from the checkin
field value.
residency is required
The residency
field is required.
residency must be one of X
The residency
field has an invalid format. The valid format is in the ISO 3166-1 alpha-2.
unknown currency
The currency field has an invalid format. The valid format is in the ISO 4217.
early checkin date must be equal checkin date
The upsells.early_checkin.time
field value should be the same as the checkin
field value.
late checkout date must be equal checkout date
The upsells.late_checkout.time
field value should be the same as the checkout
field value.
early checkin must be in datetime format
The checkin
field has an invalid format. The valid formats are:
2006-01-02
.2006-01-02 15:04
.2006-01-02T15:04
.2006-01-02 15:04:05
.2006-01-02T15:04:05
.2006-01-02T15:04:05-07:00
.2006-01-02T15:04:05Z07:00
.
late checkout must be in datetime format
The checkout
field has an invalid format. The valid formats are:
2006-01-02
.2006-01-02 15:04
.2006-01-02T15:04
.2006-01-02 15:04:05
.2006-01-02T15:04:05
.2006-01-02T15:04:05-07:00
.2006-01-02T15:04:05Z07:00
.
guests number must be positive
The guests
field value must be positive.
too many rooms, value should be no more than X
The item number of the guests
field must be between 1
and 9
.
adults number per room must be in range 1 to X inc
The adults
field value must be between 1
and 6
.
children number per room must be not greater then X
The children
field value must be between 1
and 4
.
child's age must be in range 0 to X incl
The age
field value must be between 0
and 17
.
Internal search error
The error
field has the core_search_error
value. The debug.validation_error
field has the null
value.
The error occurs if the ETG has an internal search error. The number of recurrent identical requests must be limited.