Comparables with Transactions · REST API
Value a property with comparables and registered closing prices
https://platform.casafari.com/v1/comparables-transactions/searchSend Authorization: Bearer $CASAFARI_API_KEY: a platform API key (cf_sk_...) from the console, or an OAuth access token; X-API-Key carries the key too. See platform API keys. Costs 65 tokens a call (1 token = EUR 0.04).
Over MCP: comparables-transactions_get_comparables (equivalent). See MCP and REST compared.
Description
Costs 65 tokens a call. Page size: comparables_count in the body, at most 50 (a Free plan account is capped lower).
Request body
Content type application/json. Required. Type: object.
comparables_countintegerrequiredlocation_boundaryobjectrequired2 properties
polygonobject[]2 properties
latitudenumberrequiredlongitudenumberrequiredcircleobject2 properties
distancenumbertarget_point: 0.05 to 50, default 5.target_pointobjectrequired3 properties
coordinatesobject2 properties
latitudenumberrequiredlongitudenumberrequiredaddressstringcadastral_referenceobject4 properties
country_codestringrequiredEScadastral_referencestringrequiredprovincestringmunicipalitystringsold_or_rented_afterstringnullableYYYY-MM-DD) will be considered as possible comparables. Default value: 9 months ago, counting from today. If null is passed, only active properties will be considered.operationstringrequiredsale rentcomparables_typesstring[]required40 allowed values
apartment 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_buildingmin_priceintegermax_priceintegerconditionstringused ruin very-good new otherbedroomsintegerrooms.roomsintegerbedrooms).bathroomsintegerconstruction_yearintegertotal_areaintegerhotel, industrial, office, other_commercial, restaurant, retail, warehouse, werkstatt property types if target_point.cadastral_reference is not provided.plot_areaintegerrural_plot and urban_plot property types if target_point.cadastral_reference is not provided.floorsstring[]no_floor ground middle topfloor_numberinteger[]orientationstringexterior interiorviewsstring[]water landscape city golf parkdirectionsstring[]north south east westcharacteristicsobject3 properties
must_havestring[]balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuitynice_to_havestring[]balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuityexcludestring[]balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuityenergy_ratingsstring[]Unknown A+ A B C D E F G Hdays_on_market_fromintegerdays_on_market_tointegerwith_agenciesstring[]without_agenciesstring[]exclude_outliersbooleanExample request
Placeholders only: replace the token and the values with your own.
curl -X POST "https://platform.casafari.com/v1/comparables-transactions/search" \
-H "Authorization: Bearer $CASAFARI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"comparables_count": 1,
"location_boundary": {
"polygon": [
{
"latitude": -90,
"longitude": -180
}
]
},
"operation": "sale",
"comparables_types": [
"apartment"
]
}'Responses
200 Success.
Type: object.
Errors
Every error is an application/problem+json body (RFC 9457) with type (a page that explains it), title, status, detail (what to do), instance, code and request_id (what to quote to support). A 402 carries an upgrade_url, a 429 a Retry-After header. The codes each status can carry:
- 400
invalid_request,key_in_query,page_depth_exceeded(https://platform.casafari.com/errors/invalid-request, https://platform.casafari.com/errors/key-in-query, https://platform.casafari.com/errors/page-depth-exceeded) - 401
unauthorized,invalid_credential,credential_revoked,token_expired(https://platform.casafari.com/errors/unauthorized, https://platform.casafari.com/errors/invalid-credential, https://platform.casafari.com/errors/credential-revoked, https://platform.casafari.com/errors/token-expired) - 402
payment_required(https://platform.casafari.com/errors/payment-required) - 403
insufficient_scope,not_entitled,account_suspended(https://platform.casafari.com/errors/insufficient-scope, https://platform.casafari.com/errors/not-entitled, https://platform.casafari.com/errors/account-suspended) - 404
not_found(https://platform.casafari.com/errors/not-found) - 405
method_not_allowed(https://platform.casafari.com/errors/method-not-allowed) - 409
conflict(https://platform.casafari.com/errors/conflict) - 413
payload_too_large(https://platform.casafari.com/errors/payload-too-large) - 415
unsupported_media_type(https://platform.casafari.com/errors/unsupported-media-type) - 422
validation_failed(https://platform.casafari.com/errors/validation-failed) - 429
rate_limited,daily_limit_reached,request_limit_reached,usage_limit_reached(https://platform.casafari.com/errors/rate-limited, https://platform.casafari.com/errors/daily-limit-reached, https://platform.casafari.com/errors/request-limit-reached, https://platform.casafari.com/errors/usage-limit-reached) - 500
internal_error(https://platform.casafari.com/errors/internal-error) - 502
upstream_error(https://platform.casafari.com/errors/upstream-error) - 503
capacity_exhausted,unavailable(https://platform.casafari.com/errors/capacity-exhausted, https://platform.casafari.com/errors/unavailable) - 504
upstream_timeout(https://platform.casafari.com/errors/upstream-timeout)