Realtor.com
Realtor.com Property API
One Realtor.com property in full, by property_id or URL: description and detail groups, price history, tax history with assessed and market values, three home value estimates with ranges plus their history and forecast, nearby schools with ratings, flood, wildfire and noise risk, listing popularity, the listing agent and office with contact details, a mortgage estimate, photos and the MLS disclaimer. 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/jsonproperty_idstringNumeric property id from Search, or from an address in Locations. Pass this or url.
Example: 9564057635
urlstringA realtor.com property or rental URL, ending in _M<digits>-<digits>. Alternative to property_id.
Example: https://www.realtor.com/realestateandhomes-detail/7202-Eagle-Rose-Rd_Austin_TX_78744_M95640-57635
Notes
Some blocks can be empty. valuations, valuation_history, valuation_forecast, tax_history, schools and risk can be empty or null for land and new construction. The captured example is a new-construction home listed the same day, so it has schools and risk but no estimates or tax history yet.
Sold prices in non-disclosure states. In Texas, Utah, Wyoming and the other US non-disclosure states, sold_price and the price on "Sold" history events are null: unknown, not zero. Dates are still returned.
Unknown ids are billed. A property_id that Realtor.com does not know returns a 404 naming the id, and costs 1 credit. Temporary failures (502/503) are not billed.
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
res = client.realtor.property(property_id="9564057635")
p = res["data"]
print(p["list_price"], p["beds"], p["baths"], p["sqft"], p["lot_sqft"])
for e in p["property_history"]:
print(e["date"], e["event"], e["price"])
for v in p["valuations"]:
print(v["source"], v["estimate"], v["low"], v["high"])
print(p["risk"]["flood_severity"], p["listing_agent"]["phone"])Response