# Property Sourcing

> **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 REST operations.

## REST API

5 operations on the platform's REST API, under `https://platform.casafari.com` with a platform API key ([how to get one](/docs/rest#platform-api-keys)), billed in units (1 unit = EUR 0.04); and 5 operations on the existing REST API, under `https://api.casafari.com` with a bearer token ([how to get one](/docs/rest#get-a-token)). The same list with more detail: [Property Sourcing REST API](/docs/rest/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)

## Pricing

| Operation | Units | EUR |
|---|---|---|
| [`POST /v1/property-sourcing/searches`](/docs/rest/property-sourcing/search-properties) | 100 units per page | 4.00 |
| [`POST /v1/property-sourcing/searches/describe`](/docs/rest/property-sourcing/search-properties-by-description) | 100 units per page | 4.00 |
| [`GET /v1/property-sourcing/searches/{cursor}`](/docs/rest/property-sourcing/next-page-of-a-search) | 100 units per page | 4.00 |
| [`GET /v1/property-sourcing/properties/{property_id}`](/docs/rest/property-sourcing/get-a-property) | 10 units | 0.40 |
| [`POST /v1/property-sourcing/properties/resolve`](/docs/rest/property-sourcing/resolve-a-link-or-reference-to-its-property) | 25 units | 1.00 |

1 unit = EUR 0.04. Free: 1,000 units for 30 days; pay as you go: prepaid credits; Agent: EUR 70 a month; Custom: talk to Casafari. See [platform API keys](/docs/rest#platform-api-keys).

## What is Property Sourcing?

Property Sourcing is the REST search product of Casafari, the AI agent-native real estate data intelligence platform, for finding residential and commercial properties for sale or for rent in its deduplicated, cleaned property graph, where every property is one record with its full price and status history, however many agencies and portals advertise it. Built for AI agents as well as buyer's agents, agents prospecting for mandates, investors and proptech developers, it offers structured search, plain-language search, single-property reads and resolution of any portal or agency link or reference to its property. One request body works across Andorra, the United Arab Emirates, Austria, Belgium, Switzerland, Germany, Spain, France, Greece, Italy, Luxembourg, Monaco, Poland, Portugal, San Marino and the United States, on data from the most complete property index in Europe.

## Use cases

- [Deduplicated buyer shortlist from a plain-language brief](/docs/property-sourcing/use-cases/deduplicated-buyer-shortlist-from-a-brief): Turn a client's brief into one deduplicated property record per home with Casafari's describe search, matched tags and price per sqm.
- [Price-per-sqm value screen across European markets](/docs/property-sourcing/use-cases/price-per-sqm-value-screen-across-markets): Use one Casafari search body per country, sorted by price per sqm, then read energy rating, condition and price history before bidding.
- [Resolve client-forwarded links to one property record](/docs/property-sourcing/use-cases/resolve-client-forwarded-links): Resolve a portal or agency link or reference to one Casafari property record, then see every place the home is advertised and at what price.
- [Shared-mandate and competitor mapping for an office](/docs/property-sourcing/use-cases/shared-mandate-and-competitor-mapping): Search an office's area with Casafari, use listings_count and expand=listings to map exclusive versus shared mandates and which agencies hold them.
- [New-supply digest for a farm area](/docs/property-sourcing/use-cases/new-supply-digest-for-a-farm-area): Poll Casafari daily with sort=newest for your farm area, diff first_seen and property ids, and send a deduplicated digest of new homes.
- [Grounded property tool for an AI assistant](/docs/property-sourcing/use-cases/grounded-property-tool-for-an-ai-assistant): Expose Casafari's describe search, property read and resolve as tools; the agent learns them from /openapi.json and /llms.txt and handles 402 and 429.
- [Short-let investor filter with rental licence](/docs/property-sourcing/use-cases/short-let-investor-filter): Combine Casafari's features and exclude_features filters with price-per-sqm sorting to find homes with a rental licence, terrace and parking.

## Questions about Property Sourcing

- [How do I find every property for sale in a town that matches my client's brief, without duplicates?](/docs/property-sourcing/faq#find-every-property-without-duplicates)
- [Can I search by a plain-language description like 'sea view, needs renovation, near the beach'?](/docs/property-sourcing/faq#plain-language-search)
- [Which properties in this area have the lowest price per square metre?](/docs/property-sourcing/faq#lowest-price-per-sqm)
- [How long has this property been on the market and what did it originally ask?](/docs/property-sourcing/faq#time-on-market-and-original-price)
- [Is this link my client sent the same property as the one I already have?](/docs/property-sourcing/faq#resolve-a-client-link)
- [How many agencies are advertising this property and at what prices?](/docs/property-sourcing/faq#agencies-advertising-and-prices)
- [Can I filter by features like a rental licence, or exclude rented-out, life-annuity and business-transfer properties?](/docs/property-sourcing/faq#feature-filters-rental-licence-exclusions)
- [What are the newest properties that came on the market in my area this week?](/docs/property-sourcing/faq#newest-properties-this-week)
- [Does the API return the seller's phone number or email?](/docs/property-sourcing/faq#seller-contact-details)
- [Does the same request work for Spain, France, Italy, Germany, Portugal and Greece?](/docs/property-sourcing/faq#one-request-every-country)
- [How many results can one search return and how do I page?](/docs/property-sourcing/faq#results-depth-and-paging)
- [What does a price of 0 mean in the results?](/docs/property-sourcing/faq#price-zero-on-request)
- [How much does a search cost?](/docs/property-sourcing/faq#search-cost)
- [Can an AI agent call this API directly with a user's prompt?](/docs/property-sourcing/faq#ai-agent-direct-call)

## MCP and REST compared

Over MCP: 0 tools. Over REST: 10 operations. Available over REST only: MCP has no tool for it.

Details: [MCP and REST compared](/docs/parity#property-sourcing).

## Questions about this

- [Which products does Casafari MCP offer, and how many tools are there?](/docs/faq/which-products)
- [Can I search properties over Casafari MCP?](/docs/faq/properties-over-mcp)
- [How do I look up one property and its price history?](/docs/faq/example-property-lookup)
