---
title: "Get a property"
method: GET
path: "/v1/property-sourcing/properties/{property_id}"
tags: ["platform---property-sourcing"]
---

# Get a property

`GET /v1/property-sourcing/properties/{property_id}`

## Request

- Base URL: `https://platform.casafari.com`
- URL: `https://platform.casafari.com/v1/property-sourcing/properties/{property_id}`
- Auth: HTTP bearer

One property by its `prop_` id: the search result's fields plus bathrooms, areas, construction year, energy rating, condition, features, address, description and status. `expand=listings` adds every listing merged into the property (where it is advertised, by which agency, at what price, its references) and `listings_count`; `expand=history` adds its dated price and status changes. A seller's contact details are never returned. 10 tokens.

## Path parameters

- `property_id` string, required

## Query parameters

- `expand` string
- `operation` 'sale' | 'rent'

## Response `200`

The property.

- PropertySourcingProperty
  - `id` string: Opaque property id, `prop_...`.
  - `type` string, nullable: Property type.
  - `operation` 'sale' | 'rent'
  - `price` PlatformPrice
    - `amount` number, nullable: Asking price; null when the price is on request.
    - `currency` string, nullable: ISO 4217 currency code.
    - `per_sqm` number, nullable: Asking price per m².
  - `bedrooms` number, nullable
  - `living_area_sqm` number, nullable
  - `location` PlatformLocation
    - `id` integer, nullable: Location id.
    - `name` string, nullable: Location name.
    - `coordinates` object, nullable: Latitude and longitude.
      - `lat` number
      - `lon` number
  - `first_seen` string, nullable: When the property came on the market for this operation.
  - `listings_count` integer, nullable: How many listings advertise it; known on a property read with expand=listings, null in search results.
  - `matched_tags` string[], nullable: The phrases of a plain-language search this property matched; null for structured searches.
  - `bathrooms` number, nullable
  - `total_area_sqm` number, nullable
  - `plot_area_sqm` number, nullable
  - `construction_year` number, nullable
  - `energy_rating` string, nullable
  - `condition` string, nullable
  - `features` string[]
  - `address` string, nullable
  - `description` string, nullable
  - `status` string, nullable
  - `listings` PropertySourcingListing[]: With expand=listings.
    - `source` string, nullable: Where the listing is advertised.
    - `agency` string, nullable: The advertising agency.
    - `url` string, nullable: The listing's link.
    - `price` object
      - `amount` number, nullable
      - `currency` string, nullable
    - `status` string, nullable
    - `active` boolean, nullable
    - `first_seen` string, nullable
    - `references` string[]: The listing's references.
  - `history` PropertySourcingHistoryEvent[]: With expand=history.
    - `date` string, nullable
    - `event` string, nullable: What changed, e.g. a new listing, a price change, a status change.
    - `action` string, nullable
    - `operation` string, nullable
    - `old_value` unknown
    - `new_value` unknown
    - `source` string, nullable
    - `agency` string, nullable

## Other responses

- `400`: Unknown `expand` or `operation` value (`invalid_request`).
- `401`: Missing or unknown API key or token.
- `402`: No tokens left to fund the call (`payment_required`).
- `403`: The account is not entitled to this property's country (`not_entitled`).
- `404`: No property has this id (`not_found`).

---

[API](https://skmtc.dev/casafari/apis/casafari-api.md) · [All operations](https://skmtc.dev/casafari/apis/casafari-api/llms.txt) · [OpenAPI document](https://skmtc.dev/casafari/apis/casafari-api/revisions/6743b99d4bf9?raw)
