Docs
On this page
Docs/AVM/Quickstart

Get Started · AVM

Quickstart

Prerequisites

Before you begin, obtain a Valtaic API key with the avm:value scope. You will also need the property's building name or number, street and postcode. Include the UPRN when available; otherwise, the API will resolve it from the address. The request must relate to an existing residential property in England or Wales.

Retrieve the active release and date window:

bash
curl --silent --show-error \
  --header "Authorization: Bearer $VALTAIC_API_KEY" \
  "https://api.valtaic.io/v3/releases/current" | jq

Submit a Valuation

Use the simple endpoint when you need a point estimate, valuation range and confidence assessment without supporting evidence:

bash
curl --silent --show-error \
  --request POST \
  --url "https://api.valtaic.io/v3/simple-value" \
  --header "Authorization: Bearer $VALTAIC_API_KEY" \
  --header "Content-Type: application/json" \
  --data @request.json | jq

The following is the content of request.json. You can also start with the downloadable request example. Replace the illustrative address and UPRN with a real, matching identity, supply the property's actual characteristics and select an allowed valuation date.

json
{
  "request_reference": "property-0001",
  "options": {"use_stored_data": false},
  "property": {
    "valuation_date": "2026-09-08",
    "uprn": "100012345678",
    "postcode": "OX1 1AA",
    "type": "S",
    "subtype": "house_semi_detached",
    "title_tenure": "freehold",
    "build_status": "existing",
    "building_number_or_name": "14",
    "street": "Station Road"
  },
  "occupancy": {
    "status": "owner_occupied"
  },
  "size": {
    "floor_area_m2": 112,
    "bedrooms": 3,
    "living_rooms": 2,
    "storeys": 2
  }
}

Example response:

json
{
  "api_version": "v3",
  "release_id": "<immutable-release-id>",
  "execution_id": "<server-generated-uuid>",
  "valuation_id": "<server-generated-uuid>",
  "request_reference": "property-0001",
  "status": "valued",
  "property": {
    "uprn": "100012345678",
    "postcode": "OX1 1AA",
    "identity_source": "verified_identity_store"
  },
  "valuation": {
    "date": "2026-09-08",
    "estimated_value_gbp": 475000,
    "range": {
      "lower_value_gbp": 432000,
      "upper_value_gbp": 521000,
      "nominal_coverage": 0.8
    }
  },
  "confidence": {"score": 0.79, "band": "high"},
  "input_resolution": {
    "stored_data_used": [],
    "ignored_inputs": [],
    "derived_inputs": []
  }
}

All figures are illustrative and should not be treated as valuation benchmarks.

Interpret the Response

  • estimated_value_gbp is the final estimate, rounded to the nearest pound.
  • range, when available, is calibrated for the active release and is not a fixed percentage. It may be null.
  • nominal_coverage is a portfolio-level target, not an individual-property probability statement.
  • confidence measures evidence strength.
  • release_id identifies the valuation release and should be stored with the result.
  • input_resolution records stored values applied to the request, ignored inputs and derived values.

Request Supporting Evidence

Switch to /v3/value and request only what your product consumes:

Merge this options object into the complete request above; it is not a standalone valuation request.

json
{
  "options": {
    "include_comparables": true,
    "comparables_limit": 5,
    "include_context_metrics": true,
    "use_stored_data": false
  }
}

Resolve a Missing UPRN

Inside property, omit uprn and provide these address fields alongside the other required property fields:

json
{
  "building_number_or_name": "14",
  "street": "Station Road",
  "postcode": "OX1 1AA"
}

The address must resolve to a single, exact UPRN in England or Wales. Partial, ambiguous and multiple matches are rejected.

Production Checklist

  1. Optionally assign a stable request_reference to each logical row. Store the server-generated valuation_id as the authoritative valuation identifier.
  2. Store the request, response, valuation date and release_id together.
  3. Inspect row status, not only the HTTP status.
  4. Respect Retry-After for transient throttling and service errors.
  5. Do not retry invalid input or manual referrals unchanged.
  6. Keep credentials server-side.
  7. Batch related valuations instead of making serial calls.
  8. Use asynchronous jobs when work must survive an HTTP disconnect and the job endpoint is listed by GET /v3/releases/current.