Property Search API (COPY)

Changed on

Searchable API for list building, search counts, and advanced filtering on properties. You can also use this API to implement your own comparables API, or property analytics API. Questions? Contact our team to ask us for best practices with using this API.This API implements easy paging so your apps can easily manage filtered results in a results pane with paging. When your user clicks on a result, just use the id from this API to get the full property results using the Property Detail API. Questions on best practices for implementing paged property results in your app? Just contact our team.

post/v2/PropertySearch (COPY)

Request

  • Base URL
    https://api.realestateapi.com
  • URL
    https://api.realestateapi.com/v2/PropertySearch (COPY)
  • Auth
    API key in header x-api-key

Headers

x-api-keystring required

User's API key

x-user-idstring

Denote a unique user identifier to this api call by passing it in this header field

Request body

countboolean

Set to true to only return the count for the total number of records that would be returned for the search and not the records themselves.

idsinteger[]

Provide a list of property IDs from past or saved Property Searches to pull back all of the enriched fields

ids_onlyboolean

Returns up to 10,000 property IDs matching your search criteria. When provided, the "size" and "resultIndex" will be ignored.

obfuscateboolean

Will remove the address and name fields on the properties returned

sortobject

Sorts result set based on user defined sorting definitions across the Property Search fields

summaryboolean

Returns an aggregation of all lead types in a summary object. The summary object will return totals for each lead type within the context of the given search.

resultIndexinteger

Used with size to accomplish paging. The server will skip the number of records specified by resultIndex, and return the records starting after the resultIndex. The total number of records returned will not be greater than the size specified, or a max of 250 set by the server.

sizeinteger

Set to the maximum number of records that the server can return for the search. Used in conjunction with resultIndex for paging results.

addressstring

Fully formatted address for a property search. This should include house, street, city, state and zip

housestring

Used to search for specific house numbers. Must be accompanied with state or zip to limit results.

streetstring

Used to search searching street names only. Must be accompanied with state or zip to limit results.

citystring

Used to search within a city only. Must be accompanied with state or zip to limit results.

statestring

Used to search within a state. Must be accompanied by city, house, or street to limit results.

countystring

Used to search within a county. Must be accompanied by state, or zip.

zipstring

Used to search within a US zip code. An array of zips (of type:string) can also be provided to this field.

latitudenumber float

If latitude & longitude are provided, the search radius will be calculated with that set of coordinates as center

longitudenumber float

If latitude & longitude are provided, the search radius will be calculated with that set of coordinates as center

radiusinteger

Provide a search radius between 0.1-10 miles for narrowing your search

property_type'SFR' | 'MFR' | 'LAND' | 'CONDO' | 'MOBILE' | 'OTHER'

Provide the type of residences/properties you are looking for

property_use_codeinteger

Also accepts an Array of Integers, where each integer is one of our accepted Property Use Codes.

mls_activeboolean

Find active MLS listings

mls_pendingboolean

Find pending MLS sales that are expected to close

mls_cancelledboolean

Find terminated MLS listings

mls_days_on_market_mininteger
mls_days_on_market_maxinteger
mls_listing_price_mininteger

Lower bound used with mls_listing_max to only find properties with MLS listing prices within a defined range

mls_listing_price_maxinteger

Minimum value of 1

mls_listing_priceinteger

The official MLS listing price for the property

mls_listing_price_operator'lt' | 'lte' | 'gt' | 'gte'

mls_operator is to be used with mls_listing_price to indicate a range less than or greater than starting with that listing price. For example, { mls_listing_price: 100000, mls_operator: 'gte' } would retrieve all properties with an MLS listing price of $100,000 or more

idstring

AutoComplete Field. Can be a string or an integer. Represents the unique property id in the case of full address autocomplete searches.

apnstring

AutoComplete Field. The Property's unique tax assessor identifier, returned as part of the AutoComplete API response.

stateIdstring

AutoComplete Field.

countyIdstring

AutoComplete Field.

neighborhood_idinteger

Autocomplete field.

neighborhood_namestring

Autocomplete field.

searchType'A' | 'C' | 'N' | 'S' | 'Z' | 'G' | 'T'

AutoComplete Field. A = full address ; C = city ; N = county; S = street ; Z = zip; G = neighborhood; T = state

fipsstring

AutoComplete Field.

titlestring

AutoComplete Field.

absentee_ownerboolean

Used for searching for properties where the owner is not currently a resident. Generally signifies a tenant or non-owner occupied property.

adjustable_rateboolean

Indicates if the current mortgage on the property has an adjustable rate.

assumableboolean

Indicates if the mortgage on a given property is assumable.

atticboolean
auctionboolean

Used to find properties with an auction date. Used with search_range or a default max of 1 year.

basementboolean

Used to find properties with a basement.

breezewayboolean
carportboolean
cash_buyerboolean

Indicates if the property ownership is subsequent to an all cash transaction

corporate_ownedboolean

Used to find properties where one of the owners is company.

deathboolean

Used to find properties where the property owner on the deed is recently deceased. Can be used for probate lists.

deckboolean

Used to find properties that have a deck

equityboolean

Indicates if a property is estimated to have a positive equity amount (>0)

feature_balconyboolean
fire_sprinklersboolean
flood_zoneboolean

Indicates if the property is in a flood zone area. This flag can be used in conjunction with "flood_zone_type" to get more specific result sets.

foreclosureboolean

Used to find properties in foreclosure. Used with search_range or a default max of 1 year.

free_clearboolean

Used to find properties without an open mortgage.

garageboolean

Used to find properties with a physical structure marked for garage use.

high_equityboolean

Indicates properties with high equity (>39%)

inheritedboolean

Set to true to search inherited properties

in_state_ownerboolean

Used to find properties with an owner whose mailing address is in the same state as the property address.

investor_buyerboolean

Signals that the property was cash purchased by an absentee owner/investor, rather than individual like with the cash_buyer flag

judgmentboolean

Used to find properties where a lawsuit has been filed against a property owner or a party involved in a real estate transaction, and the court rules in favor of one of the parties, and issued a judgment.

mfh_2to4boolean

Multi-family homes with 2 to 4 units

mfh_5plusboolean

Multi-family homes with 5 or more units

negative_equityboolean

Indicates if a property is estimated to have negative equity

out_of_state_ownerboolean

Used to find properties with an owner whose mailing address is in a different state as the property address.

patioboolean
poolboolean

Used to find properties with a pool

pre_foreclosureboolean

Used to find poperties that have received any notice of preforeclosure. Used with search_range or a default max of 1 year.

prior_owner_individualboolean
private_lenderboolean

Returns all properties that are currently financed by a private lender

quit_claimboolean

Indicates if the property ownership was subsequent to a quit claim

reoboolean

Used to find properties owned by a bank, trust, services entity, or tax entity. Used with search_range or a default max of 1 year.

rv_parkingboolean
tax_lienboolean

Find properties where there is a tax lien against the property

vacantboolean

Used to find properties that are vacant

census_blockstring

Values 1000-5000

census_block_groupstring

Values 0-10

census_tractstring

Official tract number from the U.S. Census Bureau

constructionstring
document_type_codestring

Used to find a specific document type for more granular searches other than the booleans provided. This field can also be assigned an array of document type codes. Used in conjunction with search_range, or a maximum default value of 1 year.

flood_zone_typestring

B, C, X (for moderate to low risk areas); A, AE, A1-30, AH, AO, AR, A99, V, VE, V1 - V30 (High Risk - Coastal Areas); D (Undetermined Risk Zone)

loan_type_code_firststring
loan_type_code_secondstring
loan_type_code_thirdstring
notice_type'FOR' | 'NOD' | 'NOL' | 'NTS' | 'REO'

Search by the Recording Date of the .foreclosureInfo data for the specified notice type

parcel_account_numberstring

e.g. 05-00925.01

search_range'1_MONTH' | '2_MONTH' | '3_MONTH' | '6_MONTH' | '1_YEAR'

Used in conjunction for reo, auction, foreclosure, and preforeclosure searches to limit the search to only return records where the event happened within the provided range. All ranges work from NOW back to the provided range.

sewagestring

Options: Municipal, Yes, Septic, None, Storm

water_sourcestring

Full list of water source types you can filter by: https://developer.realestateapi.com/reference/water-source-searches

estimated_equityinteger

Used in conjunction with the equity_percent_operator to find properties where the estimated equity amount is greater than or less than the value provided. Equity dollar amount is computed as the difference of the estimated value less any known open mortgages.

equity_operator'lt' | 'lte' | 'gt' | 'gte'

Comparison operator for searches using estimated_equity. Returns properties based on a greater than, or less than operation coupled with the value provided for estimated_equity which is based on total dollars of equity estimated from the estimated value and any known open mortgages.

equity_percentinteger

Used in conjunction with the equity_percent_operator to find properties where the equity percentage is greater than or less than the value provided. Equity percentage is a based on the difference of the computed LTV.

equity_percent_operator'lt' | 'lte' | 'gt' | 'gte'

Comparison operator for searches using equity_percent. Returns properties based on a greater than, or less than operation coupled with the value provided for equity_percent which is based on the difference of the calculated LTV.

last_sale_datestring date

Find properties based on the date of the last sale history transaction

last_sale_date_operator'lt' | 'lte' | 'gt' | 'gte'

Used in conjunction with "last_sale_date" to find properties that satisfy the range for when they were last sold in a transaction.

median_incomeinteger

Find properties based on the median income of the Areas that contain the properties

median_income_operator'lt' | 'lte' | 'gt' | 'gte'

Used in conjunction with the "median_income" field in order to specify the range lower or higher you want to look at from the given median_income.

years_ownedinteger

Number value of the years owned you are searching for. To be used with years_owned_operator

years_owned_operator'lt' | 'lte' | 'gt' | 'gte'

Operator for less than and greater than searches on years_owned field

assessed_improvement_value_mininteger

Value range search against the county assessed improvement value

assessed_improvement_value_maxinteger
assessed_land_value_mininteger

Value range search against the county assessed land value

assessed_land_value_maxinteger
assessed_value_mininteger

Value range search against the county assessed value

assessed_value_maxinteger
auction_date_minstring date

filter on dates of upcoming foreclosure auctions (e.g. Current Date "2024-05-01" & set a future date range of "2024-05-15" to "2024-05-30")

auction_date_maxstring date
baths_mininteger

Used for searching a range of properties with bathrooms between a min and max. Minimum numbers of bathrooms for the given property search

baths_maxinteger

Used for searching a range of properties with bathrooms between a min and max. Maximum numbers of bathrooms for the given property search

beds_mininteger

Used for searching a range of properties with bedrooms between a min and max. Minimum numbers of bedrooms for the given property search

beds_maxinteger

Used for searching a range of properties with bedrooms between a min and max. Maximum numbers of bedrooms for the given property search

building_size_mininteger

Used for searching a range of properties with an interior, living square footage between a min and max. Minimum square footage of the interior living space for the given property search

building_size_maxinteger

Used for searching a range of properties with an interior, living square footage between a min and max. Maximum square footage of the interior living space for the given property search

deck_area_mininteger

In sq. ft.

deck_area_maxstring

In sq. ft.

estimated_equity_mininteger
estimated_equity_maxinteger
last_sale_date_minstring date

Minimum Date for the last sale transaction date

last_sale_date_maxstring date

Maximum Date for the last sale transaction date

last_sale_price_mininteger
last_sale_price_maxinteger
lot_size_mininteger

Used for searching a range of properties with lot sizes between a min and max. Minimum square footage of the exterior lot built for the given property search

lot_size_maxinteger

Used for searching a range of properties with lot sizes between a min and max. Maximum square footage of the exterior lot built for the given property search

ltv_mininteger

Min. of 0

ltv_maxstring

Max of 100

median_income_mininteger
median_income_maxinteger
mortgage_mininteger

Used for searching a range of properties with an estimated total of open mortgages between a min and max. Minimum estimated amount for all open mortgages for the given property search.

mortgage_maxinteger

Used for searching a range of properties with an estimated total of open mortgages between a min and max. Maximum estimated amount for all open mortgages for the given property search.

rooms_mininteger

Used for setting the minimum on the number of total rooms you want your properties to have.

rooms_maxinteger

Used for setting the maximum on the number of total rooms you want your properties to have.

pool_area_mininteger

In sq. ft.

pool_area_maxinteger

In sq. ft.

portfolio_equity_mininteger

Used to find properties where the minimum ownership interest or the stake that an investor has in the portfolio is as specified. Portfolio equity is the difference between the total value of the portfolio and any outstanding debts or liabilities related to the portfolio.

portfolio_equity_maxinteger

Used to find properties where the maximum ownership interest or the stake that an investor has in the portfolio is as specified. Portfolio equity is the difference between the total value of the portfolio and any outstanding debts or liabilities related to the portfolio.

portfolio_mortgage_balance_mininteger
portfolio_mortgage_balance_maxinteger
portfolio_purchased_last12_mininteger
portfolio_purchased_last12_maxinteger
portfolio_purchased_last6_mininteger
portfolio_purchased_last6_maxinteger
portfolio_value_mininteger
portfolio_value_maxinteger
pre_foreclosure_date_minstring date
pre_foreclosure_date_maxstring date
prior_owner_months_owned_mininteger
prior_owner_months_owned_maxinteger
properties_owned_mininteger

The minimum amount of total properties that any property owner's portfolio will have for each property returned.

properties_owned_maxinteger

The maximum amount of total properties that any property owner's portfolio will have for each property returned.

stories_mininteger

The minimum amount of floors/stories you want properties in your response to have

stories_maxinteger

The maximum amount of floors/stories you want properties in your response to have

tax_delinquent_year_mininteger

2019 - 2022 range yields most results. Matching Min & Max will give a single year range.

tax_delinquent_year_maxinteger

2019 - 2022 range yields most results. Matching Min & Max will give a single year range.

units_mininteger

The minimum amount of individual units that the property contains

units_maxinteger

The maximum amount of individual units that the property contains

value_mininteger

Used for searching a range of properties with an estimated value between a min and max. Minimum estimated value for the given property search

value_maxinteger

Used for searching a range of properties with an estimated value between a min and max. Maximum estimated value for the given property search.

year_mininteger

Deprecation Notice (replace with year_built_min). Used for searching a range of properties built between a min and max. Minimum year built for the given property search

year_maxinteger

Deprecation Notice (replace with year_built_min). Used for searching a range of properties built between a min and max. Maximum year built for the given property search

year_built_mininteger

Used for searching a range of properties built between a min and max. Minimum year built for the given property search

year_built_maxinteger

Used for searching a range of properties built between a min and max. Minimum year built for the given property search

years_owned_mininteger

Number value for lower bound of a range search for years_owned. Used in conjunction with years_owned_max

years_owned_maxinteger

Number value for lower bound of a range search for years_owned. Used in conjunction with years_owned_min.

last_update_date_minstring date

fetch property IDs of properties that have been updated in a given time range.

last_update_date_maxstring date
foreclosure_date_minstring date
foreclosure_date_maxstring date

Response

200

OR
OR
OR

Example response

{
  "live": true,
  "input": {
    "mls_active": true,
    "city": "Herndon",
    "state": "VA"
  },
  "data": [
    {
      "address": {
        "address": "13723 Neil Armstrong Ave Unit 308, Herndon, Va 20171",
        "city": "Herndon",
        "county": "Fairfax",
        "state": "VA",
        "street": "13723 Neil Armstrong Ave Unit 308",
        "zip": "20171"
      },
      "assessedImprovementValue": 326590,
      "assessedLandValue": 82000,
      "assessedValue": 408590,
      "bathrooms": 2,
      "bedrooms": 2,
      "documentType": "Grant Deed",
      "documentTypeCode": "DTGD",
      "equityPercent": 38,
      "estimatedEquity": 189084,
      "estimatedValue": 490308,
      "floodZone": true,
      "floodZoneDescription": "AREA OF MINIMAL FLOOD HAZARD",
      "floodZoneType": "X",
      "id": "253175355",
      "landUse": "Residential",
      "lastSaleAmount": "418000",
      "lastSaleDate": "2020-07-23",
      "latitude": 38.920743,
      "lenderName": "One American Mtg",
      "longitude": -77.421772,
      "mailAddress": {
        "address": "13723 Neil Armstrong Ave Unit 308, Herndon, Va 20171",
        "city": "Herndon",
        "county": "Fairfax",
        "state": "VA",
        "street": "13723 Neil Armstrong Ave Unit 308",
        "zip": "20171"
      },
      "medianIncome": "150066",
      "mlsActive": true,
      "mlsDaysOnMarket": 101,
      "mlsLastSaleDate": "2020-07-23",
      "mlsLastStatusDate": "2023-04-15",
      "mlsListingDate": "2023-04-15",
      "mlsListingPrice": 2500,
      "mlsStatus": "Active",
      "mlsType": "ForSale",
      "neighborhood": {
        "center": "POINT(-77.421701188095 38.919564722822)",
        "id": "63205",
        "name": "Discovery Square",
        "type": "subdivision"
      },
      "openMortgageBalance": 313500,
      "owner1FirstName": "Attili",
      "owner1LastName": "Srinivas",
      "owner2FirstName": "Attili",
      "owner2LastName": "Manjusha",
      "ownerOccupied": true,
      "propertyId": "253175355",
      "propertyType": "CONDO",
      "propertyUse": "Condominium",
      "propertyUseCode": 366,
      "roomsCount": 5,
      "squareFeet": 1323,
      "suggestedRent": "2070",
      "yearBuilt": 2015,
      "yearsOwned": 3
    }
  ],
  "resultCount": 156,
  "resultIndex": 50,
  "recordCount": 50,
  "statusCode": 200,
  "statusMessage": "success",
  "requestExecutionTimeMS": "126ms"
}

Changes