One key, many sources
Use the same credential across supported operations and check capabilities for each source.
Read bedroom, bathroom, area and price ranges collected with your saved rental advertisement. Get structured JSON through one RealtyCrawl API key.
Use a listing_id from your account’s supported Rentals.ca or Point2Homes search. Bedroom, bathroom, area and price ranges describe the source advertisement. They do not identify individual floor plans or confirm units available to rent. Unknown price periods remain null. This operation reads an account-owned retained observation. It does not refresh the source; inspect its collection time and retention limits. Check live capabilities for accepted inputs and availability before running your request.
Read bedroom, bathroom, area and price ranges collected with your saved rental advertisement.
Example request
curl --request GET 'https://realtycrawl.dev/v1/listings/YOUR_LISTING_ID/layout-options' \
--header "x-api-key: $REALTYCRAWL_API_KEY" \
--header 'X-Max-Credits: 1'import os
import json
import requests
headers = {
"X-Max-Credits": "1"
}
headers["x-api-key"] = os.environ["REALTYCRAWL_API_KEY"]
response = requests.request("GET", "https://realtycrawl.dev/v1/listings/YOUR_LISTING_ID/layout-options",
headers=headers, timeout=60)
response.raise_for_status()
print(json.dumps(response.json(), indent=2))const response = await fetch("https://realtycrawl.dev/v1/listings/YOUR_LISTING_ID/layout-options", {
method: "GET",
headers: {
"x-api-key": process.env.REALTYCRAWL_API_KEY,
...{
"X-Max-Credits": "1"
}
}
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.json());| Parameter | Required | Description |
|---|---|---|
| listing_id | Yes | listing_id |
| fields | No | Response-only comma-separated field paths relative to data items; up to 32 paths. Source requests and billing are unchanged. |
| format | No | Response-only export format. JSON retains the envelope; CSV/NDJSON contain data records, with request/credit metadata in headers. Errors stay JSON. |
Use a listing_id from your account’s supported Rentals.ca or Point2Homes search. Bedroom, bathroom, area and price ranges describe the source advertisement. They do not identify individual floor plans or confirm units available to rent. Unknown price periods remain null.
The response includes retained advertised rental layout ranges in data, plus source outcomes and request metadata. Explore the structure below before making a call.
{
"data": {
"listing_id": "YOUR_LISTING_ID",
"bedroom_range": {
"min": 0,
"max": 2,
"source_label": "Studio-2 beds"
},
"bathroom_range": {
"min": 1.75,
"max": 1.75,
"source_label": "1.75 baths"
},
"area_range": {
"min": 495,
"max": 495,
"source_label": "495 sqft",
"unit": "sqft",
"basis": "advertised_layout_range"
},
"advertised_price_range": null,
"individual_units_verified": false,
"availability_verified": false,
"completeness": "unknown",
"origin": "source_reported",
"source": {
"platform": "point2homes",
"provider": "example",
"country": "US",
"native_id": "EXAMPLE_LISTING_ID",
"observed_at": "2026-01-01T12:00:00Z",
"access_class": "public_portal"
}
},
"meta": {
"request_id": "example_request",
"schema_version": "1.0.0",
"generated_at": "2026-01-01T12:00:00Z",
"completeness": "unknown",
"sources": []
}
}Schema example with placeholder values; not a live source result. Actual fields, values, and completeness vary by source and request.
Send a GET request with your API key and accepted inputs. RealtyCrawl returns structured JSON and preserves the source context for your application.
Method
GET
Response
JSON · CSV · NDJSON
GET /v1/listings/{listing_id}/layout-optionsKeep source collection behind a shared interface so you can focus on the product you’re building.
Use familiar HTTP requests, inspect a common schema, and connect the results to the tools your team already uses.
Use the same credential across supported operations and check capabilities for each source.
Keep currencies, area units, source identifiers, and observation times with your results.
Call the API with cURL, Python, TypeScript, or any backend that can send an HTTP request.
import requests
# Check current source availability before collecting.
response = requests.get(
'https://realtycrawl.dev/v1/meta/capabilities',
params={'platform': 'zillow'}
)
response.raise_for_status()
capabilities = response.json()// Check current source availability before collecting.
const response = await fetch(
'https://realtycrawl.dev/v1/meta/capabilities?platform=zillow'
);
if (!response.ok) throw new Error('Request failed');
const capabilities = await response.json();curl 'https://realtycrawl.dev/v1/meta/capabilities?platform=zillow'import requests
# Check current source availability before collecting.
response = requests.get(
'https://realtycrawl.dev/v1/meta/capabilities',
params={'platform': 'redfin'}
)
response.raise_for_status()
capabilities = response.json()// Check current source availability before collecting.
const response = await fetch(
'https://realtycrawl.dev/v1/meta/capabilities?platform=redfin'
);
if (!response.ok) throw new Error('Request failed');
const capabilities = await response.json();curl 'https://realtycrawl.dev/v1/meta/capabilities?platform=redfin'import requests
# Check current source availability before collecting.
response = requests.get(
'https://realtycrawl.dev/v1/meta/capabilities',
params={'platform': 'realtor'}
)
response.raise_for_status()
capabilities = response.json()// Check current source availability before collecting.
const response = await fetch(
'https://realtycrawl.dev/v1/meta/capabilities?platform=realtor'
);
if (!response.ok) throw new Error('Request failed');
const capabilities = await response.json();curl 'https://realtycrawl.dev/v1/meta/capabilities?platform=realtor'import requests
# Check current source availability before collecting.
response = requests.get(
'https://realtycrawl.dev/v1/meta/capabilities',
params={'platform': 'rightmove'}
)
response.raise_for_status()
capabilities = response.json()// Check current source availability before collecting.
const response = await fetch(
'https://realtycrawl.dev/v1/meta/capabilities?platform=rightmove'
);
if (!response.ok) throw new Error('Request failed');
const capabilities = await response.json();curl 'https://realtycrawl.dev/v1/meta/capabilities?platform=rightmove'import requests
# Check current source availability before collecting.
response = requests.get(
'https://realtycrawl.dev/v1/meta/capabilities',
params={'platform': 'idealista'}
)
response.raise_for_status()
capabilities = response.json()// Check current source availability before collecting.
const response = await fetch(
'https://realtycrawl.dev/v1/meta/capabilities?platform=idealista'
);
if (!response.ok) throw new Error('Request failed');
const capabilities = await response.json();curl 'https://realtycrawl.dev/v1/meta/capabilities?platform=idealista'{
"platform": "zillow",
"operation": "searchPlatformListings",
"status": "active",
"geographies": [
"US"
],
"execution": "sync"
}{
"platform": "redfin",
"operation": "searchPlatformListings",
"status": "active",
"geographies": [
"US"
],
"execution": "sync"
}{
"platform": "realtor",
"operation": "searchPlatformListings",
"status": "active",
"geographies": [
"US"
],
"execution": "sync"
}{
"platform": "rightmove",
"operation": "searchPlatformListings",
"status": "active",
"geographies": [
"GB"
],
"execution": "sync"
}{
"platform": "idealista",
"operation": "searchPlatformListings",
"status": "active",
"geographies": [
"ES"
],
"execution": "sync"
}Find answers to common questions about Point2Homes requests, responses, and credits.
Contact usCreate an account for 500 trial credits, check live capabilities for Point2Homes, and use the example request above with your API key. This operation lists 1 credits per successful call.
The JSON response contains retained advertised rental layout ranges in data. The meta object carries request diagnostics and source outcomes. CSV/NDJSON exports contain data records with request and credit metadata in headers.
Use a listing_id from your account’s supported Rentals.ca or Point2Homes search. Bedroom, bathroom, area and price ranges describe the source advertisement. They do not identify individual floor plans or confirm units available to rent. Unknown price periods remain null.
Availability is operation-specific. Check /v1/meta/capabilities for the platform’s live status, accepted selectors, and markets. Unavailable requests are not charged.
RealtyCrawl is an independent real estate data API and is not affiliated with Point2Homes.
Get your API key and start building a source-linked property workflow.
1 credits per successful call · Failed calls are refunded