# OpenRent Scraper - UK Rental Property Listings (`parsebird/openrent-scraper`) Actor

Scrape OpenRent.co.uk rental listings for any UK city, area, or postcode. Get rent, beds, baths, photos, bills, pets, availability, and coordinates as JSON, CSV, or Excel.

- **URL**: https://apify.com/parsebird/openrent-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.69 / 1,000 listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### OpenRent Scraper

Scrape **OpenRent rental listings** for any UK city, town, area, or postcode — rent, bedrooms, bathrooms, photos, bills, tenant preferences, availability, and map coordinates — and export them as JSON, CSV, or Excel. No OpenRent account or API key needed.

<table><tr>
<td style="border-left:4px solid #1C1917;padding:12px 16px;font-weight:600">
Search OpenRent.co.uk by location or paste any search URL, filter by rent, bedrooms, property type, furnishing, bills, pets, students, DSS/LHA, garden, and parking, and get 45+ structured fields per listing — including full photo galleries and latitude/longitude.
</td>
</tr></table>

<br>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```
Use the Apify Actor "parsebird/openrent-scraper" to scrape UK rental listings from OpenRent.co.uk. Call it with the ApifyClient: from apify_client import ApifyClient; client = ApifyClient("<APIFY_TOKEN>"); run = client.actor("parsebird/openrent-scraper").call(run_input={"location": "Manchester", "max_price": 1500, "results_wanted": 50}); items = client.dataset(run["defaultDatasetId"]).list_items().items. Key inputs: url (string, an OpenRent search URL like https://www.openrent.co.uk/properties-to-rent/london?term=London, takes priority over location; its filters are applied), location (string, default "London", city/area/postcode such as "SW18"), keyword (string, optional text filter on title, description snippet and details), results_wanted (integer, default 20), max_pages (integer, default 10, 20 listings per page), include_photos (boolean, default true), min_price/max_price (integer, GBP per month), min_bedrooms/max_bedrooms (integer, studios = 0), property_type ("houses" | "flats" | "rooms"), furnishing ("furnished" | "unfurnished"), radius_km (integer), sort_by ("distance" | "price_asc" | "price_desc"), booleans bills_included, pets_allowed, students_allowed, families_allowed, dss_accepted, has_garden, has_parking, exclude_let_agreed, proxyConfiguration (object, optional). Output fields per listing: id, title, description, url, imageUrl, imageUrls, rentPerMonth, rentPerWeek, maxRoomRentPerMonth, maxRoomRentPerWeek, letAgreed, lastUpdated, isNew, isMultiRoom, numberOfRoomsText, details, attributes, propertyType, bedrooms, bathrooms, isStudio, isRoomInSharedProperty, furnishing, billsIncluded, studentsAllowed, nonStudentsAllowed, familiesAllowed, petsAllowed, dssLhaAccepted, hasGarden, hasParking, hasFireplace, hasVideoTour, videoViewingsAccepted, availableNow, availableInDays, minimumTenancyMonths, firstListedAt, latitude, longitude, distanceFromSearch, distanceUnit, searchLocation, sourceSearchPage, scrapedAt. Full API docs: https://apify.com/parsebird/openrent-scraper/api — get a token at https://console.apify.com/settings/integrations
```

### What is OpenRent Scraper?

[OpenRent](https://www.openrent.co.uk/) is a UK letting platform where landlords list homes and rooms to rent directly to tenants. **OpenRent Scraper** collects those rental listings into a clean, structured dataset: monthly and weekly rent, bedrooms and bathrooms, property type, furnishing, bills, tenant preferences, availability, photos, and coordinates for every property.

The easiest way to try it: type a city such as `Manchester` into **Location** and click **Start**. You'll have your first OpenRent data in seconds. It works as a ready-made **OpenRent API alternative** — OpenRent doesn't offer a public API for search results.

### What can OpenRent Scraper do?

- 🔍 **Search any UK location** — cities, towns, areas, and postcodes (`London`, `Milton Keynes`, `SW18`, `E1 6AN`)
- 🔗 **Paste any OpenRent search URL** — price, bedroom, property-type, furnishing, and checkbox filters in the URL are applied the same way the OpenRent website applies them
- 🎛️ **Filter from the input form** — rent range, bedrooms, houses/flats/rooms, furnishing, search radius, bills included, pets, students, families, DSS/LHA, garden, parking, and available-only
- 🔤 **Keyword filter** — keep only listings mentioning words like `studio`, `garden`, or `bills included`
- 🖼️ **Full photo galleries** — every gallery image URL, not just the thumbnail
- 📍 **Map-ready data** — latitude, longitude, and distance from your search location
- 📅 **Availability and tenancy terms** — available now or in N days, preferred minimum tenancy, date first listed
- ⏱️ **Monitor the rental market** — [schedule runs](https://docs.apify.com/platform/schedules) daily or weekly to track new listings and rent changes
- 🔌 **Integrations and API** — send results to Google Sheets, Slack, Make, Zapier, or your own app through the [Apify API](https://docs.apify.com/api/v2) and [integrations](https://apify.com/integrations)

### What data can you extract from OpenRent?

| Field | Description |
|-------|-------------|
| `id` | OpenRent listing ID |
| `title` | Listing title, e.g. "3 Bed Flat, Whitehall Court, SW1A" |
| `description` | The description preview OpenRent shows in search results (first ~120 characters) |
| `url` | OpenRent link to the listing |
| `imageUrl` / `imageUrls` | Main photo and all gallery photo URLs |
| `rentPerMonth` / `rentPerWeek` | Rent in GBP per month and per week |
| `maxRoomRentPerMonth` / `maxRoomRentPerWeek` | Highest room rent when a shared home lists several rooms |
| `propertyType` | `House`, `Flat`, or `Room` |
| `bedrooms` / `bathrooms` | Bedroom and bathroom counts (for rooms, the count OpenRent stores for the whole property) |
| `isStudio` / `isRoomInSharedProperty` | Studio flat or room in a shared house/flat |
| `furnishing` | Furnished, Unfurnished, or Furnishing at tenant choice |
| `billsIncluded` | Bills included in the rent |
| `studentsAllowed` / `nonStudentsAllowed` / `familiesAllowed` / `petsAllowed` | Landlord's tenant preferences |
| `dssLhaAccepted` | Housing benefit (DSS/LHA) can cover the rent |
| `hasGarden` / `hasParking` / `hasFireplace` | Property features |
| `hasVideoTour` / `videoViewingsAccepted` | Video tour available or video viewings accepted |
| `availableNow` / `availableInDays` | Whether the property is available now, or how many days until it is |
| `minimumTenancyMonths` | Landlord's preferred minimum tenancy, in months |
| `firstListedAt` | When the listing was first published (UTC) |
| `lastUpdated` / `isNew` / `letAgreed` | Freshness and status as shown on OpenRent |
| `latitude` / `longitude` | Map coordinates |
| `distanceFromSearch` / `distanceUnit` | Distance from the searched location |
| `details` / `attributes` | Detail badges (e.g. "2 Beds", "1 Bath") as a list and as key-value pairs |
| `searchLocation` / `sourceSearchPage` / `scrapedAt` | Search context and collection timestamp |

### How to scrape OpenRent

1. Open [OpenRent Scraper](https://apify.com/parsebird/openrent-scraper) in Apify Console and click **Try for free** (an Apify account is required).
2. Enter a **Location** such as `Leeds` or `SW18`, or paste a **Search URL** copied from [openrent.co.uk](https://www.openrent.co.uk/).
3. Optionally set **Filters** — rent range, bedrooms, property type, furnishing, bills, pets, and more — or a **Keyword**.
4. Set **Max listings** to the number of properties you need.
5. Click **Start** and wait for the run to finish — a few seconds for small runs.
6. Download the data from the **Output** tab in JSON, CSV, Excel, HTML, or XML, or fetch it through the API.

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `url` | string | No | — | OpenRent search URL. Takes priority over `location`. Its filters are applied |
| `location` | string | No | `London` | UK city, town, area, or postcode used when no `url` is given |
| `keyword` | string | No | — | Keep only listings whose title, description preview, or details contain this text |
| `results_wanted` | integer | No | `20` | Maximum number of listings to save |
| `max_pages` | integer | No | `10` | Safety cap on result pages to scan (20 listings per page) |
| `include_photos` | boolean | No | `true` | Collect every gallery photo URL into `imageUrls` |
| `min_price` / `max_price` | integer | No | — | Monthly rent range in GBP |
| `min_bedrooms` / `max_bedrooms` | integer | No | — | Bedroom range. Studios count as 0. Any minimum excludes rooms in shared homes |
| `property_type` | string | No | Any | `houses`, `flats` (includes studios), or `rooms` |
| `furnishing` | string | No | Any | `furnished` or `unfurnished` |
| `radius_km` | integer | No | OpenRent default | Search radius around the location, in km |
| `sort_by` | string | No | `distance` | `distance`, `price_asc`, or `price_desc` |
| `bills_included`, `pets_allowed`, `students_allowed`, `families_allowed`, `dss_accepted`, `has_garden`, `has_parking` | boolean | No | `false` | Keep only listings with that feature or preference |
| `exclude_let_agreed` | boolean | No | `false` | Skip listings already marked let agreed |
| `proxyConfiguration` | object | No | No proxy | Optional proxy settings |

#### Example inputs

Collect 20 listings from a London search URL:

```json
{
  "url": "https://www.openrent.co.uk/properties-to-rent/london?term=London",
  "results_wanted": 20
}
```

Studio listings in London matched by keyword:

```json
{
  "location": "London",
  "keyword": "studio",
  "results_wanted": 20,
  "max_pages": 5
}
```

Two- and three-bedroom homes in Leeds between £700 and £1,200 a month that accept pets:

```json
{
  "location": "Leeds",
  "min_price": 700,
  "max_price": 1200,
  "min_bedrooms": 2,
  "max_bedrooms": 3,
  "pets_allowed": true,
  "results_wanted": 100
}
```

A pre-filtered OpenRent search URL:

```json
{
  "url": "https://www.openrent.co.uk/properties-to-rent/manchester?term=Manchester&prices_min=500&prices_max=1500",
  "results_wanted": 50,
  "max_pages": 5
}
```

### Output example

```json
[
  {
    "id": 2846054,
    "title": "3 Bed Flat, Whitehall Court, SW1A",
    "description": "Fully furnished with new furniture & carpets. Freshly painted throughout – pristine condition! (Photos pre-upgrade; loo",
    "url": "https://www.openrent.co.uk/2846054",
    "imageUrl": "https://imagescdn.openrent.co.uk/listings/2846054/o_1jl877i6oqlp1tvpi3qeppsev1.JPG_homepage.JPG",
    "imageUrls": [
      "https://imagescdn.openrent.co.uk/listings/2846054/o_1jl877i6oqlp1tvpi3qeppsev1.JPG_homepage.JPG",
      "https://imagescdn.openrent.co.uk/listings/2846054/o_1jl877i68bds1cdt8cs1nvu1eic0.JPG_homepage.JPG"
    ],
    "rentPerMonth": 5500,
    "rentPerWeek": 1269.23,
    "maxRoomRentPerMonth": null,
    "maxRoomRentPerWeek": null,
    "commuteTime": 0,
    "distance": 0,
    "letAgreed": false,
    "lastUpdated": "around 1 month ago",
    "isNew": false,
    "isMultiRoom": false,
    "numberOfRoomsText": null,
    "details": ["3 Beds", "3 Baths", "Furnished"],
    "attributes": { "3_beds": "3 Beds", "3_baths": "3 Baths", "furnished": "Furnished" },
    "propertyType": "Flat",
    "bedrooms": 3,
    "bathrooms": 3,
    "isStudio": false,
    "isRoomInSharedProperty": false,
    "furnishing": "Furnished",
    "billsIncluded": false,
    "studentsAllowed": true,
    "nonStudentsAllowed": true,
    "familiesAllowed": true,
    "petsAllowed": true,
    "dssLhaAccepted": false,
    "hasGarden": true,
    "hasParking": true,
    "hasFireplace": false,
    "hasVideoTour": false,
    "videoViewingsAccepted": false,
    "availableNow": true,
    "availableInDays": 0,
    "minimumTenancyMonths": 12,
    "firstListedAt": "2026-04-23T10:31:31Z",
    "latitude": 51.505524,
    "longitude": -0.1242798,
    "distanceFromSearch": 0.32,
    "distanceUnit": "km",
    "searchLocation": "London",
    "sourceSearchPage": "https://www.openrent.co.uk/properties-to-rent/london?term=London",
    "scrapedAt": "2026-10-11T00:36:21.261Z"
  },
  {
    "id": 2879904,
    "title": "Room in a Shared House, Medway Street, SW1P",
    "description": "We are proud to offer these 6 delightful rooms in a 6 bedroom, 3 bathroom shared house in a great location. Available to m",
    "url": "https://www.openrent.co.uk/2879904",
    "rentPerMonth": 1350,
    "rentPerWeek": 311.54,
    "maxRoomRentPerMonth": 1475,
    "maxRoomRentPerWeek": 340.38,
    "isMultiRoom": true,
    "numberOfRoomsText": "6 Rooms Available",
    "details": ["6 Rooms Available", "3 Baths", "Furnished"],
    "propertyType": "Room",
    "isRoomInSharedProperty": true,
    "billsIncluded": true,
    "availableNow": false,
    "availableInDays": 6,
    "minimumTenancyMonths": 3,
    "latitude": 51.495426,
    "longitude": -0.1306294,
    "...": "same fields as above"
  }
]
```

Download the dataset in **JSON, CSV, Excel, HTML, or XML** from the Output tab, or read it through the API.

### Use OpenRent Scraper through the API

**Python** ([apify-client](https://docs.apify.com/api/client/python/)):

```python
from apify_client import ApifyClient

client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("parsebird/openrent-scraper").call(run_input={
    "location": "Bristol",
    "property_type": "houses",
    "max_price": 2000,
    "results_wanted": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["title"], item["rentPerMonth"], item["url"])
```

**JavaScript** ([apify-client](https://docs.apify.com/api/client/js/)):

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<APIFY_TOKEN>' });
const run = await client.actor('parsebird/openrent-scraper').call({
    location: 'Bristol',
    property_type: 'houses',
    max_price: 2000,
    results_wanted: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => console.log(item.title, item.rentPerMonth, item.url));
```

See the [API tab](https://apify.com/parsebird/openrent-scraper/api) for endpoints, OpenAPI spec, and more client examples.

### Use cases

- **Rental market research** — track asking rents by postcode, bedroom count, and property type across UK cities
- **Lettings agents and landlords** — benchmark your rent against comparable OpenRent listings nearby
- **Property investors** — estimate rental yields for target areas using current asking rents
- **Tenants and relocation services** — monitor new listings that match strict criteria (pets, bills included, DSS/LHA)
- **Proptech and data teams** — feed geocoded rental listings into maps, dashboards, and pricing models
- **Student housing** — find student-friendly rooms and shared houses near universities

### How it works

1. The Actor opens the OpenRent search for your location or URL, which lists every matching property ID.
2. It applies the URL and input filters (rent, bedrooms, property type, checkboxes) and sort order the same way the OpenRent website does.
3. It loads listing data in pages of 20, applies your keyword, and collects the photo gallery for each listing.
4. Each listing is saved to the dataset as soon as its page is processed, so you can stop the run at any time and keep the results.

### How much does it cost to scrape OpenRent?

OpenRent Scraper uses **pay-per-event** pricing: you pay only for listings saved to your dataset. Compute and proxy costs are included in the event price.

| Plan | Price per listing | Price per 1,000 listings |
|------|-------------------|--------------------------|
| Free | $0.00099 | **$0.99** |
| Bronze | $0.00089 | **$0.89** |
| Silver | $0.00079 | **$0.79** |
| Gold | $0.00069 | **$0.69** |

For example, 500 OpenRent listings cost about $0.50 on the Free plan. Apify accounts include monthly platform usage credits, and you can set a maximum spend per run — the Actor stops when the limit is reached.

### Is it legal to scrape OpenRent?

Scraping publicly available data, such as rental listings anyone can view without logging in, is generally legal in the UK, EU, and US. OpenRent Scraper only collects data shown on public OpenRent search pages and does not log in or access tenant or landlord accounts. You are responsible for how you use the data: review [OpenRent's terms](https://www.openrent.co.uk/terms) and comply with UK GDPR if you process personal data. Read more in Apify's guide: [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

### Other property and real estate scrapers

- [Zoopla Property Scraper](https://apify.com/parsebird/zoopla-property-scraper) — UK homes for sale from Zoopla
- [Daft.ie Property Scraper](https://apify.com/parsebird/daft-ie-property-scraper) — Ireland's largest property portal
- [RentCafe Scraper](https://apify.com/parsebird/rentcafe-scraper) — US apartment rentals
- [Apartments.com Scraper](https://apify.com/parsebird/apartments-com-scraper) — US rental listings and property data
- [Realestate.com.au Scraper](https://apify.com/parsebird/realestate-au-scraper) — Australian buy, sold, and rent listings
- [Airbnb Scraper](https://apify.com/parsebird/airbnb-scraper) — short-term rentals worldwide
- [UK Companies House Scraper](https://apify.com/parsebird/uk-companies-house-scraper) — UK company records, useful for checking letting companies

### FAQ

**Do I need an OpenRent account or API key?**
No. The Actor reads public OpenRent search results. You only need an Apify account.

**Why is the description short?**
`description` is the preview OpenRent shows in search results — roughly the first 120 characters of the landlord's text. Open `url` for the full listing.

**How many listings can I scrape?**
As many as the search returns — a London search lists over 5,000 properties. Set `results_wanted` and raise `max_pages` (20 listings per page) for large runs; 1,500 London listings take about 3 minutes.

**Why did my keyword search return fewer listings than `results_wanted`?**
The keyword is checked against the title, description preview, and detail badges of each listing. The Actor scans at most `max_pages` pages (20 listings each), so raise `max_pages` when your keyword is rare. For property types, use the `property_type` filter instead — it is exact.

**How do bedroom filters treat studios and rooms?**
The same way OpenRent does: studios count as 0 bedrooms, and setting any minimum bedrooms (including 0) excludes rooms in shared homes. Use `property_type: "rooms"` to get only rooms.

**What does `availableInDays` mean?**
The number of days until the property is available, as OpenRent calculates it. `0` with `availableNow: true` means it is available now.

**Do I need a proxy?**
Usually not. OpenRent works without a proxy. If OpenRent starts rate-limiting requests during a large run, the Actor automatically switches to Apify residential proxies in the UK and continues; this is included in the price.

**Why does `url` look like `openrent.co.uk/2846054`?**
That is OpenRent's short link for the listing. It redirects to the full listing page.

**Can I schedule runs and get alerts for new listings?**
Yes. Use [Apify schedules](https://docs.apify.com/platform/schedules) to run daily or weekly, and connect [integrations](https://apify.com/integrations) like Google Sheets, Slack, Make, or Zapier. Compare `id` values between runs to spot new listings.

**Can I use OpenRent Scraper with AI agents?**
Yes. Copy the AI assistant block above into ChatGPT, Claude, or Cursor, or connect the Actor through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp).

Found a bug or want a new field? Open an issue on the Actor's **Issues** tab — feedback is welcome.

# Changelog

This Actor's version history is a separate document: https://apify.com/parsebird/openrent-scraper/changelog.md

# Actor input Schema

## `url` (type: `string`):

Paste an OpenRent search-results URL (it starts with https://www.openrent.co.uk/properties-to-rent/). Filters in the URL, such as prices_min, bedrooms_max, or /houses, are applied exactly as on the website. Takes priority over Location.

## `location` (type: `string`):

Enter a UK city, town, area, or postcode, e.g. London, Manchester, SW18, or E1 6AN. Used when no Search URL is given.

## `keyword` (type: `string`):

Keep only listings whose title, description snippet, or details contain this text (case-insensitive), e.g. studio, garden, bills included. Leave empty to keep every listing.

## `results_wanted` (type: `integer`):

Maximum number of OpenRent listings to save.

## `max_pages` (type: `integer`):

Safety cap on how many result pages to scan. One page is 20 listings. Raise it when a Keyword filters out most listings.

## `include_photos` (type: `boolean`):

Collect every gallery photo URL into imageUrls. Turn off to collect only the main photo and finish faster.

## `min_price` (type: `integer`):

Keep only listings with monthly rent at or above this amount. Same as OpenRent's prices_min filter.

## `max_price` (type: `integer`):

Keep only listings with monthly rent at or below this amount. Same as OpenRent's prices_max filter.

## `min_bedrooms` (type: `integer`):

Keep only listings with at least this many bedrooms. As on OpenRent, studios count as 0 bedrooms and rooms in shared homes are excluded by any value of 0 or more.

## `max_bedrooms` (type: `integer`):

Keep only listings with at most this many bedrooms. Studios count as 0 bedrooms.

## `property_type` (type: `string`):

Limit results to houses, flats (includes studios), or rooms in shared homes.

## `furnishing` (type: `string`):

Limit results to furnished or unfurnished listings.

## `radius_km` (type: `integer`):

Distance around the location to search, in kilometres. Leave empty to use OpenRent's default radius.

## `sort_by` (type: `string`):

Order of results. Available listings always come before let-agreed ones, as on OpenRent.

## `bills_included` (type: `boolean`):

Only listings with bills included in the rent.

## `pets_allowed` (type: `boolean`):

Only listings that accept pets.

## `students_allowed` (type: `boolean`):

Only listings that accept students.

## `families_allowed` (type: `boolean`):

Only listings that accept families.

## `dss_accepted` (type: `boolean`):

Only listings where housing benefit (DSS/LHA) can cover the rent.

## `has_garden` (type: `boolean`):

Only listings with a garden.

## `has_parking` (type: `boolean`):

Only listings with parking.

## `exclude_let_agreed` (type: `boolean`):

Skip listings already marked as let agreed.

## `proxyConfiguration` (type: `object`):

Optional. OpenRent works without a proxy, and if it starts blocking requests the Actor switches to Apify residential proxies (UK) automatically. Set a proxy here only to force a specific one.

## Actor input object example

```json
{
  "url": "https://www.openrent.co.uk/properties-to-rent/london?term=London",
  "location": "London",
  "keyword": "studio",
  "results_wanted": 20,
  "max_pages": 10,
  "include_photos": true,
  "property_type": "",
  "furnishing": "",
  "sort_by": "distance",
  "bills_included": false,
  "pets_allowed": false,
  "students_allowed": false,
  "families_allowed": false,
  "dss_accepted": false,
  "has_garden": false,
  "has_parking": false,
  "exclude_let_agreed": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "url": "https://www.openrent.co.uk/properties-to-rent/london?term=London",
    "results_wanted": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/openrent-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "url": "https://www.openrent.co.uk/properties-to-rent/london?term=London",
    "results_wanted": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/openrent-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "url": "https://www.openrent.co.uk/properties-to-rent/london?term=London",
  "results_wanted": 20
}' |
apify call parsebird/openrent-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/openrent-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/6hOMWvZgRCeIVuYSS/builds/fXp58u3TkIZDvdslZ/openapi.json
