Guides

Property Data and Comps

Daily Updated Property Data

HelloData helps you add real-time rent, availability, and property data to your rent surveys and real estate tech products. Collect data on fees, concessions, utilities, and over 300 unique property attributes using only an address.

The Flow

Graph of how to connect the different APIs together

Our endpoints center around a single PropertyDetails object, which contains all the information we have on a property. Here’s how to use our API:

1. Search for a property

This endpoint is free! Refine your search as much as needed.

Search by address, city, state, zip code, property name, or a combination of these.

$curl --location 'https://api.hellodata.ai/property/search?q=111%20w%20wacker' \
>--header 'x-api-key: token'

This returns a simple list of properties that match your search. You can then use the id to get more details on a specific property.

Response From Search
1[
2 {
3 "id": "0e628031-57b8-5394-821d-13779318fef4",
4 "lat": 41.88651,
5 "lon": -87.63141,
6 "building_name": "OneEleven",
7 "building_name_alias": [
8 "OneEleven"
9 ],
10 "street_address": "111 West Wacker Drive",
11 "street_address_alias": [
12 "111 West Wacker Drive",
13 "111 West Wacker"
14 ],
15 "city": "Chicago",
16 "state": "IL",
17 "zip_code": "60601",
18 "year_built": 2014,
19 "number_units": 505,
20 "score": 578730123365712000
21 }
22]

Enforcing a specific market

For automated searches, constrain results by zip code or state:

$curl --location 'https://api.hellodata.ai/property/search?zip_code=60601&q=111%20w%20wacker' \
>--header 'x-api-key: token'

2. Get property details

Use the id from the search results to get in-depth property information.

Get Property Details
$curl --location 'https://api.hellodata.ai/property/0e628031-57b8-5394-821d-13779318fef4' \
>--header 'x-api-key: token'

This returns an extremely detailed payload containing the entirety of the information we have on the property.

This payload contains the following information:

  • Property Location: Address, City, State, Zip Code, Latitude, Longitude, MSA.
  • Property Details: Number of units, year built, management company, etc.
  • Property Amenities: This is a list of all the amenities that are present in the property. We use a Natural Language Processing algorithm to extract this information from the text present on property’s websites.
  • Unit Amenities: This is a list of all the amenities that are present in the unit. We use a Natural Language Processing algorithm to extract this information from the text present on property’s websites.
  • Specials History: This is a list of all the specials that is being or have been offered by the property. It includes the special, the date range, the conditions, and the discounts. We use a Natural Language Processing algorithm to extract this information from the text present on property’s websites.
  • Pricing Strategy: This is an analysis of the pricing strategy of the property. It includes the average duration of a lease, the average price change, the average time on the market, the day of the week distribution, and the count of prices.
  • Building Quality: This is a score that we have calculated based on the pictures and the description of the property. It is a score between 0 and 1. Broken down by room.
  • Unit Availabilities: This is a list of all the availabilities that are present in the property. It includes the floorplan, the unit name, the floor, the availability, the price, the square footage, the days on the market, and the history of the availability.

For the full object details, check the Endpoint Documentation

3. Find Comparable Properties

Locate similar properties in the same market.

Comparable Properties Query
$curl --location 'https://api.hellodata.ai/property/comparables' \
>--header 'x-api-key: token' \
>--header 'Content-Type: application/json' \
>--data '{
> "subject": {
> <PropertyDetails>
> }
> "excluded_ids": [],
> "selected_ids": []
>}'

This will return a list of properties that are similar to the subject property. The list is sorted by similarity score, with the most similar properties at the top.

Each response object is rather simple, such that you can decide whether they are interesting to you or not before making a more detailed request like you did in the second step above. Here is an example with a single comparable property:

Comparable Properties Response
1{
2 "comparables": [
3 {
4 "id": "15599d82-be17-5b45-8003-0738de431104",
5 "lat": 41.88761,
6 "lon": -87.63816,
7 "year_built": 2015,
8 "number_units": 529,
9 "similarity_score": {
10 "distance_meters": 573.3983428508922,
11 "distance_miles": 0.35629409748772306,
12 "distance": 0.6493687463773125,
13 "number_units": 0.9894393078525705,
14 "vintage": 1,
15 "number_stories": 0.8753162865669926,
16 "quality": 0.9399914771951164,
17 "building_amenities": 0.7386363636363635,
18 "unit_amenities": 0.26785714285714285,
19 "unit_mix": {
20 "0": 0.758883952386279
21 },
22 "overall": 0.6525070566031329
23 },
24 "street_address": "343 West Wolf Point Plaza",
25 "street_address_alias": [
26 "343 West Wolf Point Plaza"
27 ],
28 "city": "Chicago",
29 "state": "IL",
30 "zip_code": "60654",
31 "building_name": "Wolf Point West",
32 "building_name_alias": [
33 "Wolf Point West",
34 "343 West Wolf Point Plaza"
35 ]
36 }
37 ]
38}

Add constraints to the comparables

Refine comparables:

  • Set distance limits (maxDistance)
  • Filter by units (minNumberUnits, maxNumberUnits)
  • Filter by year built (minYearBuilt, maxYearBuilt`)
  • Filter by number of stories (minNumberStories, maxNumberStories)

For examples and more details, check the Endpoint Documentation

Exclude and Include specific properties

  • If you have already seen some properties and want to exclude them from the results, you can add their id to the excluded_ids array in the request. They will not appear in the results.
  • You may also tell the API that you want some specific properties to be selected. In that case, you can add their id to the selected_ids array in the request. The API will return these properties first, and then if topN is high enough, it will also add best next comparables to the response.

We are working on a feature that will make use of the properties you have selected to improve the results. Stay tuned!

Retrieve the details of a comparable property

Once you have found a property that you are interested in, you can retrieve its details using the Get Property endpoint, just like you did with the subject property.

Caching

To reduce API costs, cache results from the Get Property endpoint for a few hours. Data generally doesn’t change throughout the day.

Let us know if you have any questions or feedback!

Let me know if you have any other changes you’d like to make!