OpenRent Scraper | Rental Listings and Landlords avatar

OpenRent Scraper | Rental Listings and Landlords

Pricing

from $0.79 / 1,000 listings

Go to Apify Store
OpenRent Scraper | Rental Listings and Landlords

OpenRent Scraper | Rental Listings and Landlords

OpenRent scraper for UK rental listings: search by town, postcode, OpenRent link or property ID and get rent, deposit, availability, bedrooms, tenant rules, EPC rating, full postcode, coordinates, schools, photos and landlord response stats. 20 listings in 18 seconds, 41 fields each, in 2026.

Pricing

from $0.79 / 1,000 listings

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

OpenRent Scraper | UK Rental Listings, Rents and Landlords (2026)

OpenRent listings, 41 fields each, from any search.

From SilentFlow. Creators of Facebook Search Scraper and JD Products Scraper (#1 for โ€œjd scraperโ€ in Apify Store search), with 870,000+ combined lifetime runs.

Every OpenRent rental listing as one clean row: the rent and the deposit, when it is free, who it is open to, the EPC rating, the full postcode and its coordinates, the schools around it, every photo and how fast the landlord answers. Our default test run typed Manchester and saved 20 listings in 5 seconds, out of 608 that OpenRent showed around the city centre that day.

Why choose this actor?

Copying OpenRent listings into a spreadsheet one tab at a time? Getting a title, a rent and a thumbnail from a scraper, but not the deposit, the postcode or the tenancy terms? Rebuilding the same search every morning to spot what is new?

  • 58 fields filled per listing, not 20. In our default run of 20 Manchester listings, 58 data fields held a value on at least half of the rows: ID, link, title, full description, property type, studio, shared, multi-room, furnishing, EPC rating, rent per month and per week, currency, deposit, Local Housing Allowance rate, bedrooms, bathrooms, max tenants, minimum tenancy, bills included, DSS, students, non-students, families, pets, smokers, garden, parking, fireplace, video tour, online viewings, street, city, full postcode, postcode district, latitude, longitude, country, distance from the place searched, nearby schools, available from, first listed, last updated, new, featured, let agreed, main photo, all photos, photo count, landlord name, landlord ID, landlord page, verified landlord, response rate, response time, member since, email verified and phone verified. The most used OpenRent actor on the Store shows 20 keys in its output example.
  • The parts of a listing you would otherwise open by hand. In the same run, all 20 listings came with a full postcode (M4 1PN, not just M4), a deposit and the area's Local Housing Allowance rate; 17 had an EPC grade and the other 3 were marked as not requiring one; 19 had the landlord's response rate and response time; and the 20 rows carried 277 nearby schools, 301 photos and 4 video tours.
  • Start from a place, an OpenRent link or a property ID, in the same run. Type a town, a London area or a postcode district, paste any OpenRent search link (its filters are kept), a landlord's page or a listing, or list property references. In our test, a Leeds search link with a ยฃ1,200 cap, 2+ bedrooms and "available only" matched 163 of 381 listings and saved the 30 newest; a rooms search in SW18 plus three property IDs and one listing link returned 24 listings in 2 seconds, including a listing let in December 2012.

Try OpenRent Scraper

Try your first 20 listings

Paste this input in the JSON tab of the Input page and press Start. It reads the 20 listings nearest to Manchester city centre, each completed with its full listing page.

{
"searchTerms": ["Manchester"],
"maxItems": 20
}

It runs on the Apify Free plan. Each listing becomes one row of your dataset: open the Output tab to see the "Listings" table with the title, type, bedrooms, rent, city, availability, landlord and link, or switch to the "Rent and tenancy terms", "Location" or "Landlords" views. Export the rows as JSON, CSV or Excel, or pull them from the API into your own tools.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the OpenRent Scraper on Apify: silentflow/openrent-scraper
It returns UK rental listings from openrent.co.uk, one row per listing.
Input (no field is required; an empty input searches Manchester):
- searchTerms (array of strings): places as typed in OpenRent's search box, e.g. ["Manchester", "Camden", "SW18"]
- startUrls (array of {"url": ...}): OpenRent search links (filters kept), landlord pages or listing links
- propertyIds (array of strings): OpenRent property references, e.g. ["3007606"]
- maxItems (integer, default 100): total listings to save across all inputs
- minPrice, maxPrice (integer, pounds per calendar month)
- minBedrooms (integer)
- propertyType (string: any | flat | house | room, default any)
- sort (string: distance | newest | price_low | price_high, default distance)
- includeDetails (boolean, default true): read each full listing page
Output per listing (64 fields, null when OpenRent does not show the value):
- id (string), url (string), title (string), description (string)
- propertyType (Flat | House | Room), isStudio, isShared, isMultiRoom (boolean)
- furnishing (string), epcRating (string: A to G or "Not required")
- availableRooms (array of {name, maxTenants, size, rentPerMonth, deposit}, multi-room listings)
- rentPerMonth, rentPerWeek, deposit, maxRoomRentPerMonth, localHousingAllowance (number, GBP), currency ("GBP")
- bedrooms, bathrooms, maxTenants, minimumTenancyMonths (integer)
- hasBillsIncluded, isDssFriendly, isStudentFriendly, isNonStudentFriendly, isFamilyFriendly,
isPetFriendly, isSmokerFriendly, hasGarden, hasParking, hasFireplace, hasVideoTour, hasOnlineViewings (boolean)
- address, city, postcode, postcodeDistrict (string), latitude, longitude, distanceKm (number), countryCode ("GB")
- nearbyStations (array of {name, type, minutes, travelMode}, London listings)
- nearbySchools (array of {name, levels, distanceKm, minutes, travelMode})
- availableFrom (YYYY-MM-DD), listedAt (RFC 3339), lastUpdatedText (string), isNew, isFeatured, isLetAgreed (boolean)
- imageUrl (string), images (array of strings), imageCount (integer), videoUrl (string)
- landlordName, landlordId, landlordUrl, landlordResponseTime, landlordMemberSince (string),
landlordResponseRate (integer, percent), isLandlordVerified, isLandlordEmailVerified, isLandlordPhoneVerified (boolean)
- searchQuery (string, the place or link the row came from), scrapedAt (RFC 3339)
Use apify-client for Python or JavaScript: client.actor("silentflow/openrent-scraper").call(run_input=...)

How to scrape OpenRent rental listings

Get the listings nearest to a town centre

{
"searchTerms": ["Bristol"],
"maxItems": 50
}

The 50 listings closest to the centre of Bristol, each with its full page. Put several places in the list to cover a region in one run.

Pull two-bedroom flats under a rent cap in one postcode district

{
"searchTerms": ["SW18"],
"propertyType": "flat",
"minBedrooms": 2,
"maxPrice": 2500,
"maxItems": 100
}

Only flats with two bedrooms or more at ยฃ2,500 a month or less around Wandsworth. A postcode district is the first half of a UK postcode: SW18, M1, LS6.

Watch the newest rooms in shared houses across three cities

{
"searchTerms": ["Leeds", "Nottingham", "Sheffield"],
"propertyType": "room",
"maxPrice": 800,
"sort": "newest",
"maxItems": 150
}

Rooms at ยฃ800 a month or less, newest on OpenRent first, in three student cities at once. Each row says which city it came from in searchQuery.

Input parameters

ParameterTypeDefaultWhat it does
searchTermsarray of strings["Manchester"] in the formPlaces to search, as you would type them on OpenRent: a city or town, a London area, a postcode district.
startUrlsarray of linksnoneOpenRent search links with their filters, landlord pages (properties-to-rent-from-landlord/...) or listing links.
propertyIdsarray of stringsnoneOpenRent property references, the number at the end of a listing link.
maxItemsinteger100 (20 in the form)Total listings to save across all places, links and IDs.
minPriceintegernoneLowest rent to keep, in pounds per calendar month.
maxPriceintegernoneHighest rent to keep, in pounds per calendar month.
minBedroomsintegernoneFewest bedrooms to keep.
propertyTypeany, flat, house, roomanyFlats and studios, houses, or rooms in shared homes.
sortdistance, newest, price_low, price_highdistanceWhich listings come first when maxItems stops the run.
includeDetailsbooleantrueRead each full listing page. Off gives a faster run with the search data only.

No field is required. An empty input searches Manchester.

Accepted formats

  • Places: Manchester, St Albans, Camden, Islington, SW18, M1 1AE. OpenRent decides the search area from what you type, as on its own search box. A place OpenRent does not know ends with a clear message and no rows.
  • Search links: anything under https://www.openrent.co.uk/properties-to-rent/..., for example https://www.openrent.co.uk/properties-to-rent/leeds?term=Leeds&prices_max=1200&bedrooms_min=2&isLive=true. The rent range, bedrooms, bathrooms, property type, furnishing, students, families, pets, DSS, bills included, garden, parking, fireplace, video tour, minimum tenancy, "only available" and sort of the link are all applied. Filters set in the form are laid on top: a value set in the form wins.
  • Landlord pages: https://www.openrent.co.uk/properties-to-rent-from-landlord/{name}/{id} or the searchbylandlord?landlordID= link found on a listing. You get every listing of that landlord.
  • Listings: https://www.openrent.co.uk/property-to-rent/london/studio-flat-craven-street-wc2n/3007606 or the short https://www.openrent.co.uk/3007606.
  • Property IDs: 3007606, #3007606, or a listing link pasted in the IDs field. Listings given by ID or link are returned as they are: the filters of the form apply to places and search links only.

What data can you extract from OpenRent?

Each row is one listing, with 62 data fields and 2 fields that record where the row came from and when. A field OpenRent does not show for a listing is null, never an empty text.

  • Identity: id (the OpenRent property reference, stable), url (the listing's permanent page), title.
  • The property: description (the landlord's full text, one paragraph per line), propertyType (Flat, House or Room), isStudio, isShared, isMultiRoom, furnishing, epcRating, and for houses let room by room, availableRooms with each free room's size, max tenants, rent and deposit.
  • Money and size: rentPerMonth, rentPerWeek, deposit, maxRoomRentPerMonth, currency, localHousingAllowance (the housing benefit rate OpenRent quotes for the area and size), bedrooms, bathrooms, maxTenants, minimumTenancyMonths.
  • Who it is open to and what it has: hasBillsIncluded, isDssFriendly, isStudentFriendly, isNonStudentFriendly, isFamilyFriendly, isPetFriendly, isSmokerFriendly, hasGarden, hasParking, hasFireplace, hasVideoTour, hasOnlineViewings.
  • Place: address (the street from the title), city, postcode (the full postcode), postcodeDistrict, latitude, longitude, countryCode, distanceKm (from the place you searched), nearbyStations (London listings, with walking time), nearbySchools (with levels, distance and walking or driving time).
  • Dates and status: availableFrom (a date; a date in the past means available now), listedAt (when the listing first went live, RFC 3339 in UTC), lastUpdatedText (as OpenRent words it, "around 3 weeks ago"), isNew, isFeatured, isLetAgreed.
  • Media: imageUrl, images (every photo in full size), imageCount, videoUrl (the YouTube tour when there is one).
  • Landlord: landlordName (first name and initial, as OpenRent shows it), landlordId, landlordUrl (all their listings), isLandlordVerified, landlordResponseRate (percent), landlordResponseTime, landlordMemberSince, isLandlordEmailVerified, isLandlordPhoneVerified.
  • Row record: searchQuery (the place or link the row came from, null for IDs) and scrapedAt (RFC 3339).

With includeDetails off, a row keeps the search data: rent, bedrooms, bathrooms, type, tenant rules, features, furnishing, coordinates, distance, available from, first listed, let agreed, the first lines of the description and the main photo. 40 fields held a value on at least half of the rows in our rooms search of SW18 run that way.

Output example

One listing from our default Manchester run (the description, photos and schools are shortened here; the row carries all of them):

{
"id": "3069446",
"url": "https://www.openrent.co.uk/property-to-rent/manchester/1-bed-flat-church-street-m4/3069446",
"title": "1 Bed Flat, Church Street, M4",
"description": "A beautiful apartment in the absolute heart of Manchester!\nFew steps from Picaddily gardens and the Arndale shopping center, lies the Pall Mall building in the infamous northern quarter, a vibrant neighbourhood filled with cafes, shops with a contemprary vibe, a favourite for young professionals.",
"propertyType": "Flat",
"isStudio": false,
"isShared": false,
"isMultiRoom": false,
"furnishing": "Furnished",
"epcRating": "C",
"availableRooms": null,
"rentPerMonth": 1250,
"rentPerWeek": 288.46,
"currency": "GBP",
"deposit": 1442.3,
"maxRoomRentPerMonth": null,
"localHousingAllowance": 775.02,
"bedrooms": 1,
"bathrooms": 1,
"maxTenants": 2,
"minimumTenancyMonths": 12,
"hasBillsIncluded": false,
"isDssFriendly": false,
"isStudentFriendly": false,
"isNonStudentFriendly": true,
"isFamilyFriendly": true,
"isPetFriendly": false,
"isSmokerFriendly": false,
"hasGarden": false,
"hasParking": false,
"hasFireplace": false,
"hasVideoTour": true,
"hasOnlineViewings": false,
"address": "Church Street",
"city": "Manchester",
"postcode": "M4 1PN",
"postcodeDistrict": "M4",
"latitude": 53.48295,
"longitude": -2.237978,
"countryCode": "GB",
"distanceKm": 0.53,
"nearbyStations": null,
"nearbySchools": [
{
"name": "Digital Advantage",
"levels": ["Post-16", "SEND"],
"distanceKm": 0.4,
"minutes": 6,
"travelMode": "walk"
},
{
"name": "Abbey College Manchester",
"levels": ["Secondary", "Post-16"],
"distanceKm": 0.4,
"minutes": 7,
"travelMode": "walk"
}
],
"availableFrom": "2026-11-01",
"listedAt": "2026-10-10T09:01:34Z",
"lastUpdatedText": "around 3 weeks ago",
"isNew": false,
"isFeatured": false,
"isLetAgreed": false,
"imageUrl": "https://imagescdn.openrent.co.uk/listings/945007/o_1ep1lq8h11p9r1anipd5q4j15q7j.JPG_homepage.JPG",
"images": [
"https://imagescdn.openrent.co.uk/listings/945007/o_1ep1lq8h11p9r1anipd5q4j15q7j.JPG",
"https://imagescdn.openrent.co.uk/listings/945007/o_1ep1lq8h18r1tj6nln4g81elvi.JPG",
"https://imagescdn.openrent.co.uk/listings/945007/o_1em5b3k3er5311211hd4fp9l4cb.JPG"
],
"imageCount": 12,
"videoUrl": "https://www.youtube.com/watch?v=SP65RejwReI",
"landlordName": "Mo M.",
"landlordId": "2772206",
"landlordUrl": "https://www.openrent.co.uk/search/searchbylandlord?landlordID=2772206",
"isLandlordVerified": true,
"landlordResponseRate": 100,
"landlordResponseTime": "Within 2 Days",
"landlordMemberSince": "November 2020",
"isLandlordEmailVerified": true,
"isLandlordPhoneVerified": true,
"searchQuery": "Manchester",
"scrapedAt": "2026-11-01T16:24:04Z"
}

id and url are stable: the same listing keeps both for as long as OpenRent keeps it, also after it is let. Photo links point to OpenRent's image server and work while the photo is online; download the ones you want to archive.

Advanced usage

Track every new listing of an area each morning

{
"searchTerms": ["Brighton"],
"sort": "newest",
"maxItems": 40
}

Schedule this input daily from the Schedules page. Newest first, the run stops after the 40 most recent listings, so each morning's dataset opens with what went live since the day before. Compare listedAt with your previous run to keep only the new rows.

Build rent comps for a postcode district without opening a single page

{
"searchTerms": ["SW18", "SW17", "SW11"],
"propertyType": "flat",
"includeDetails": false,
"maxItems": 400
}

With full details off, a run reads only OpenRent's search data: rent, bedrooms, bathrooms, type, furnishing, tenant rules, coordinates and listing date for every flat in three south-west London districts. Group by postcodeDistrict and bedrooms and take the median rentPerMonth for an asking-rent benchmark.

Check whether the listings you follow are still available

{
"propertyIds": ["3007606", "3079754", "2640593"],
"maxItems": 3
}

Each ID returns its current listing page. isLetAgreed turns true once the landlord has found a tenant, and the row still carries the rent, the deposit and the landlord, so you can see what was let and at what price. A reference OpenRent never had is named in the log and returns no row.

Read every listing of one landlord

{
"startUrls": [
{ "url": "https://www.openrent.co.uk/search/searchbylandlord?landlordID=7829841" }
],
"maxItems": 100
}

Every listing a landlord has on OpenRent, from the link "View landlord's other properties" on any of their listings (each row also carries it in landlordUrl). Useful to size a portfolio landlord or follow how they price.

Find listings that accept housing benefit, with the local allowance alongside

{
"startUrls": [
{ "url": "https://www.openrent.co.uk/properties-to-rent/birmingham?term=Birmingham&rentCoveredByDSSorPreferred=true&isLive=true" }
],
"maxPrice": 1000,
"maxItems": 60
}

The DSS filter of OpenRent's own search form, kept from the link, plus a rent cap from the form. Each row carries localHousingAllowance, the rate OpenRent quotes for the area and the number of bedrooms, so rentPerMonth minus localHousingAllowance shows the shortfall a tenant on benefits would face.

FAQ

What is OpenRent? OpenRent is a UK lettings website where private landlords advertise homes to rent without a high-street letting agent. It lists flats, houses and rooms in shared homes across England, Scotland, Wales and Northern Ireland, and its search showed 5,896 listings around London on the day we tested.

Do I need an OpenRent account? No. The actor reads what any visitor sees on openrent.co.uk. No login, no API key.

What can I search by? A place (a city, a town, a London area, a postcode district or a full postcode), any OpenRent search link, a landlord's page, a listing link or a property ID. You can mix them in one run; each listing is saved once even if two inputs find it.

Do the filters I set on the OpenRent website work? Yes. Set them on OpenRent, copy the address of the results page and paste it in startUrls. Rent range, bedrooms, bathrooms, property type, furnishing, students, families, pets, DSS, bills included, garden, parking, fireplace, video tour, minimum tenancy, "only available" and sort are all applied.

Can I combine filters? Yes, they add up. propertyType: "flat" with minBedrooms: 2, maxPrice: 1500 and sort: "newest" returns the newest flats with two bedrooms or more at ยฃ1,500 a month or less. On a pasted link the form's values are laid over the link's own: a rent cap set in the form replaces the link's cap, a pets filter in the link stays on.

How many listings can I get? There is no fixed limit: a place returns every listing OpenRent shows around it, and maxItems stops the run where you want. Manchester showed 608 listings, Leeds 381 and the SW18 district 152 on the day we tested. With full details on, each listing adds one listing page to read: the first few dozen arrive within seconds (our default run saved 20 listings in 5 seconds), then pages are read at a steady pace, so plan minutes rather than seconds for a few hundred listings. With full details off, a run reads OpenRent's search data 20 listings at a time: our rooms search across Leeds, Nottingham and Sheffield saved 150 listings in 2 seconds.

Why are some fields empty? OpenRent does not show every value on every listing. nearbyStations is filled for London listings only, as OpenRent lists stations there; schools are listed everywhere. availableRooms and maxRoomRentPerMonth apply to houses let room by room, videoUrl to listings with a video tour, and some landlords have no response rate yet. A missing value is null, never an empty text or a 0. Once in a while OpenRent stops showing full listing pages for some time: a run that meets this keeps going with the search data for the remaining listings (rent, bedrooms, tenant rules, features, coordinates, listing date), says so in its log, and still delivers every row. Run it again later for the full pages.

What happens to listings that are already let? OpenRent keeps recently let listings in its search results, marked as let agreed. They come back with isLetAgreed: true and their rent, which helps when you study what actually rents. Set the "Only Available Properties" filter on OpenRent and paste the link to leave them out. Property IDs return their listing even years after it was let.

How fresh is the data? Live. Every run reads OpenRent at the moment it runs; nothing is cached. listedAt tells you when each listing first went live and lastUpdatedText how recently the landlord updated it.

Can I get the landlord's phone number or email? No. OpenRent shows landlords by first name and initial and handles every contact through its own messaging. The actor returns what the listing shows: the name as displayed, the landlord's page, response rate, response time, member since and whether their email and phone are verified.

Does it cover properties for sale? No. OpenRent is a lettings website: every listing is a home to rent.

Can I run it from my own code or an AI agent? Yes. Call silentflow/openrent-scraper with the Apify API or the apify-client library for Python or JavaScript, schedule it from the Console, or let an AI agent call it through the Apify MCP server. The "Copy to your AI assistant" block above gives an assistant every input and output field.

More SilentFlow scrapers

๐Ÿ›’ E-commerce

๐Ÿ’ผ Jobs

๐Ÿ  Real estate

๐Ÿ“ฃ Social media

๐Ÿข Business data

โœˆ๏ธ Travel

๐ŸŽฏ Lead generation

๐Ÿ”Ž SEO

๐ŸŽฌ Video

๐Ÿ“ฐ News

๐Ÿงฐ More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available data from openrent.co.uk. It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with OpenRent's terms of service and applicable data protection laws (GDPR and UK GDPR, CCPA, and PIPL where relevant). The output contains personal data in a limited form: landlords' first names and initials and their response statistics, and the landlord's own words in the description. Handle that data accordingly, keep it only as long as you need it, and do not use it to contact people outside OpenRent. The data returned is informational; verify it before any regulated use such as credit, tenancy or benefit decisions.

Built for lettings analysts, property investors, relocation teams and housing researchers who need OpenRent's listings as data, not as tabs.