Property Lookup

GEThttps://property-api.k8s.outra.co.uk/api/v2/property-lookup
API keyJSON

Search for one or more properties using structured filters, free-text address matching, or a combination of both. Designed for fast discovery, address resolution and bulk property exploration.

Overview

The Property Lookup endpoint supports two complementary search modes:

  • Filter-based search — query the property dataset using structured conditions (for example, postcode patterns). Returns multiple properties, paginated.
  • Address-based search — resolve a free-text address to the single best-matching property, with a confidence score.

Both modes can be combined to narrow results further.

Parameters

NameTypeRequiredDescription
filterstringOptionalJSON filter object with a where clause. Example: {"where": {"postcode": {"ilike": "EX%"}}}.
addressstringOptionalAddress string for the address-matching service. Returns the single best-matching property. Must include a postcode. Can be combined with filter. Example: 123 Main Street, London, SW1A 1AA.
pageintegerOptionalPage number (1-based). Default 1. Minimum 1.
page_sizeintegerOptionalNumber of results per page (max 100). Default 100. Minimum 1, maximum 100.

Use the filter query parameter to apply structured constraints. The filter is a JSON object with a where clause containing field conditions. Operators such as ilike support SQL-style wildcards (%).

json
{
  "where": {
    "postcode": { "ilike": "EX%" }
  }
}
bash
curl 'https://property-api.k8s.outra.co.uk/api/v2/property-lookup?filter={"where":{"postcode":{"ilike":"EX%"}}}&page=1&page_size=100' \
  -H 'accept: application/json' \
  -H 'Authorization: Api-Key {api_key}'

Pagination

Page through results with the page and page_size query parameters — a maximum of 100 results per page.

Provide a free-text address string via the address parameter.

  • The address must include a postcode (for example, 88 Chantry Meadow EX2 8FR).
  • Returns the single best-matching property.
  • The match includes a confidence score.
  • Can be combined with filter for post-matching refinement.
bash
curl 'https://property-api.k8s.outra.co.uk/api/v2/property-lookup?address=88 Chantry Meadow EX2 8FR' \
  -H 'accept: application/json' \
  -H 'Authorization: Api-Key {api_key}'

Combine both modes

Pass address and filter together to resolve a free-text address and then constrain the matches — useful for disambiguating within a known postcode or locality.

Response

Address-based search returns the single matched property with its confidence score in metadata:

json
{
  "success": true,
  "data": [
    {
      "building_name": null,
      "building_number": "88",
      "dependent_locality": null,
      "dependent_thoroughfare": null,
      "double_dependent_locality": null,
      "latitude": 50.6963103,
      "longitude": -3.5303529,
      "post_town": "Exeter",
      "postcode": "EX2 8FR",
      "sub_building_name": null,
      "thoroughfare": "Chantry Meadow",
      "udprn": 8763773,
      "uprn": 100040206758,
      "x_coordinate": 292013,
      "y_coordinate": 89637
    }
  ],
  "metadata": {
    "count": 1,
    "has_filter": true,
    "address_search": true,
    "address_matches_found": 1,
    "address_confidence_scores": [
      { "uprn": "100040206758", "confidence": 1 }
    ],
    "timestamp": "2026-01-07T20:25:37.618004Z"
  },
  "version": "2.0"
}

Filter-based (paginated) results follow the PaginatedResponse shape: { "data": [ … ], "page": 1, "page_size": 100, "total_items": 0, "total_pages": 0 }.

Status codes

CodeDescription
200Search completed successfully
401Authentication failed or API key invalid
422Request validation failed
429Rate limit exceeded

Typical use cases

Address resolution

Turn a free-text address into its single best UPRN-backed match with a confidence score.

Bulk discovery

Query the dataset by postcode pattern to enumerate properties for enrichment.

Onboarding & search

Power search and confirmation flows where users select from likely matches.