OpenRent Property Scraper
Pricing
$15.00 / 1,000 property listings
OpenRent Property Scraper
Scrape every OpenRent rental listing from any search URL: rent, deposit, bills, tenant rules, date listed and days on market, photos, EPC, transport, nearby schools and landlord response rates. Only new listings on repeat runs, plus a delisting report.
Pricing
$15.00 / 1,000 property listings
Rating
5.0
(1)
Developer
VividSoftwares
Maintained by CommunityActor stats
1
Bookmarked
57
Total users
8
Monthly active users
8 days ago
Last modified
Categories
Share
What does OpenRent Property Scraper do?
OpenRent Property Scraper extracts rental listings from OpenRent, the UK's largest letting platform for private landlords. Paste any OpenRent search URL and you get every matching listing as clean JSON, not just the first screenful. Each listing includes the rent (monthly and weekly), deposit, bedrooms, bathrooms and maximum tenants, and the date it was listed and days on market. It also has the available-from date, minimum tenancy, and whether bills are included. Tenant rules are covered too: students, families, DSS/LHA, pets and smokers, plus garden, parking, fireplace, furnishing and EPC rating. You also get the full description, every photo, video tour and online-viewing flags, nearby stations and schools with walking times, coordinates with Google Maps and Street View links, and the landlord's public response rate and response time.
It is a dedicated OpenRent scraper and a practical UK rental listings API. Run it from Apify Console, call it over the API, schedule it, or connect it to AI agents through MCP.
- 🏠 Whole properties, studios and rooms in shared houses anywhere in the UK
- 🔍 Every OpenRent filter: price (monthly or weekly), bedrooms, bathrooms, radius, bills included, pets, students, families, DSS, furnishing, garden, parking, video tours, move-in date and tenancy length
- 🆕 Only new listings on repeat runs, and a delisting report showing which homes were let agreed or taken down
Why use this OpenRent scraper?
- Every listing, not just the first screen. OpenRent loads results as you scroll. This Actor reads the whole result set in one go and applies your filters exactly as OpenRent does.
- Fast. No browser is needed: one request per search, then listing pages in parallel. A thousand full listings take a couple of minutes.
- Market timing data: the date each listing went live and its days on market, the available-from date and the minimum tenancy.
- Complete tenant rules for every listing, not just the ones you filtered on.
- Only new listings on repeat runs: listings you already received are skipped and not charged.
- Delisting report: see which homes were let agreed or removed since your last run.
Common uses:
- Rental market research across London, Manchester, Birmingham, Leeds, Bristol and every other UK town
- Rent and days-on-market tracking by postcode district
- Lettings and property management lead research: active private landlords by area, with public response rates
- Tenant search automation: alerts for new flats, rooms or houses that match strict criteria
- Housing and student-accommodation studies
- Property data for AI agents and automations
How to scrape OpenRent listings
Option 1: paste an OpenRent URL (recommended)
- Go to openrent.co.uk, search a town, city or postcode, and set any filters.
- Copy the results URL from your browser, for example
https://www.openrent.co.uk/properties-to-rent/manchester?term=Manchester&prices_max=1200&bedrooms_min=1&acceptPets=true. - Paste it into OpenRent search or listing URLs, set Maximum listings (or leave it empty for everything) and click Start.
You can paste as many URLs as you like, including single listing pages such as openrent.co.uk/2865841. Filters in the URL are applied exactly as OpenRent applies them, including weekly prices, studios (bedrooms_min=0), rooms in shared houses (bedrooms_min=-1 or /rooms), /houses and /flats, radius (area), move-in date and tenancy length.
Option 2: use the optional search builder
Enter a Location and pick the filters you want. The builder produces the same search OpenRent would, and URLs and builder searches can be combined in one run. Duplicates are removed.
Download results as JSON, CSV, Excel or HTML, or read them through the API.
Input
| Field | Description |
|---|---|
startUrls | Main input. OpenRent search or listing URLs. Every matching listing is collected. |
search_location | Search builder location: town, city, area or postcode district |
search_radius_km | Radius around the location |
search_min_price, search_max_price | Monthly rent range in £ |
search_bedrooms_min, search_bedrooms_max | 0 = studio, -1 = room in a shared house |
search_bathrooms_min | Minimum bathrooms |
search_property_type | Houses, flats or rooms |
search_furnishing | Furnished or unfurnished only |
search_minimum_tenancy | Longest acceptable minimum tenancy in months |
search_sort_by | Distance, price low to high, price high to low, newest |
search_students_allowed, search_families_allowed, search_dss_accepted, search_pets_allowed, search_bills_included, search_garden, search_parking, search_fireplace, search_video_tour | Tick-box filters |
onlyAvailableProperties | Leave out let-agreed listings (default on) |
maxItems | Maximum number of saved listings (empty = every matching listing) |
scrapeDetails | Read each listing page for the full details (default on) |
includeImages | Include photo URLs (default on) |
includeDuplicates | Include listings from previous runs (default off) |
reportDelisted | Report listings that disappeared since your last run of the same search (default on, free) |
proxyConfiguration | Apify Proxy, used automatically on the platform |
Example input: OpenRent URL
{"startUrls": ["https://www.openrent.co.uk/properties-to-rent/bristol?term=Bristol&bedrooms_min=2&includeBills=true"],"maxItems": 200}
Example input: search builder
{"search_location": "Leeds","search_radius_km": 5,"search_max_price": 1200,"search_bedrooms_min": 2,"search_pets_allowed": true,"search_sort_by": "newest","maxItems": 100}
Output
Each listing is one dataset item. Fields that OpenRent does not show for a listing are left out rather than guessed. Field names are stable, so existing integrations keep working.
Example listing
{"listing_id": "2603762","link": "https://www.openrent.co.uk/2603762","price_pcm": 875,"price_pw": 201.92,"rent": "£875.00","rent_per_week": "£201.92","bedrooms": "1","bathrooms": "1","property_category": "Flat","is_studio": false,"is_room_in_shared_house": false,"students_allowed": false,"non_students_allowed": true,"families_allowed": true,"dss_accepted": false,"pets_allowed": false,"bills_included": false,"garden": false,"parking": true,"fireplace": true,"furnishing": "Unfurnished","has_video_tour": false,"video_viewings": false,"minimum_tenancy_months": 12,"available_from_date": "2026-11-01","date_listed": "2026-09-14T10:42:22.380000+00:00","days_on_market": 13,"property_status": "Available","latitude": "50.735924","longitude": "-3.5130692","search_distance": "2.44","google_maps_url": "https://www.google.com/maps/search/?api=1&query=50.735924,-3.513069","street_view_url": "https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=50.735924,-3.513069","title": "1 Bed Flat, Stoke Hill Crescent, EX4","deposit": "£1009.61","deposit_amount": 1009.61,"available_from": "01 November, 2026","property_type": "Flat","address": "Stoke Hill Crescent","location": "Exeter","postcode": "EX4","max_tenants": "2","smokers_allowed": false,"epc_rating": "E","description": "We are proud to offer this delightful 1 bedroom, 1 bathroom flat in a great location close to local amenities. A local bus route & train station is nearby.\nKey points -\nMorrisons supermarket & petrol station is 0.6 miles …","property_reference": "2603762","nearby_schools": [{"name": "Stoke Hill Infant and Nursery School","distance_km": 0.1,"levels": ["Nursery","Primary"],"walk_time_minutes": 1},{"name": "Stoke Hill Junior School","distance_km": 0.3,"levels": ["Primary"],"walk_time_minutes": 5}],"map_image_url": "https://imagescdn.openrent.co.uk/staticMapPhotoForProperty/260376207092026120544058.JPG","images": ["https://imagescdn.openrent.co.uk/listings/2603762/o_1k32dq6821k3o1jrlh359e1bn21.JPG","https://imagescdn.openrent.co.uk/listings/2603762/o_1k32dq64l1i97bhg8h91qg54aj0.JPG","…"],"image_count": 8,"landlord_verified": false,"email_verified": false,"phone_verified": false,"response_rate": "100%","response_time": "Within 4 Hours","detail_page_complete": true,"is_duplicate": false,"scraped_at": "2026-09-28T09:00:00+00:00"}
Output fields
| Group | Fields |
|---|---|
| Listing | listing_id, link, title, property_status, status_date, property_reference, is_duplicate |
| Price | rent, price_pcm, rent_per_week, price_pw, deposit, deposit_amount, bills_included |
| Timing | date_listed, days_on_market, available_from, available_from_date, minimum_tenancy, minimum_tenancy_months, short_stays_welcome |
| Property | property_type, property_category, is_studio, is_room_in_shared_house, bedrooms, bathrooms, max_tenants, furnishing, epc_rating, garden, parking, fireplace |
| Tenant rules | students_allowed, non_students_allowed, families_allowed, dss_accepted, pets_allowed, smokers_allowed |
| Location | address, location, postcode, latitude, longitude, google_maps_url, street_view_url, search_distance, map_image_url, transport_links, nearby_schools |
| Media and viewings | description, images, image_count, has_video_tour, video_viewings, online_viewings |
| Landlord (public profile only) | landlord_name (display name as shown, e.g. first name and initial), landlord_verified, email_verified, phone_verified, response_rate, response_time |
| Run | detail_page_complete, scraped_at |
The Output tab has two views, Property listings and Tenant rules and costs, plus links to the delisting report and the run summary.
New-listing monitoring and the delisting report
- Within a run, each listing is saved once, even if it appears in several searches.
- Across runs, listings you already received are skipped by default and not charged, so a daily schedule returns only new listings. Turn on Include listings from previous runs to get everything again;
is_duplicatetells you which ones you had before. - Delisting report: the Actor remembers every listing each search returned. On the next run of the same search, listings that have gone are saved to
DELISTED_LISTINGS, each re-checked on OpenRent with areason:let_agreed,removed_from_openrentorno_longer_matches_search. It is free, and it works when the whole search is read (Maximum listings above the number of results).
Use the OpenRent scraper through the API
curl -X POST "https://api.apify.com/v2/acts/vivid-softwares~openrent-property-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": ["https://www.openrent.co.uk/properties-to-rent/london?term=London&prices_max=1500"], "maxItems": 50}'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("vivid-softwares/openrent-property-scraper").call(run_input={"search_location": "Manchester","search_max_price": 1100,"search_bills_included": True,"maxItems": 100,})for listing in client.dataset(run["defaultDatasetId"]).iterate_items():print(listing["rent"], listing["title"], listing.get("days_on_market"))
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('vivid-softwares/openrent-property-scraper').call({startUrls: ['https://www.openrent.co.uk/properties-to-rent/birmingham?term=Birmingham&acceptStudents=true'],maxItems: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map((home) => `${home.rent} - ${home.title} (listed ${home.days_on_market} days ago)`));
Rental data for AI agents and MCP
The Actor works with the Apify MCP server, so assistants such as Claude, ChatGPT or Cursor can call it as a tool. Add vivid-softwares/openrent-property-scraper to your MCP configuration and ask, for example:
- "Find pet-friendly 2-bed flats in Bristol under £1,400 with bills included, listed this week."
- "What is the average rent and time on market for rooms in shared houses in Leeds LS6?"
- "Which listings in my last Manchester search were let agreed since yesterday?"
How this OpenRent scraper compares
We checked every other OpenRent Actor in Apify Store in September 2026:
| What you get | This Actor | Other OpenRent Actors in Apify Store |
|---|---|---|
| Every matching listing, not just the ones that load on screen | ✅ | Some |
| Your filters applied exactly as OpenRent applies them, including weekly prices, studios and rooms | ✅ | Some |
| Date listed and days on market for every listing | ✅ | None |
| Full tenant rules (students, families, DSS, pets, smokers) on every listing | ✅ | Some |
| Nearby schools with stages, distances and walking times | ✅ | None |
| Video tour, online viewings and short-stay flags | ✅ | None |
| Only new listings on repeat runs, and skipped repeats cost nothing | ✅ | None |
| Delisting report that says why a listing went: let agreed or removed | ✅ | None |
| Pay only for results, no monthly rental | ✅ | Some |
How much does it cost to scrape OpenRent?
This Actor uses pay-per-event pricing: $15 per 1,000 listings, which is $0.015 for each listing saved to the dataset. You are not charged for search pages, retries, invalid input, listings that are no longer available, or listings skipped because you already received them. For example, 200 Manchester listings cost $3.
Tips
- Search on OpenRent first and paste the URL: every OpenRent filter is supported that way.
- Leave Maximum listings empty to get every matching listing, or set it for a quick sample.
- Turn off Get full listing details for much faster runs. You keep the price, rooms, tenant rules, bills, garden, parking, furnishing, dates, coordinates and map links, but not the description, photos, deposit, EPC, landlord response data, transport or schools.
- Schedule a daily run: you get only new listings, and
DELISTED_LISTINGSshows what was let. - OpenRent keeps let-agreed homes in its results. They are left out by default; turn off Only available properties to include them.
Data limitations
- OpenRent shows the property's postcode district (for example EX4), not the full postcode or house number, and so does this Actor.
- The
date_listed,days_on_market,has_video_tourand search-distance fields come from search results, so they are missing when you paste a single listing URL. - Fields only appear when the landlord or OpenRent provides them.
Public data policy
The Actor only returns what OpenRent shows publicly on the listing. For landlords that is the display name OpenRent shows (typically a first name and initial), whether OpenRent has verified their email and phone, and their response rate and time. It never returns email addresses, phone numbers or messages, and it never returns the full postcode of a private landlord's home. If you use the data for outreach, follow UK GDPR and PECR rules.
FAQ
What is the best OpenRent scraper on Apify? For complete data, this one. It is the only OpenRent Actor in Apify Store that returns the date listed and days on market, nearby schools, video-tour and viewing flags, and a delisting report with reasons, and on repeat runs you pay only for new listings.
Is there an official OpenRent API? OpenRent does not offer a public listings API. This Actor gives you structured OpenRent data through the Apify API.
Is it legal to scrape OpenRent? The Actor collects publicly available listing information and paces its requests. You are responsible for how you use the data, including data protection rules. If in doubt, ask a lawyer.
Does it return rooms in shared houses and studios? Yes, with is_room_in_shared_house and is_studio flags. Filter for them with bedrooms_min=-1 (rooms) or bedrooms_min=0&bedrooms_max=0 (studios).
Does it get every listing? Yes. It reads OpenRent's complete result set for your search, not just the listings that load on screen, up to your limit.
Does it return duplicate listings? No. Listings are de-duplicated within a run, and listings from your previous runs are skipped by default.
This Actor is not affiliated with, endorsed by or connected to OpenRent.