Comparables

Find the best rent comps for a property given its details among close by properties. Score different facets of all candidates and return the best ones. In order to get the best results, we leverage market demographics, detected quality, amenities, similarity of unit mixes, and more. - **Data completion**: feel free to complete the record with extra data only you have access to or if you want to override the data we have. For example, what would be the rent of the property if it was in a better condition? You can increase the quality of the property and see how the comps change. - **Extra Filters**: you can set extra filters. For example, you can set a maximum distance between the subject and the rent comps, a minimum number of units, a maximum number of units, a minimum year built, and a maximum year built. - **Exclusions**: you can exclude properties from the results. For example, you can exclude properties that are not good comps or properties that have already been selected. We will make sure we don't return them in the results. - **Already Selected**: you can also pass the ids of the properties that you want to force into the results. ### How to craft the payload: The endpoint accepts two types of payloads: **Option 1: Detailed Property (Recommended)** Use the result from `/property/{id}` endpoint as the `subject` field: ```typescript { subject: PropertyDetailsResponse, // from /property/{id} excluded_ids?: string[], // optional: exclude properties selected_ids?: string[] // optional: force include properties } ``` **Option 2: Simple Property** Use a simplified property object with basic information: ```typescript { simple_subject: { lat: number, // required: latitude lon: number, // required: longitude is_single_family: boolean, // required: property type is_apartment: boolean, // required: property type is_condo: boolean, // required: property type number_units?: number, // optional: total units year_built?: number, // optional: construction year number_stories?: number, // optional: building height avg_quality_prediction?: number, // optional: quality score (0-1) building_amenities?: string[], // optional: building features unit_amenities?: string[], // optional: unit features unit_mix?: Array<{ // optional: unit distribution bed: number, bath: number, count: number, avg_sqft: number }> }, excluded_ids?: string[], // optional: exclude properties selected_ids?: string[] // optional: force include properties } ``` **Recommendation**: Use Option 1 (detailed property) for best results. It provides comprehensive property information including market statistics, quality scores, unit details, and automatically detected values for missing fields. **When to use simple property**: Use Option 2 when you only have basic property information from your own systems and want to find similar properties based on fundamental characteristics like location, unit count, and amenities. ### Computing Similarities: If you are interested in simply getting similarities between properties, you can use the `comparables` endpoint. Pass the ids of the comps you want similarities for into the `selected_ids` field. And set `topN` to the same number of properties you are passing. We will return the similarities between the subject and the selected properties.

Authentication

x-api-keystring
API Key authentication via header
OR
AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Query parameters

topNdoubleOptional
The number of rent comps to return.
tierenumOptional
The tier of the property. Either 'valueAdd' or 'current'. When 'valueAdd', the results will assume a better condition of the property.
Allowed values:
renovationsdoubleOptional

The renovations to apply to the property. A value between 0.0 and 1.0 to add to the property quality. (e.g. 0.1 will transform a 0.4 quality property into a 0.5 quality property).

maxDistancedoubleOptional
The maximum distance in miles between the subject and the rent comps.
minDistancedoubleOptional
The minimum distance in miles between the subject and the rent comps.
minNumberUnitsdoubleOptional
The minimum number of units of the rent comps. Does not filter properties with no units.
maxNumberUnitsdoubleOptional
The maximum number of units of the rent comps. Does not filter properties with no units.
allowNullNumberUnitsbooleanOptional
When a number of units range is specified, whether to allow properties with no units to be included in the results. False by default.
minYearBuiltdoubleOptional
The minimum year built of the rent comps. Does not filter properties with no year built.
maxYearBuiltdoubleOptional
The maximum year built of the rent comps. Does not filter properties with no year built.
allowNullYearBuiltbooleanOptional
When a year built range is specified, whether to allow properties with no year built to be included in the results. False by default.
minNumberStoriesdoubleOptional
The minimum number of stories of the rent comps. Does not filter properties with no stories.
maxNumberStoriesdoubleOptional
The maximum number of stories of the rent comps. Does not filter properties with no stories.
allowNullNumberStoriesbooleanOptional
When a number of stories range is specified, whether to allow properties with no stories to be included in the results. False by default.
useEmbeddingbooleanOptional
isAffordablebooleanOptional
isSeniorbooleanOptional
isStudentbooleanOptional
maxMilesToUniversitydoubleOptional
maxMilesToHospitaldoubleOptional

Request

This endpoint expects an object.
objectRequired
OR
objectRequired

Response

The list of rent comps with high-level details.

comparableslist of objects
competition_profilelist of objects or null

Errors