# Property Sourcing REST API

> **Casafari is the AI agent-native real estate data intelligence platform.** The most complete property index in Europe: a deduplicated, cleaned property graph of residential and commercial property, for sale and for rent, in 16 countries. Every property is one record with its full price and market history. [How the property graph is built](/docs/property-graph).

Find properties in the property graph, where every property is one record however many agencies and portals advertise it: search by structured filters or in plain language, page through the results, read one property with everywhere it is advertised and its price history, and resolve a portal or agency link or a reference to the property it belongs to. REST only.

10 operations on two hosts: the platform's REST API at `https://platform.casafari.com` (a platform API key, see [platform API keys](/docs/rest#platform-api-keys)) and the existing REST API at `https://api.casafari.com` (a bearer token, see [the REST API overview](/docs/rest#get-a-token)).

Over MCP, Property Sourcing has no tools: see [MCP and REST compared](/docs/parity#property-sourcing).

## Property Sourcing

Paths under `/v1/property-sourcing`.

- [`POST /v1/property-sourcing/searches`](/docs/rest/property-sourcing/search-properties): Search properties. Structured search of the property graph: one request body for every country.
- [`POST /v1/property-sourcing/searches/describe`](/docs/rest/property-sourcing/search-properties-by-description): Search properties by description. Plain-language search: say what you look for as tags (up to 20 phrases) or one description (split into phrases at commas, semicolons and "and"), in the places named by…
- [`GET /v1/property-sourcing/searches/{cursor}`](/docs/rest/property-sourcing/next-page-of-a-search): Next page of a search. The next page of a search: follow the next URL a search returned.
- [`GET /v1/property-sourcing/properties/{property_id}`](/docs/rest/property-sourcing/get-a-property): Get a property. One property by its prop_ id: the search result's fields plus bathrooms, areas, construction year, energy rating, condition, features, address, description and status.
- [`POST /v1/property-sourcing/properties/resolve`](/docs/rest/property-sourcing/resolve-a-link-or-reference-to-its-property): Resolve a link or reference to its property. Send exactly one of url (a portal or agency link to one home), reference (the reference an agency gives the home) or listing_id, and get back the property it belongs…

## On the existing REST API (api.casafari.com)

Paths under `/api`.

- [`POST /api/v1/properties/match-by-listings`](/docs/rest/property-sourcing/get-property-by-listing-ids-v1): Get property by listing IDs (v1). Returns a mapping properties IDs to listing IDs.
- [`POST /api/v1/properties/search`](/docs/rest/property-sourcing/search-properties-v1): Search properties (v1)
- [`GET /api/v1/properties/search/{property_id}`](/docs/rest/property-sourcing/get-property-by-id-v1): Get property by ID (v1). Returns a property object.
- [`POST /api/v1/properties/smart-links`](/docs/rest/property-sourcing/create-a-smart-link-beta-v1): Create a smart link (BETA) (v1). Generates a smart link that provides detailed property information with customizable components, branding, and user/company information overrides.
- [`POST /api/v2/properties/search`](/docs/rest/property-sourcing/search-properties-v2): Search properties (v2)

## Questions about this

- [Can I search properties over Casafari MCP?](/docs/faq/properties-over-mcp)
