Realtor.com
Realtor.com Search API
Search Realtor.com for-sale, pending, for-rent and sold listings by location, radius or agent. Filter by price, beds, baths, square feet, lot size, year built, garage, HOA, property type, listing, sold or price-cut recency, keywords in the listing description, new construction, foreclosure and open houses. Up to 200 listings per call with list or sold price and date, lot size, address with coordinates, MLS id and listing agent. Costs 1 credit per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonlocationstringWhere to search: a city ("Austin, TX"), county ("Travis County, TX"), ZIP code, state or neighborhood. Pass this, latitude + longitude + radius_miles, or agent_id.
Example: Maricopa County, AZ
latitudenumberCenter latitude for a radius search, with longitude and radius_miles.
Example: 33.4484
longitudenumberCenter longitude for a radius search.
Example: -112.074
radius_milesnumberRadius around latitude/longitude, 0.1 to 50 miles.
Example: 10
agent_idstringOnly this agent's listings (agent.agent_id from a search row, or agent_id from Agents).
Example: 642581
listing_statusstringdefault:for_saleWhich listings to search.
for_sale— Active listings, including pending and contingent, as on the site.pending— Only pending or contingent listings.for_rent— Rentals; prices are monthly rent.sold— Recorded sales with sold price and date.
exclude_pendingbooleanfor_sale only: leave out pending and contingent listings.
min_pricenumberMinimum price in USD: list price, sold price on sold, monthly rent on for_rent.
Example: 100000
max_pricenumberMaximum price in USD, same meaning as min_price.
Example: 500000
beds_minintegerMinimum bedrooms.
beds_maxintegerMaximum bedrooms.
baths_minnumberMinimum bathrooms.
baths_maxnumberMaximum bathrooms.
sqft_minintegerMinimum interior square feet.
sqft_maxintegerMaximum interior square feet.
lot_sqft_minintegerMinimum lot size in square feet (1 acre = 43,560).
Example: 43560
lot_sqft_maxintegerMaximum lot size in square feet.
year_built_minintegerBuilt in or after this year (1700-2100).
year_built_maxintegerBuilt in or before this year (1700-2100).
garage_minintegerMinimum garage spaces.
max_hoanumberMaximum monthly HOA fee in USD. Listings without an HOA fee are kept.
property_typesstring[]Only these property types (1-7 values).
Example: ["land"]
single_family— Single-family homes.condos— Condos and co-ops.townhomes— Townhomes.multi_family— Multi-family buildings.land— Land and lots.mobile— Mobile and manufactured homes.farm— Farms and ranches.
listed_within_daysintegerOnly listings listed in the last N days (1-3650).
sold_within_daysintegersold only: only sales in the last N days (1-3650). 730 is the last two years.
Example: 730
price_reduced_within_daysintegerOnly listings with a price cut in the last N days (1-3650).
keywordsstring[]Only listings whose listing description matches these keywords (1-10, each up to 60 characters).
Example: ["workshop"]
new_constructionbooleanOnly new construction.
foreclosurebooleanOnly foreclosures.
has_open_housebooleanOnly listings with an open house in the next 7 days.
sortstringdefault:relevanceResult order.
relevance— Realtor.com's default order.newest— Newest list date first.price_low— Lowest price first.price_high— Highest price first (sold price on sold).sold_newest— Most recent sale first (sold only).sqft_high— Largest interior first.lot_size_high— Largest lot first.year_built_new— Newest construction first.recently_updated— Most recently updated first.recently_reduced— Most recent price cut first.
pageintegerdefault:1Results page, 1-based. Stop at max_page.
Example: 2
page_sizeintegerdefault:50Listings per page, 1-200. page x page_size may not exceed 10,000.
Example: 200
Notes
Sold prices and non-disclosure states. In US sold-price non-disclosure states (Texas, Utah, Wyoming, Alaska, Idaho, Kansas, Louisiana, Mississippi, Montana, New Mexico, North Dakota and parts of Missouri) sold_price is null; sold_date still comes back. Arizona, as in the captured example, carries full sold prices.
10,000 results per search. Realtor.com serves the first 10,000 results of a search, so page x page_size may not exceed 10,000 and max_page stops there. To cover a bigger area, slice it: run one search per price band, property type, county or ZIP code.
Keywords search the listing description. keywords keeps only listings whose description text matches, for example ["workshop"] or ["live/work"]. It works with every other filter, so a keyword watch across cities is one call per city.
Land comps. listing_status: "sold" with property_types: ["land"], sold_within_days, a price band and lot_sqft_min returns sold lots with price, date, lot size and coordinates, up to 200 per call.
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Land sold in Maricopa County in the last two years, lots of 1 acre or more
res = client.realtor.search(
location="Maricopa County, AZ",
listing_status="sold",
property_types=["land"],
sold_within_days=730,
lot_sqft_min=43560,
page_size=200,
)
for l in res["data"]["listings"]:
print(l["sold_price"], l["sold_date"], l["lot_sqft"], l["address"]["city"])Response