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

Alerts · REST API

Search alerts (v1)

POSThttps://api.casafari.com/api/v1/listing-alerts/search
Bearer token58 parameters

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

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

Description

Returns paginated list of alerts (by requested parameters) for currently authenticated user.

Query parameters

limitinteger
Number of results to return per page.
≤ 100default 20
offsetinteger
The initial index from which to return the results.
≤ 50000
order_bystring
The field by which to sort the results.
alert_date -alert_date alert_id -alert_id created_at -created_at updated_at -updated_at
default "-alert_date"
alert_subtypestring
Get only alerts of the specific subtype. Invalid values are ignored. This field is deprecated and will be removed in the next major update. Please, use alert_subtypes field in the body parameters instead.
new price_up price_down reserved delisted sold

Request body

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

operationstringrequired
Operation type.
sale rent
location_idsinteger[]
List of location IDs, as returned by the POST /api/v1/references/locations endpoint.
at most 100 items1–2147483647
custom_locationobject[]
Closed polygon of geo-points to search within. First and last points must match. This field is deprecated and will be removed in the next major update. Please, use custom_locations field instead.
at least 4 items
2 properties
latitudenumberrequired
Latitude.
-90–90
longitudenumberrequired
Longitude.
-180–180
custom_locationsobject[][]
List of closed polygons of geo-points to search within. Each polygon must contain at least 4 points. First and last points must match in each polygon. Maximum 4 polygons allowed.
at most 4 items
2 properties
latitudenumberrequired
Latitude.
-90–90
longitudenumberrequired
Longitude.
-180–180
typesstring[]
Country availability per type is available at the GET /api/v1/references/types endpoint. Property types by type groups: apartment: penthouse, dachgeschosswohnung, erdgeschosswohnung, apartment, etagenwohnung, studio, duplex house: townhouse, reihenmittelhaus, landwirtschaftliche_betriebe, country_house, family_house (DEPRECATED), villa, palace, chalet, zweifamilienhaus, country_estate, reihenendhaus, reihenhaus, bungalow, einfamilienhaus, house room: room building: office_building, apartment_building, mix_use_building investment: retail, hotel, warehouse, office, restaurant, industrial, other_commercial, werkstatt plot: rural_plot, urban_plot, plot (DEPRECATED) other: garage, other, parking
40 allowed valuesapartment studio duplex penthouse dachgeschosswohnung etagenwohnung erdgeschosswohnung country_house house palace townhouse villa country_estate chalet bungalow family_house reihenhaus reihenendhaus reihenmittelhaus einfamilienhaus zweifamilienhaus landwirtschaftliche_betriebe retail office industrial warehouse hotel other_commercial restaurant werkstatt plot urban_plot rural_plot room other garage parking apartment_building office_building mix_use_building
conditionsstring[]
Property conditions, as returned by the GET /api/v1/references/conditions endpoint.
used ruin very-good new other
alert_date_fromstring (date)
Start date (in the format YYYY-MM-DD) of the period for alerts of interest.
alert_date_tostring (date)
End date (in the format YYYY-MM-DD) of the period for alerts of interest.
created_at_fromstring (date-time)
Start date and time (in the format YYYY-MM-DDTHH:mm:ss) to filter alerts by their creation in the database (UTC). Useful for incremental sync to avoid fetching already fetched data.
created_at_tostring (date-time)
End date and time (in the format YYYY-MM-DDTHH:mm:ss) to filter alerts by their creation in the database (UTC). Useful for incremental sync to avoid fetching already fetched data.
created_at_with_photos_fromstring (date-time)
Start date and time (in the format YYYY-MM-DDTHH:mm:ss) to filter alerts by their creation in the database (UTC), only including alerts for which photo processing has been completed. Use it to fetch alerts with already assigned photos. Note: Some alerts may still not have photos if the original listing did not include any.
created_at_with_photos_tostring (date-time)
End date and time (in the format YYYY-MM-DDTHH:mm:ss) to filter alerts by their creation in the database (UTC), only including alerts for which photo processing has been completed. Use it to fetch alerts with already assigned photos. Note: Some alerts may still not have photos if the original listing did not include any.
statusesstring[]
Current status of the listing.
active reserved hold sold rented
price_frominteger
Minimum price value.
1–2147483647
price_tointeger
Maximum price value.
1–2147483647
price_per_sqm_frominteger
Minimum value for price per square meter.
1–2147483647
price_per_sqm_tointeger
Maximum value for price per square meter.
1–2147483647
bedrooms_frominteger
Minimum number of bedrooms.
0–15000
bedrooms_tointeger
Maximum number of bedrooms.
0–15000
bathrooms_frominteger
Minimum number of bathrooms.
1–15000
bathrooms_tointeger
Maximum number of bathrooms.
1–15000
total_area_frominteger
Minimum total area.
1–10000000
total_area_tointeger
Maximum total area.
1–10000000
plot_area_frominteger
Minimum plot area.
1–10000000
plot_area_tointeger
Maximum plot area.
1–10000000
construction_year_frominteger
Minimum construction year.
1–3000
construction_year_tointeger
Maximum construction year.
1–3000
floorstring
Floor type. This field is deprecated and will be removed in the next major update. Please, use floors field instead.
no_floor ground middle top
floorsstring[]
List of floor types.
no_floor ground middle top
orientationstring
Property view orientation.
exterior interior
viewstring
View from the property. " This field is deprecated and will be removed in the next major update. Please, use views field instead."
water landscape city golf park
viewsstring[]
List of views from the property.
water landscape city golf park
directionstring
Cardinal direction the property faces. " This field is deprecated and will be removed in the next major update. Please, use directions field instead.
north south east west
directionsstring[]
List of cardinal directions the property faces.
north south east west
characteristicsstring[]
Property characteristics.
balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuity
alert_subtypesstring[]
Alert subtypes.
new price_up price_down reserved delisted sold
privateboolean
Whether to return alerts only from properties listed by a private individual, as opposed to an agent or a professional.
auctionboolean
Whether to return alerts from auction property listings.
bankboolean
Whether to return alerts from bank property listings.
new_developmentboolean
Whether to return alerts from new development property listings.
listing_agentsstring[]
Return alerts only for properties from specified agents. To find allowed agent names use the GET /api/v1/references/agents endpoint.
with_agenciesstring[]
Return alerts only for properties from specified agencies, companies or sources. To find allowed agency names use the GET /api/v1/references/agencies endpoint.
without_agenciesstring[]
Exclude alerts for properties from specified agencies, companies or sources. To find allowed agency names use the GET /api/v1/references/agencies endpoint.
exclusiveboolean
Whether to return alerts exclusively from specific listings rather than from all related to the property listings. Can be passed only along with at least one of the fields: private, with_agencies, without_agencies.
ref_numbersstring[]
List of reference numbers from listings.
has_phoneboolean
Whether to return alerts only from listings with or without phone number.
has_emailboolean
Whether to return alerts only from listings with or without email.
has_agency_nameboolean
Whether to return alerts only from listings with or without agency name.
property_idsinteger[]
List of property IDs.
at most 100 items≥ 1
listing_idsinteger[]
List of listing IDs.
at most 100 items≥ 1

Example request

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

curl
curl -X POST "https://api.casafari.com/api/v1/listing-alerts/search" \
  -H "Authorization: Bearer $CASAFARI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "operation": "sale",
  "types": [
    "apartment",
    "studio",
    "duplex",
    "penthouse"
  ],
  "location_ids": [
    2942,
    1861,
    1600
  ],
  "conditions": [
    "used",
    "very-good",
    "new"
  ],
  "statuses": [
    "active",
    "reserved"
  ],
  "price_from": 150000,
  "price_to": 800000,
  "price_per_sqm_from": 2000,
  "price_per_sqm_to": 8000,
  "bedrooms_from": 1,
  "bedrooms_to": 3,
  "total_area_from": 30,
  "total_area_to": 130,
  "construction_year_from": 1950,
  "floors": [
    "middle",
    "top"
  ],
  "views": [
    "city"
  ],
  "directions": [
    "west",
    "south"
  ],
  "characteristics": [
    "balcony",
    "elevator",
    "parking"
  ],
  "private": false,
  "new_development": false,
  "has_agency_name": true,
  "has_email": false,
  "without_agencies": [
    "Airbnb",
    "Casa.Sapo"
  ],
  "alert_date_from": "2021-09-01"
}'

Responses

200 OK

Type: object[].

Show the response shape (91 fields)
countinteger
nextstring (uri)nullable
previousstring (uri)nullable
resultsobject
67 properties
alert_idintegerrequired
ID of the alert.
listing_idintegerrequired
ID of the listing (ad).
refstringrequired
The reference ID of the listing.
alert_typestringrequired
The type of the alert.
sale_price sale_status rent_price rent_status new
alert_subtypestringrequired
The subtype of the alert.
new price_up price_down reserved delisted sold
old_valuestringrequired
Value before change.
new_valuestringrequired
Value after change.
alert_datestring (date)required
Date when the alert occurred.
alert_date_and_timestringnullable
Date and time when the alert occurred.
property_urlstringnullable
URL of the property in the CASAFARI website.
listing_urlstringnullable
URL of the listing. Available only for currently active listings.
listing_old_urlstringnullable
Old URL of the listing. Available only for currently inactive listings.
listing_uidstringrequired
Unique ID of the listing on the source site.
property_idintegerrequired
ID of the property to which the listing belongs.
titlestringrequired
Listing title.
typestringrequired
Listing property type, as returned by the GET /api/v1/references/types endpoint.
40 allowed valuesapartment studio duplex penthouse dachgeschosswohnung etagenwohnung erdgeschosswohnung country_house house palace townhouse villa country_estate chalet bungalow family_house reihenhaus reihenendhaus reihenmittelhaus einfamilienhaus zweifamilienhaus landwirtschaftliche_betriebe retail office industrial warehouse hotel other_commercial restaurant werkstatt plot urban_plot rural_plot room other garage parking apartment_building office_building mix_use_building
type_groupstringrequired
Listing property type group, as returned by the GET /api/v1/references/types endpoint.
locationobjectrequired
Information about property location.
4 properties
location_idintegerrequired
Location ID, as returned by the POST /api/v1/references/locations endpoint.
namestringrequired
Location name.
administrative_levelstringrequired
Location administrative level.
zip_codesstring[]
The location zip codes.
default []
locations_structureobject[]required
Information about all the parent locations (including property location) up to the country.
4 properties
location_idintegerrequired
Location ID, as returned by the POST /api/v1/references/locations endpoint.
namestringrequired
Location name.
administrative_levelstringrequired
Location administrative level.
zip_codesstring[]
The location zip codes.
default []
addressstringrequired
Property address.
zip_codestringrequired
The location zip code.
cadastral_referencestringrequired
Cadastral reference of the estate.
coordinatesobjectrequired
Property coordinates.
2 properties
latitudenumberrequired
Latitude.
longitudenumberrequired
Longitude.
conditionstringrequired
Property condition, as returned by the GET /api/v1/references/conditions endpoint.
used ruin very-good new other
contacts_infoobjectrequired
Information about listing contacts.
3 properties
namestringrequired
The owner name. Only for FSBO listings.
emailstring (email)required
The email contact.
phonestringrequired
The phone contact.
total_areaintegerrequired
Total area.
living_areaintegerrequired
Living area.
plot_areaintegerrequired
Plot area.
terrace_areaintegerrequired
Terrace area.
bedroomsintegerrequired
Number of bedrooms.
roomsintegerrequired
Number of rooms.
bathroomsintegerrequired
Number of bathrooms.
featuresobjectrequired
Property features, as returned by the GET /api/v1/references/features endpoint.
7 properties
floorstringrequired
Floor type.
no_floor ground middle top
orientationstringrequired
Property view orientation.
exterior interior
viewstringrequired
View from the property. This field is deprecated and will be removed in the next major update. Please, use views field instead.
water landscape city golf park
viewsstring[]required
List of views from the property.
water landscape city golf park
directionstringrequired
Cardinal direction the property faces. This field is deprecated and will be removed in the next major update. Please, use directions field instead.
north south east west
directionsstring[]required
List of cardinal directions the property faces.
north south east west
characteristicsstring[]required
Property characteristics.
balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuity
construction_yearintegerrequired
Construction year.
operationsstring[]required
Operation types for which listing property is available.
sale rent
is_bank_propertybooleanrequired
Whether the listing property is a bank property.
is_auction_propertybooleanrequired
Whether the listing property is an auction property.
is_new_development_propertybooleanrequired
Whether the listing property is a new development property.
is_private_propertybooleanrequired
Whether the property is listed by a private individual, as opposed to an agent or a professional.
sale_statusstringrequired
Current sale status of the listing.
active reserved hold sold none
sale_currencystringrequired
Sale price currency code.
sale_price_baseintegerrequired
Current sale price, in Euros.
sale_priceintegerrequired
Current sale price, in the currency of the listing (specified by the sale_currency field).
sale_price_per_sqmnumberrequired
Current sale price per square meter, in the currency of the listing (specified by the sale_currency field).
sale_price_per_sqm_basenumberrequired
Current sale price per square meter, in Euros.
rent_statusstringrequired
Current rent status of the listing.
active reserved hold rented none
rent_currencystringrequired
Rent price currency code.
rent_price_baseintegerrequired
Current rent price, in Euros.
rent_priceintegerrequired
Current rent price, in the currency of the listing (specified by the rent_currency field).
rent_price_per_sqmnumberrequired
Current rent price per square meter, in the currency of the listing (specified by the rent_currency field).
rent_price_per_sqm_basenumberrequired
Current rent price per square meter, in Euros.
rent_periodstringrequired
Rent period.
day week fortnight month year none
agency_legal_idstringrequired
Agency legal identifier specified on the source. Only for France and its overseas territories(DROM and COM).
agencystringrequired
The company that manages the listing.
agentstringrequired
The agent that manages the listing.
source_namestringrequired
The name of the source.
descriptionstringrequired
Listing description.
thumbnailsstring[]
List of the thumbnail image URLs.
picturesstring[]
List of the original picture image URLs.
created_atstring (date-time)required
Date and time when the alert was created (UTC).
created_at_with_photosstring (date-time)required
Date and time (UTC) when the alert was created and its photos were processed. Can be null if photo processing has not finished yet. If the listing has no photos but the system has finished the processing, this field will contain its date and time.
updated_atstring (date-time)required
Date and time when the alert data was updated (UTC).
energy_certificatestringrequired
Energy certificate classification that attests to the energy efficiency of a listing. This field is deprecated and will be removed in the next major update. Please, use energy_rating field instead.
energy_ratingstringrequired
Energy rating that attests to the energy efficiency of a listing.
heating_typestringrequired
Type of heating.
available_fromstring (date)required
The date the listing property becomes available for occupancy. The start of the availability window.
available_tostring (date)required
The date the listing property stops being available. The end of the availability window.
Example from the API description (long arrays shortened)
JSON
{
  "count": 79,
  "next": "https://api.casafari.com/v1/listing-alerts/search?limit=50&offset=50",
  "results": [
    {
      "alert_id": 412269711,
      "listing_id": 110358519,
      "title": "Apartamento T2 em Santa Engracia",
      "ref": "ID-124021076-47",
      "alert_type": "sale_price",
      "alert_subtype": "price_down",
      "old_value": "549000",
      "new_value": "545000",
      "alert_date": "2021-10-24",
      "alert_date_and_time": "2021-10-24T05:37:09",
      "created_at": "2021-10-24T05:38:53.273581",
      "created_at_with_photos": "2021-10-24T05:43:27.622175",
      "updated_at": "2021-04-05T17:47:19.191211",
      "property_url": "https://www.casafari.com/home-sale/property-51277418",
      "listing_url": "https://www.idealista.pt/imovel/31407575/",
      "listing_uid": "1054046",
      "property_id": 51277418,
      "type": "apartment",
      "type_group": "apartment",
      "location": {
        "location_id": 28649,
        "name": "Santa Engrácia",
        "administrative_level": "Localidade",
        "zip_codes": []
      },
      "locations_structure": [
        {
          "location_id": 499,
          "name": "Portugal",
          "administrative_level": "País",
          "zip_codes": [
            "1200-224"
          ]
        }
      ],
      "address": "",
      "zip_code": "80804",
      "cadastral_reference": "2181605VK4728A0001TA",
      "coordinates": {
        "latitude": 38.7194,
        "longitude": -9.12209
      },
      "condition": "used",
      "contacts_info": {
        "phone": "215551538"
      },
      "total_area": 130,
      "living_area": 128,
      "plot_area": 0,
      "terrace_area": 15,
      "bedrooms": 3,
      "rooms": 0,
      "bathrooms": 2,
      "features": {
        "floor": "middle",
        "views": [
          "city"
        ],
        "directions": [
          "west"
        ],
        "characteristics": [
          "balcony"
        ]
      },
      "construction_year": 2015,
      "operations": [
        "sale"
      ],
      "is_bank_property": false,
      "is_auction_property": false,
      "is_new_development_property": false,
      "is_private_property": false,
      "sale_status": "active",
      "sale_currency": "EUR",
      "sale_price": 545000,
      "sale_price_base": 545000,
      "sale_price_per_sqm": 4192,
      "sale_price_per_sqm_base": 4192,
      "rent_status": "none",
      "rent_currency": "EUR",
      "rent_price": 0,
      "rent_price_base": 0,
      "rent_price_per_sqm": 0,
      "rent_price_per_sqm_base": 0,
      "rent_period": "none",
      "agency_legal_id": "402016653",
      "agency": "Helena Almeida Pires",
      "agent": "",
      "source_name": "Idealista",
      "description": "O apartamento é composto de sala de estar e jantar ampla, com janelas de vidro duplo que dão enorme luminosidade, ao ambiente.",
      "thumbnails": [
        "https://st2.retelligence.co/c/2875/4/7f/5a0fc6ebf8e4e41d062342a29b50647f350.jpg"
      ],
      "pictures": [
        "https://media.casasapo.pt/Z1140x855/Wnone/S5/C2729/P20091734/Tphoto/ID56933201-0000-0500-0000-00000d1ffcdc.jpg"
      ],
      "energy_certificate": "B",
      "energy_rating": "B",
      "heating_type": "Central heating",
      "available_from": "2026-07-01",
      "available_to": "2027-06-30"
    }
  ]
}

400 Bad Request

Type: object.

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

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.

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