# Compare premises

> **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).

`POST https://platform.casafari.com/v1/claro/compare`

[Claro AI](/docs/claro) · [REST API](/docs/claro#rest-api). Send `Authorization: Bearer $CASAFARI_API_KEY`: a platform API key or OAuth access token, metered in platform units; see [platform sign-in](/docs/rest#platform-api-keys) and [Claro AI](/docs/claro#keys). On the platform this is `POST https://platform.casafari.com/v1/claro/compare`; `POST /v1/compare` is Claro's own path, which the platform adds `/claro` to. The platform forwards the call to Claro unchanged: Claro's `Claro-Version` header and its error bodies (`{"error":{"code","message"}}`, with `rate_limited` and `quota_reached` on a 429) pass through.

Over MCP: [`compare_premises`](/docs/claro/compare_premises) (equivalent). See [MCP and REST compared](/docs/parity#claro-ai).

## Description

2 to 10 premises side by side, by the ids a search returned.

## Request body

Content type `application/json`. Required. Type: `object`.

- `ids` (string[], required) 2–10 items.

## Example request

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

```bash
curl -X POST "https://platform.casafari.com/v1/claro/compare" \
  -H "Authorization: Bearer $CASAFARI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "ids": [
    "<ids>"
  ]
}'
```

## Responses

### 200 Compare premises

No body.

Example from the API description:

```json
{
  "premises": [
    {
      "id": "pm_3kX9vQ2LmT8a",
      "title": "Local comercial en esquina",
      "type": "retail",
      "city": "madrid",
      "city_name": "Madrid",
      "district": "Centro",
      "address": null,
      "location_precision": "approximate",
      "coordinates": {
        "lat": 40.42,
        "lon": -3.705,
        "precision": "approximate"
      },
      "for_rent": true,
      "for_sale": false,
      "rent_eur_month": 5000,
      "sale_eur": null,
      "area_m2": 200,
      "floor_number": 0,
      "street_level": true,
      "floors": 1,
      "frontage_m": null,
      "smoke_outlet": true,
      "business_transfer": false,
      "criteria": [
        {
          "criterion": "smoke_extraction",
          "status": "met",
          "evidence": "con salida de humos"
        }
      ],
      "photos": [
        "https://st2.retelligence.co/c/1234/c/de/abcde350.jpg"
      ],
      "excerpt": "Local en esquina con salida de humos. Zona de mucho paso.",
      "agency": {
        "name": "Agencia Sol",
        "listing_url": "https://agenciasol.es/1"
      }
    }
  ],
  "missing": []
}
```

### 400 Invalid request

Type: `object`.

- `error` (object, optional)
  - `code` (string, required)
  - `message` (string, required)

### 401 Missing or invalid key

Type: `object`.

- `error` (object, optional)
  - `code` (string, required)
  - `message` (string, required)

### 403 No access

Type: `object`.

- `error` (object, optional)
  - `code` (string, required)
  - `message` (string, required)

### 429 Rate limited

Type: `object`.

- `error` (object, optional)
  - `code` (string, required)
  - `message` (string, required)

## Related pages

- [Search commercial premises (POST /v1/search)](/docs/rest/claro/search-premises)
- [Refine a search (POST /v1/search/refine)](/docs/rest/claro/refine-search)
- [Get one premises (GET /v1/premises/{id})](/docs/rest/claro/get-premises)
- [Location figures (POST /v1/location)](/docs/rest/claro/explain-location)
- [Claro AI: all its MCP tools and REST operations](/docs/claro)
- [Connect Claro to an MCP client](/docs/claro/connect)
- [MCP vs REST API compared](/docs/parity)
