Rightmove
Rightmove Property API
One Rightmove listing in full, by property_id or URL: price and qualifier, description, key features, rooms, sizes, images, floorplans, brochures, EPC, tenure and lease years remaining, council tax band, service charge and ground rent, heating, parking, garden, accessibility and flood-risk details, broadband, nearest stations, letting terms and the agent branch with phone. 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 listing id from Search. Pass this or url.
Example: 93577917
urlstringA rightmove.co.uk/properties/<id> URL. Alternative to property_id.
Example: https://www.rightmove.co.uk/properties/93577917
Notes
No price history on live listings. A live listing carries its current price and listing_update (for example "Reduced on 07/10/2026"), not a price history. For an address's past sales, use Sold Prices and Sold Property (England and Wales).
Removed listings are a billed 404. Listings come down when they sell or let. Requesting one that has gone returns a 404 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.rightmove.property(property_id="93577917")
p = res["data"]
print(p["price_display"], p["price_qualifier"], p["tenure"]["type"], p["council_tax_band"])
print(p["price_per_sqft"], p["key_features"])
for s in p["nearest_stations"]:
print(s["name"], round(s["distance_miles"], 2))Response