Search property-focused accommodation
curl --request POST \
--url https://realtycrawl.dev/v1/stays/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"platforms": [
"<string>"
],
"location": {
"kind": "text",
"query": "<string>",
"country": "<string>"
},
"check_in": "2023-12-25",
"check_out": "2023-12-25",
"guests": {
"adults": 15,
"children_ages": [
8
],
"infants": 1,
"pets": 1
},
"currency": "<string>"
}
'import requests
url = "https://realtycrawl.dev/v1/stays/search"
payload = {
"platforms": ["<string>"],
"location": {
"kind": "text",
"query": "<string>",
"country": "<string>"
},
"check_in": "2023-12-25",
"check_out": "2023-12-25",
"guests": {
"adults": 15,
"children_ages": [8],
"infants": 1,
"pets": 1
},
"currency": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
platforms: ['<string>'],
location: {kind: 'text', query: '<string>', country: '<string>'},
check_in: '2023-12-25',
check_out: '2023-12-25',
guests: {adults: 15, children_ages: [8], infants: 1, pets: 1},
currency: '<string>'
})
};
fetch('https://realtycrawl.dev/v1/stays/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "<string>",
"source": {
"platform": "<string>",
"provider": "<string>",
"observed_at": "2023-11-07T05:31:56Z",
"access_class": "public_portal",
"country": "<string>",
"native_id": "<string>",
"url": "<string>",
"source_updated_at": "2023-11-07T05:31:56Z",
"retrieved_at": "2023-11-07T05:31:56Z"
},
"property": {
"id": "<string>",
"address": {
"country": "<string>",
"formatted": "<string>",
"line1": "<string>",
"unit": "<string>",
"city": "<string>",
"region": "<string>",
"postal_code": "<string>",
"original_text": "<string>"
},
"property_type": "<string>",
"geometry": {
"latitude": 0,
"longitude": 0,
"precision": "exact",
"crs": "EPSG:4326"
},
"bedrooms": 123,
"rooms": 123,
"bathrooms": 123,
"areas": [
{
"value": 123,
"unit": "sqm",
"basis": "living",
"original_text": "<string>",
"normalized_sqm": 123
}
],
"layout": "<string>",
"year_built": 123
},
"accommodation_type": "entire_home",
"name": "<string>",
"guest_capacity": 123,
"extensions": {}
}
],
"meta": {
"request_id": "<string>",
"schema_version": "<string>",
"generated_at": "2023-11-07T05:31:56Z",
"completeness": "complete",
"sources": [
{
"platform": "<string>",
"status": "success",
"provider": "<string>",
"error_code": "<string>",
"truncated": true,
"observed_at": "2023-11-07T05:31:56Z"
}
],
"warnings": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"pagination": {
"next_cursor": "<string>",
"has_more": true,
"returned": 123,
"total": 123,
"total_relation": "exact"
},
"property_groups": [
{
"property_id": "<string>",
"listing_ids": [
"<string>"
],
"match_method": "<string>",
"status": "matched",
"confidence": 123
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"details": [
{
"platform": "<string>",
"status": "success",
"provider": "<string>",
"error_code": "<string>",
"truncated": true,
"observed_at": "2023-11-07T05:31:56Z"
}
]
},
"request_id": "<string>"
}Stays
Search property-focused accommodation
Date-specific, read-only Airbnb London, Vrbo Orlando, Agoda Bangkok, Trip.com Tokyo and Booking.com Paris stay observations. One matching platform and documented source_region per request; two adults, no children/infants/pets. Currency GBP for Airbnb; USD for Vrbo, Agoda, Trip.com and Booking.com. Stays of 1–30 nights, limit 1–50. Costs 50 credits. No booking guarantee, reviews, full availability calendar, cursor or additional filters. Booking Paris requires explicit limit1 and uses the provider-documented Paris destination ID; free-text autocomplete is not used. No unique returned hotel settles404 withzero credits.
POST
/
v1
/
stays
/
search
Search property-focused accommodation
curl --request POST \
--url https://realtycrawl.dev/v1/stays/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"platforms": [
"<string>"
],
"location": {
"kind": "text",
"query": "<string>",
"country": "<string>"
},
"check_in": "2023-12-25",
"check_out": "2023-12-25",
"guests": {
"adults": 15,
"children_ages": [
8
],
"infants": 1,
"pets": 1
},
"currency": "<string>"
}
'import requests
url = "https://realtycrawl.dev/v1/stays/search"
payload = {
"platforms": ["<string>"],
"location": {
"kind": "text",
"query": "<string>",
"country": "<string>"
},
"check_in": "2023-12-25",
"check_out": "2023-12-25",
"guests": {
"adults": 15,
"children_ages": [8],
"infants": 1,
"pets": 1
},
"currency": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
platforms: ['<string>'],
location: {kind: 'text', query: '<string>', country: '<string>'},
check_in: '2023-12-25',
check_out: '2023-12-25',
guests: {adults: 15, children_ages: [8], infants: 1, pets: 1},
currency: '<string>'
})
};
fetch('https://realtycrawl.dev/v1/stays/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "<string>",
"source": {
"platform": "<string>",
"provider": "<string>",
"observed_at": "2023-11-07T05:31:56Z",
"access_class": "public_portal",
"country": "<string>",
"native_id": "<string>",
"url": "<string>",
"source_updated_at": "2023-11-07T05:31:56Z",
"retrieved_at": "2023-11-07T05:31:56Z"
},
"property": {
"id": "<string>",
"address": {
"country": "<string>",
"formatted": "<string>",
"line1": "<string>",
"unit": "<string>",
"city": "<string>",
"region": "<string>",
"postal_code": "<string>",
"original_text": "<string>"
},
"property_type": "<string>",
"geometry": {
"latitude": 0,
"longitude": 0,
"precision": "exact",
"crs": "EPSG:4326"
},
"bedrooms": 123,
"rooms": 123,
"bathrooms": 123,
"areas": [
{
"value": 123,
"unit": "sqm",
"basis": "living",
"original_text": "<string>",
"normalized_sqm": 123
}
],
"layout": "<string>",
"year_built": 123
},
"accommodation_type": "entire_home",
"name": "<string>",
"guest_capacity": 123,
"extensions": {}
}
],
"meta": {
"request_id": "<string>",
"schema_version": "<string>",
"generated_at": "2023-11-07T05:31:56Z",
"completeness": "complete",
"sources": [
{
"platform": "<string>",
"status": "success",
"provider": "<string>",
"error_code": "<string>",
"truncated": true,
"observed_at": "2023-11-07T05:31:56Z"
}
],
"warnings": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"pagination": {
"next_cursor": "<string>",
"has_more": true,
"returned": 123,
"total": 123,
"total_relation": "exact"
},
"property_groups": [
{
"property_id": "<string>",
"listing_ids": [
"<string>"
],
"match_method": "<string>",
"status": "matched",
"confidence": 123
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"details": [
{
"platform": "<string>",
"status": "success",
"provider": "<string>",
"error_code": "<string>",
"truncated": true,
"observed_at": "2023-11-07T05:31:56Z"
}
]
},
"request_id": "<string>"
}Check live capabilities before calling this operation. A documented contract does not imply active coverage for every source or country.
Authorizations
Body
application/json
Required array length:
1 - 5 elements- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Pattern:
^[A-Z]{3}$Required range:
1 <= x <= 100⌘I