CasafariMCP
Get started

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.The most complete property index in Europe: a deduplicated, cleaned property graph.

How the graph is built

Comparables & Valuation · REST API

Initialize an AI Builder session (v2)

POSThttps://api.casafari.com/api/v2/comparables/ai-builder
Bearer token15 parameters

Send Authorization: Bearer $CASAFARI_TOKEN; see how to get a token.

Over MCP: no tool does this. MCP and REST compared.

Description

Initializes an AI Builder session from a saved CMA (valuation) and returns the generated report ID along with the URL of the AI Builder session.

Request body

Content type application/json. Optional. Type: object.

valuation_idintegerrequired
ID of the saved CMA to build the session from.
agentobjectnullable
Agent data to display in the Builder.
11 properties
first_namestringrequired
First name of the agent displayed in the Builder.
last_namestringnullable
Last name of the agent displayed in the Builder.
shop_namestringnullable
Name of the agency or brokerage displayed alongside the agent information.
photo_urlstring (uri)nullable
URL to the profile picture of the agent.
pattern ^(?:[a-z0-9.+-]*)://(?:[^\s:@/]+(?::[^\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\.(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\[[0-9a-f:.]+\]|([a-z¡-￿0-9](?:[a-z¡-￿0-9-]{0,61}[a-z¡-￿0-9])?(?:\.(?!-)[a-z¡-￿0-9-]{1,63}(?<!-))*\.(?!-)(?:[a-z¡-￿-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\.?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\s]*)?\z
emailstring (email)nullable
Agent's email address displayed in the Builder and available for client contact.
phonestringnullable
Phone number of the agent.
whatsappstringnullable
Agent's WhatsApp phone number displayed as a contact option. Include the country code.
instagramstringnullable
Agent's Instagram username or profile identifier displayed in the Builder.
telegramstringnullable
Agent's Telegram username displayed in the Builder.
agent_webpagestring (uri)nullable
Public URL of the agent's personal or professional webpage.
pattern ^(?:[a-z0-9.+-]*)://(?:[^\s:@/]+(?::[^\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\.(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\[[0-9a-f:.]+\]|([a-z¡-￿0-9](?:[a-z¡-￿0-9-]{0,61}[a-z¡-￿0-9])?(?:\.(?!-)[a-z¡-￿0-9-]{1,63}(?<!-))*\.(?!-)(?:[a-z¡-￿-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\.?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\s]*)?\z
agent_biostringnullable
Short biography or description of the agent. Displayed in the Builder only if the photo_url field is provided in the request.
languagestring
Language of the Builder session.
en es pt
default "en"
external_refstringnullable

Example request

Placeholders only: replace the token and the values with your own.

curl
curl -X POST "https://api.casafari.com/api/v2/comparables/ai-builder" \
  -H "Authorization: Bearer $CASAFARI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "valuation_id": 1,
  "agent": {
    "first_name": "John",
    "last_name": "Doe",
    "shop_name": "Example Realty",
    "photo_url": "https://example.com/photo.jpg",
    "email": "john.doe@example.com",
    "phone": "+351912345678",
    "whatsapp": "+351912345678",
    "instagram": "example_agent",
    "telegram": "example_agent",
    "agent_webpage": "https://example.com/agent-page",
    "agent_bio": "Experienced real estate agent."
  },
  "language": "en",
  "external_ref": "CRM-12345"
}'

Responses

200 OK

Type: object.

Show the response shape (2 fields)
idstringrequired
ID of the initialized AI Builder session.
urlstringrequired
URL of the initialized AI Builder session.
Example from the API description
JSON
{
  "id": "6a43a32841b3e35c735b9053",
  "url": "https://www.casafari.com/market-report/valuation/builder/6a43a32841b3e35c735b9053"
}

401 Unauthorized

Type: object.

Show the response shape (1 fields)
detailstring
Description of the error encountered.

403 Forbidden

Type: object.

Show the response shape (1 fields)
detailstring
Description of the error encountered.

404 Not Found

Type: object.

Show the response shape (1 fields)
errorsobject
Description of the errors encountered.

Questions about this

Tip: add .md to any URL to read it as Markdown.