Onthemarket APIonthemarket.com ↗
Search for rental homes on OnTheMarket.com by location, price, bedrooms, property type, and keywords to find your next place to live. Filter results across thousands of available rentals to narrow down properties that match your specific needs and budget.
curl -X GET 'https://api.parse.bot/scraper/fcb9bd7d-a4e6-4105-80a4-ba97b8eab5cd/search_rentals?page=1&keywords=garden&location=SW1A+1AA&max_price=5000&min_price=1000&max_bedrooms=3&min_bedrooms=2&property_type=detached' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace onthemarket-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: OnTheMarket SDK — bounded, re-runnable; every call capped."""
from parse_apis.onthemarket_com_api import OnTheMarket, PropertyType, LocationNotFound
client = OnTheMarket()
# Search for flats to rent near a London postcode, filtered by price and bedrooms
for prop in client.rental_properties.search(
location="SW1A 1AA",
property_type=PropertyType.FLAT,
min_bedrooms=2,
max_price=5000,
limit=3,
):
print(prop.address, prop.price, prop.bedrooms, prop.property_type)
# Drill-down: take one result
result = client.rental_properties.search(
location="manchester", keywords="garden", limit=1
).first()
if result:
print(result.property_title, result.short_price, result.agent_name)
# Typed error handling
try:
for p in client.rental_properties.search(location="ZZZZZ999", limit=1):
print(p.address)
except LocationNotFound as e:
print(f"Location not found: {e.location}")
print("exercised: rental_properties.search")
Search rental properties by location with optional filters for price range (PCM), bedroom count, property type, and keywords. Returns paginated results with 30 properties per page, auto-iterated by the SDK. Results include address, price, bedrooms, bathrooms, features, agent details, and coordinates.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (30 results per page). |
| keywords | string | Keyword filter for property descriptions (e.g. 'garden', 'air-conditioning', 'parking'). |
| locationrequired | string | UK postcode (e.g. 'SW1A 1AA') or area/city name (e.g. 'london', 'manchester'). Resolved to a location slug via the OnTheMarket autocomplete API. |
| max_price | integer | Maximum monthly rent in GBP (per calendar month). |
| min_price | integer | Minimum monthly rent in GBP (per calendar month). |
| max_bedrooms | integer | Maximum number of bedrooms. |
| min_bedrooms | integer | Minimum number of bedrooms. |
| property_type | string | Filter by property type. When omitted, all property types are returned. |
{
"type": "object",
"fields": {
"page": "current page number",
"per_page": "number of results per page (always 30)",
"properties": "array of rental property listings",
"total_results": "total number of matching properties"
},
"sample": {
"data": {
"page": 1,
"per_page": 30,
"properties": [
{
"id": "15071921",
"price": "£3,900 pcm (£900 pw)",
"address": "Buckingham Gate, London, SW1E",
"bedrooms": 2,
"features": [
"Nearest station 0.2mi.",
"Furnished",
"Nearest school 0.1mi."
],
"latitude": 51.49891,
"bathrooms": 2,
"image_url": "https://media.onthemarket.com/properties/15071921/1628608525/image-0-480x320.webp",
"longitude": -0.138518,
"agent_name": "Chestertons - Westminster",
"agent_phone": "020 8022 7380",
"details_url": "https://www.onthemarket.com/details/15071921/",
"short_price": "£3,900",
"property_type": "Flat",
"property_title": "2 bedroom flat to rent",
"days_since_added": "Added > 14 days"
}
],
"total_results": 5
},
"status": "success"
}
}About the Onthemarket API
The Onthemarket API on Parse exposes 1 endpoint for the publicly available data on onthemarket.com. Calls return JSON over HTTPS and are billed per successful response.
Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.