Private Property platform100 trial credits · No credit card required

Private Property Listing Details API

Look up a Private Property listing by its native ID. Read the property, price, and source fields available for that record. Get structured JSON through one RealtyCrawl API key.

Use the native listing ID from the source, or from a listing search response. Check live capabilities for accepted inputs and availability before running your request.

Private Property API

What can you do with the Listing Details API?

Retrieve the available property, price, and source details for a Private Property listing using its native ID.

Example request

curl --request GET 'https://realtycrawl.dev/v1/privateproperty/listings/YOUR_LISTING_ID' \
  --header "x-api-key: $REALTYCRAWL_API_KEY" \
  --header 'X-Max-Credits: 50'

Parameters

Parameters for Private Property Listing Details API
ParameterRequiredDescription
native_idYesThe source platform’s listing ID. Supply it in the URL path, using the ID from a source listing or search response.

Replace native_id in the URL path with the source’s listing ID.

Example response

What does the Private Property Listing Details API return?

The response includes a listing object in data, plus source outcomes and request metadata. Explore the structure below before making a call.

Illustrative response
{
  "data": {
    "id": "example_listing",
    "source": {
      "platform": "privateproperty",
      "native_id": "EXAMPLE_LISTING_ID",
      "provider": "example",
      "observed_at": "2026-01-01T12:00:00Z",
      "access_class": "public_portal"
    },
    "transaction": "sale",
    "status": "unknown",
    "property": {
      "id": null,
      "address": {
        "country": "ZA"
      },
      "property_type": "unknown"
    },
    "price": {
      "amount": null,
      "currency": null,
      "kind": "unknown"
    },
    "observed_at": "2026-01-01T12:00:00Z"
  },
  "meta": {
    "request_id": "example_request",
    "schema_version": "1.0.0",
    "generated_at": "2026-01-01T12:00:00Z",
    "completeness": "unknown",
    "sources": [
      {
        "platform": "privateproperty",
        "status": "success"
      }
    ]
  }
}

Schema example with placeholder values; not a live source result. Actual fields, values, and completeness vary by source and request.

API details

How does the Private Property Listing Details API work?

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

GET /v1/privateproperty/listings/{native_id}
Why RealtyCrawl

Why use RealtyCrawl for Private Property listing details?

Keep source collection behind a shared interface so you can focus on the product you’re building.

Developer first

How do you bring real estate data into your app?

Use familiar HTTP requests, inspect a common schema, and connect the results to the tools your team already uses.

One key, many sources

Use the same credential across supported operations and check capabilities for each source.

Property data with context

Keep currencies, area units, source identifiers, and observation times with your results.

Your language, your workflow

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'
Capability excerpt · illustrative
{
  "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"
}
Browse the platform catalog
FAQ

Have a question?
We got answers

Find answers to common questions about Private Property requests, responses, and credits.

Contact us
How do I get Private Property listing details for a test?

Create an account for 100 trial credits, check live capabilities for Private Property, and use the example request above with your API key. This operation lists 50 credits per successful call.

What does the Listing Details API return?

A single listing in data, with property, price, and source fields. The meta object includes request diagnostics and source outcomes. Fields depend on what the source publishes.

Where do I put the request parameters?

Replace native_id in the URL path with the source’s listing ID. Put optional fields in the query string and send your key in the x-api-key header.

Is this endpoint available for every market?

Availability is operation-specific. Check /v1/meta/capabilities for the platform’s live status, accepted selectors, and markets. Unavailable requests are not charged.

Is this an official Private Property endpoint?

RealtyCrawl is an independent real estate data API and is not affiliated with Private Property.

Ready to use Private Property listing details?

Get your API key and start building a source-linked property workflow.

Get an API key

50 credits per successful call · Failed calls are refunded