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 for Casafari client accounts. It is not offered over MCP. For Property Sourcing, self-serve access for new users is coming soon.
The sources give no figures for pricing, quotas, rate limits, refresh frequency or SLAs. Ask Casafari at https://www.casafari.com/.
Client account only; MCP does not search or fetch properties
The Casafari MCP server has no 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?.
Questions
Can I look up a property over MCP?
No, property lookup is not offered over the Casafari MCP server. Property Sourcing, including GET /api/v1/properties/search/{property_id}, is a REST product for Casafari client accounts. The MCP server's tools cover Comparables & Valuation, Area Insights and AgentGraph AI. 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