Property Data API Overview

Request

Properties can be requested by a variety of methods. Choose the method below based on what works best for your application.

Conforming address type:

https://estated.com/api/property?token={ YOUR_API_TOKEN_HERE }&address=151+Battle+Green+Dr&city=Rochester&state=NY&zipcode=14624

Required fields:

  • address
  • city
  • state

Optional fields:

  • zipcode

Fully qualified type:

https://estated.com/api/property?token={ YOUR_API_TOKEN_HERE }&unit_number=101&unit_type=apt&street_number=1651&street_name=North+Dayton&street_suffix=Street&city=Chicago&state=IL&zipcode=60614

Required fields:

  • street_number
  • street_name
  • street_suffix
  • city
  • state

Optional fields:

  • unit_number
  • unit_type
  • street_direction
  • zipcode

Conjoined type:

https://estated.com/api/property?token={ YOUR_API_TOKEN_HERE }&conjoined_address=151+Battle+Green+Dr,Rochester,NY+14624

Elements in string, separated by commas. Optional elements in brackets:

  • (unit number + unit type) + street number + street name + street suffix
  • city
  • state + zipcode

Property Id:

https://estated.com/api/property?token={ YOUR_API_TOKEN_HERE }&property_id=945046

Required fields:

  • property_id

Response

Responses include a status with string value to indicate success or error. In the case of a successful response, a data object is included with the response body. Otherwise a human readable error message will be provided.

Successful response:

{
    "status": "success",
    "data": {a data object}
}

Error response: (View error codes)

{
    "status": "error",
    "message": "No token provided."
}

Data object

A successful call will include a data object.

"data": {
    "property": {a property object},
    "geographic": {a geographic object},
}

Property object

A full property object has the following characteristics:

"property": {
    "metadata": {
        "address_match": "exact",
        "property_classification_code": "",
        "property_id": "",
        "updated_at": "",
        "error_message": null
    },
    "address": {an address object},
    "site": {a site object},
    "structures": {a structures object},
    "status": {a status object},
    "postal": {a postal object},
    "valuation": {a valuation object},
    "taxes": {a taxes object},
    "sales": {a sales object},
    "mortgages": {a mortgages object},
    "owners": {an owners object},
    "comparables": {a comparables object}
}

Click here for the property object schema


Geographic object

Geographic data surrounding the property on a census tract level.

"geographic": {
    "districts": {a districts object},
    "entities": {an entities object}
}

Click here for the geographic object schema


Responses

Responses include a status with string value to indicate success or error. In the case of a successful response, a data object is included with the response body. Otherwise a human readable error message will be provided.

Successful response:

{
    "status": "success",
    "data": {a data object}
}

Error response: (View error codes)

{
    "status": "error",
    "message": "No token provided."
}

Return values

Values returned will match the data type as specified for each field in the schema (integer, string, decimal, etc). The possible values for each datatype is shown below.

Absence describes when it is known that a feature does not exist, Unknown describes when the data could not be found. For example, if a property does not have a garage, the garage_size field will return "0". If we don't have data on whether it has a garage or not, the return value will be NULL.

Data type Absence Unknown (data unavailable) Value
Integer 0 NULL Natural number
Decimal 0 NULL Decimal number
String Empty string NULL String
Boolean false NULL true/false
Date Empty string NULL YYYY-MM-DD
Datetime Empty string NULL YYYY-MM-DD HH:MM:SS
JSON string [{"field":""}] [{"field":NULL}] [{"field":"value"}]

Errors

Errors happen either because of a problem occurred with the key or the request. The level at which the result provides an error differs based on where the error occurs within the request.

Error message Description
No token provided. No key was provided in the token parameter of the request.
Invalid token. Key supplied in the token parameter of the request is not a valid key or has been disabled.
Invalid endpoint. Key supplied in the token parameter of the request is not authorized for the endpoint used.
Trial limit reached. Key supplied in the token parameter of the request has reached its trial call limit.
Account inactive. The account which owns the key is not active.
Credit limit reached. The account which owns the key has reached the maximum credit limit allowed for the billing period.
Missing search parameters. There was not enough search parameters supplied to complete the request.
Could not parse address. The supplied address is not in a valid format.
No results found. We were unable to find results for the request.