Read completed collection results
curl --request GET \
--url https://realtycrawl.dev/v1/jobs/{job_id}/results \
--header 'x-api-key: <api-key>'import requests
url = "https://realtycrawl.dev/v1/jobs/{job_id}/results"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://realtycrawl.dev/v1/jobs/{job_id}/results', 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"
},
"transaction": "sale",
"status": "active",
"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
},
"price": {
"amount": "<string>",
"currency": "<string>",
"kind": "asking",
"min": "<string>",
"max": "<string>",
"unit_code": "<string>",
"period": "night",
"per_area_unit": "<string>",
"display_text": "<string>"
},
"observed_at": "2023-11-07T05:31:56Z",
"native_id": "<string>",
"source_status": "<string>",
"title": "<string>",
"url": "<string>",
"agent": {
"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"
},
"name": "<string>",
"agency_id": "<string>",
"profile_url": "<string>",
"professional_contacts": [
{
"kind": "business_phone",
"value": "<string>"
}
],
"extensions": {}
},
"agency": {
"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"
},
"name": "<string>",
"address": {
"country": "<string>",
"formatted": "<string>",
"line1": "<string>",
"unit": "<string>",
"city": "<string>",
"region": "<string>",
"postal_code": "<string>",
"original_text": "<string>"
},
"website": "<string>"
},
"media": [
{
"url": "<string>",
"type": "photo",
"caption": "<string>",
"position": 123,
"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"
}
}
],
"source_updated_at": "2023-11-07T05:31:56Z",
"extensions": {},
"field_status": {}
}
],
"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>"
}Jobs
Read completed collection results
Read this account’s durable job successful one-item retained result for1 credit, without a source request. Retention24 hours. Idempotent replay is free and returns the original snapshot. Pending/failed result requests return409 with zero charge; unrelated/expired jobs return404.
GET
/
v1
/
jobs
/
{job_id}
/
results
Read completed collection results
curl --request GET \
--url https://realtycrawl.dev/v1/jobs/{job_id}/results \
--header 'x-api-key: <api-key>'import requests
url = "https://realtycrawl.dev/v1/jobs/{job_id}/results"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://realtycrawl.dev/v1/jobs/{job_id}/results', 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"
},
"transaction": "sale",
"status": "active",
"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
},
"price": {
"amount": "<string>",
"currency": "<string>",
"kind": "asking",
"min": "<string>",
"max": "<string>",
"unit_code": "<string>",
"period": "night",
"per_area_unit": "<string>",
"display_text": "<string>"
},
"observed_at": "2023-11-07T05:31:56Z",
"native_id": "<string>",
"source_status": "<string>",
"title": "<string>",
"url": "<string>",
"agent": {
"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"
},
"name": "<string>",
"agency_id": "<string>",
"profile_url": "<string>",
"professional_contacts": [
{
"kind": "business_phone",
"value": "<string>"
}
],
"extensions": {}
},
"agency": {
"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"
},
"name": "<string>",
"address": {
"country": "<string>",
"formatted": "<string>",
"line1": "<string>",
"unit": "<string>",
"city": "<string>",
"region": "<string>",
"postal_code": "<string>",
"original_text": "<string>"
},
"website": "<string>"
},
"media": [
{
"url": "<string>",
"type": "photo",
"caption": "<string>",
"position": 123,
"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"
}
}
],
"source_updated_at": "2023-11-07T05:31:56Z",
"extensions": {},
"field_status": {}
}
],
"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>"
}Read one completed retained Trulia listing or Vrbo stay observation for 1 credit, without another source request. Omit
limit or use limit=1; cursor/continuation is unsupported. Idempotent replay is free.
First check job status. Pending jobs return 409 JOB_NOT_READY; failed jobs return 409 JOB_FAILED, both with zero charge. Unrelated-account, different-environment and expired jobs return 404. Results last 24 hours from job creation and can also be read using their account-owned listing/stay ID while that resource remains retained.
Pagination counts the retained job result only. Source completeness stays unknown. Trulia money is source asking consideration; Vrbo prices are source observations for the requested dates, with unknown physical availability and potentially incomplete fees/taxes. This is not complete inventory, a verified closed-sale record, an availability calendar or a booking quote.
Fresh job status/result reads expire after 24 hours. The existing API idempotency-response cache lasts seven days and can replay an earlier response after that window. A replay preserves its original snapshot; it does not refresh status or execute a source again.
Authorizations
Path Parameters
Minimum string length:
1⌘I