API v1

From an address to an estimate.

This guide covers the property price estimator, request status, and the response your application receives.

OpenAPI schema

1. Get access and create a key

Request an account , verify your email, and wait for approval. Then create a named key in API keys . The full key is shown once.

Authorization: Bearer YOUR_API_KEY

The x-api-key header is also supported. Keep keys in your server environment; never include them in client-side JavaScript or a public URL.

2. Create an estimate

Send JSON to the endpoint below. The default poll mode returns HTTP 202 with a job_id. Save that ID to retrieve the result.

curl --request POST 'https://propvaluedata.com/api/v1/tools/property-price-estimator-fast/jobs' \  --header "Authorization: Bearer $PROPERTY_VALUE_DATA_API_KEY" \  --header 'Content-Type: application/json' \  --data '{    "address": "12 Example Street, Melbourne VIC",    "country": "AU",    "reference": "CRM-1042",    "mode": "poll"  }'

Need a single response?

Set mode to request to wait for processing. Allow at least 120 seconds in your HTTP client. A 200 response can contain a failed status; always check the JSON status.

Request fields

Field
Required
Description
addressRequiredFull property address, 3–240 characters.
countryDefaults to AUTwo-letter country code, for example AU, NZ or GB.
referenceOptionalYour own reference, up to 200 characters. Returned with the result.
property_typeOptionalhouse or unit. Omit it when unknown.
modeDefaults to pollpoll returns a request receipt; request waits for the result.
known_detailsOptionalKnown numeric attributes: bedrooms, bathrooms, car_spaces, land_size_sqm, building_size_sqm. Omit unknown values.

3. Retrieve and use the result

curl 'https://propvaluedata.com/api/v1/jobs/YOUR_JOB_ID' \  --header "Authorization: Bearer $PROPERTY_VALUE_DATA_API_KEY"

While the status is queued or running, poll every few seconds with a delay between attempts. Stop when the status is completed, failed or cancelled. You can only retrieve your own requests.

Completed result · illustrative example

{  "job_id": "AB12-CD34-EF56",  "tool": "property-price-estimator-fast",  "status": "completed",  "reference": "CRM-1042",  "property": {    "formatted_address": "12 Example Street, Melbourne VIC",    "property_type": "house",    "property_code": "AB12-EF34-GH56"  },  "valuation": {    "estimated_value": 920000,    "low_range": 830000,    "high_range": 1010000,    "currency": "AUD",    "confidence_percentage": 70,    "confidence_label": "medium",    "valuation_date": "2026-10-16"  },  "duration_ms": 12000}

The status endpoint includes lifecycle metadata in addition to these result fields. Use the returned currency and valuation date. A recent compatible estimate may be reused, so the valuation date can precede the request date. Confidence describes the available information and is not a guarantee of accuracy.

To stop a queued or running request, send POST /api/v1/jobs/YOUR_JOB_ID/cancel with the same authentication header.

Handle failures explicitly

  • 400 / 422: check the request fields and JSON format.
  • 401: supply a valid API key.
  • 403: the account is not approved or its access has been paused.
  • 404: the request does not exist or belongs to another account.
  • 429 / 5xx: wait before retrying. Respect a Retry-After header if one is returned.

A finished request can have a failed status, including when there is insufficient property information. Never substitute zero for a missing estimate. Review the request in your workspace before creating another one.

A reference is not an idempotency key

Each call to the v1 creation endpoint can create a new request. If your connection drops, check your workspace before submitting again. Reusing a reference does not prevent duplicates.