Property data in your product · Use case
How do I look up one property and see every price and status change?
Fetch the property with GET /api/v1/properties/search/{property_id} in Casafari's Property Sourcing REST API. Each record merges every advertisement of one property and carries its full history: every price change, status change, appearance and removal, with dates, in sale_price_history and rent_price_history. First find the id from a portal or agency ad id, or from a reference number.
Products: Property Sourcing, References
Short answer
Casafari collects property advertisements from agency websites and portals in 16 countries. It structures, cleans and deduplicates them, then merges every advertisement of a property into one record. That record carries the property's full history: every price change, status change, appearance and removal, with dates. Prices over time are in sale_price_history and rent_price_history.
You fetch the record over the REST API with GET /api/v1/properties/search/{property_id}, part of Property Sourcing. The property graph explains how the record is built.
Steps
Get a token: POST /login
- Send the account's
emailandpasswordas JSON toPOST https://api.casafari.com/login. The response holds anaccess_tokenand arefresh_token(JWT). SendAuthorization: Bearer <access_token>on every call. Renew the token withGET /refresh-tokenwhen it expires.
Find the property id: from a portal or agency ad id with POST /api/v1/properties/match-by-listings, or by ref_numbers with POST /api/v2/properties/search
- If you hold a portal or agency ad id, send it in
listing_idstoPOST /api/v1/properties/match-by-listings. The operation resolves the ad to the property it belongs to. - If you only hold the agency's own reference number, send it in
ref_numberstoPOST /api/v2/properties/search. Addlocation_idsto narrow the search.
Fetch: GET /api/v1/properties/search/{property_id}
- Call the operation with the property id from step 2 or 3. It returns the property and its history.
Read sale_price_history, rent_price_history and the status fields
- Read
sale_price_historyfor asking prices on the sales market andrent_price_historyfor the rental market. Each change carries its date. - Read the status fields for the property's current state on each market. In Casafari property records these are
sale_statusandrent_status. The operation's reference page has the full response schema.
Example
A buyer's agent in Lisbon has the id of a portal ad for a flat. They want to know how long it has been offered and at what prices.
POST https://api.casafari.com/login
Content-Type: application/json
{ "email": "agent@example.com", "password": "<password>" }POST https://api.casafari.com/api/v1/properties/match-by-listings
Authorization: Bearer <access_token>
Content-Type: application/json
{ "listing_ids": ["<portal ad id>"] }GET https://api.casafari.com/api/v1/properties/search/<property_id>
Authorization: Bearer <access_token>The condensed record below shows field names only. Values are elided. The exact shape of each history entry is on the reference page and in the public OpenAPI description at https://docs.api.casafari.com/openapi.json.
{
"property_id": "<property_id>",
"sale_status": "...",
"rent_status": "...",
"sale_price_history": ["..."],
"rent_price_history": ["..."]
}How to read the result
Read the history in date order.
- First appearance: tells you how long the property has been offered.
- Each price change: shows the direction and size of the move.
- Removals followed by reappearances: show whether the property was withdrawn and offered again. This answers the question "was this home on the market before?"
A long history with several cuts is negotiation leverage for a buyer. For a valuer, lender or due-diligence team, the same history is a dated record of how the market has treated the property.
Statuses: active, reserved, hold, sold, rented
The graph records each status change with its date:
- On the sales market a property can be active, reserved, on hold or sold.
- On the rental market it can be active, reserved, on hold or rented.
Read a status as the property's state on the market as the graph observed it from the advertisements.
Several agencies, one record: the agencies linked to the property
When several agencies and portals advertise the same property, Casafari recognises them as one property. It keeps one record that links the advertisements, agencies, agents, location and history. You therefore read one history, not one per advertisement. Agency names match the values from GET /api/v1/references/agencies.
Limits
Property Sourcing is REST only and not offered over MCP. Its steps on this page, resolving an ad id or a reference number to the property and fetching the property with its history, are self-serve on the Casafari API and MCP Platform and stay available to Casafari clients with their Casafari account.
The sources give no figures for pricing, quotas, rate limits, refresh frequency or SLAs. Ask Casafari at https://www.casafari.com/.
Self-serve over REST; MCP does not search or fetch properties
None of Casafari's MCP servers has a tool that searches or fetches properties. A request such as "show me the price history of property 123456" made to an assistant connected over MCP cannot be answered from Property Sourcing. Your own code, or an agent with a REST token, calls the operations above. See Can I search properties over Casafari MCP?.
History covers what the graph observed since the property first appeared
The history starts when the property first appeared in the sources Casafari collects. A property never advertised in those sources has no history in the graph. Changes made before its first appearance are not recorded. The history shows asking prices and statuses on the market; it does not tell you the price a buyer finally paid. More: Does Casafari keep price and status history? and How do I look up one property and its price history?.
Ask in Claude or ChatGPT
Property Sourcing has an MCP server, https://platform.casafari.com/mcp/property-sourcing, so an assistant can run this from a chat. In Claude or ChatGPT, add a custom connector with that URL; in Claude Code: claude mcp add --transport http casafari-property-sourcing https://platform.casafari.com/mcp/property-sourcing. Sign in with your Casafari Platform account in the browser (a new account starts on the Free plan). Then ask, for example:
Flats in Madrid under €650K, 2+ bedrooms: show each with every agency advertising it and its price history.
The assistant finds the place with locations_search (free), searches with property-sourcing_search (50 tokens a page, property-sourcing_next_page for more), reads each home with property-sourcing_get_property (10 tokens: every agency and portal advertising it and its asking price history) and turns a pasted portal or agency link into its home with property-sourcing_resolve_listing (25 tokens). Prices are asking prices. See Property Sourcing.
Questions
Can I look up a property over MCP?
No, property lookup is not offered over Casafari's MCP servers. Property Sourcing, including GET /api/v1/properties/search/{property_id}, is a REST product available to Casafari client accounts, and to new users on the self-serve platform as a different API (GET /v1/property-sourcing/properties/{property_id}). Casafari's MCP servers are one per product, and Property Sourcing has none. An agent can still call the REST operations directly once it holds a bearer token from POST /login or an API client.
What if the same property was advertised at different prices by two agencies?
It is still one property record, because Casafari recognises the same property advertised by several agencies and portals as one and merges every advertisement into that record. The record keeps every price change with its date. The sources do not describe how two asking prices that differ at the same moment are reconciled; check the operation's reference page for the fields returned.
Can I see which agencies advertised it?
Yes, the property record links the advertisements, agencies and agents behind the property, as well as its location and history. Agency names correspond to the values returned by GET /api/v1/references/agencies. The exact response fields for the fetch operation are on its reference page at /docs/rest/property-sourcing/get-property-by-id-v1 and in the public OpenAPI description.
Can I get the history for every property in an area in bulk?
For bulk delivery, see Data Export at /docs/data-export, which describes bulk delivery and the fields of each entity, including the Property entity. Over the REST API you can search an area with POST /api/v2/properties/search and fetch each property by id. The sources publish no terms, pricing or limits for bulk delivery; ask Casafari at https://www.casafari.com/.
Related: Resolve client-forwarded links to one property record