
SpareRoom Scraper
hipersoft/spareroom-scraper
Scrape rooms to rent and flatshares from SpareRoom UK & US: rent, monthly rent, room type, availability, neighbourhood, postcode, property type, advertiser type, photos and description. Search any city; big searches split automatically. Export CSV/JSON.
Total users
2Monthly users
1Total runs
29Per room
$0.0015Last rebuilt
Oct 26, 2026Overview
SpareRoom Scraper extracts room listings from SpareRoom, the UK's biggest flatshare site (spareroom.co.uk) and its US version (spareroom.com). Every room includes the title, rent and rent period, normalised monthly rent, room type (double, single, en-suite, studio), availability date, neighbourhood, postcode, property type, number of rooms in the property, advertiser type (agent, live-in landlord, current flatmate), agent name, description, main photo, photo count and verified flag. Search any city or area in the UK or US, filter by rent and availability, and export to CSV, Excel or JSON. Large cities like London are split automatically by rent band, so you are not limited to the first 1,000 ads.
What does SpareRoom Scraper do?
- 🏠 Rooms to rent and flatshares in any UK or US location: London, Manchester, Bristol, Edinburgh, New York, Boston, San Francisco…
- 💷 Rent: as advertised (per week or per month) plus a normalised monthly rent for easy comparison.
- 🛏️ Room type: double, single, en-suite, studio, whole property.
- 📅 Availability: available-now flag and move-in date.
- 📍 Location: neighbourhood, postcode district and location label.
- 🏢 Property: property type (flat, house) and number of rooms in the property.
- 👤 Advertiser type: agent, live-in landlord, live-out landlord or current flatmate, plus the agent's business name for agency listings.
- 📸 Main photo, photo count, video flag, featured and verified flags.
- 🔗 Paste SpareRoom search links to reuse any filters you set on the site.
- 📈 Automatic rent-band splitting for big cities to collect far more than 1,000 rooms per search.
What data can you scrape from SpareRoom?
| Field | Description |
|---|---|
| ID, title, link | SpareRoom listing ID, title and page |
| Rent | Advertised rent and period (pw/pcm) |
| Monthly rent | Rent normalised to per month |
| Room type | Double, single, en-suite… |
| Availability | Available now / move-in date |
| Location | Neighbourhood, postcode district |
| Property | Property type, rooms in property |
| Advertiser | Agent, landlord or flatmate; agency name |
| Description | Listing summary |
| Photos | Main photo link, photo count, video |
| Flags | Featured, verified, days since posted |
Use cases for SpareRoom data
- Rental market research: average room rents by city, neighbourhood and postcode.
- Landlords and HMO investors: benchmark room prices before letting or buying a house share.
- Letting agents and property managers: monitor competing room listings and agencies.
- Proptech and relocation services: feed room availability into apps and newsletters.
- Students and young professionals: track new rooms in your price range every day.
- Academic and housing-policy research: analyse shared-housing affordability over time.
How to scrape SpareRoom
- Click Try for free to open SpareRoom Scraper in Apify Console.
- Choose United Kingdom or United States and enter locations.
- Optionally set minimum/maximum rent and available now only, or paste SpareRoom search links.
- Set Max rooms and click Start.
- Download the rooms as CSV, Excel or JSON.
Input
Example input
{
"country": "uk",
"locations": ["London", "Manchester"],
"minRent": 500,
"maxRent": 1000,
"availableNowOnly": false,
"maxItems": 2000
}
| Field | Description |
|---|---|
| Country | United Kingdom or United States. |
| Locations | Cities or areas, one search each. |
| Minimum / Maximum rent per month | Monthly rent range. |
| Available now only | Only rooms available immediately. |
| SpareRoom search links | Any SpareRoom search-results link. Overrides locations and rent. |
| Max rooms | Stop after this many rooms (0 = no limit). |
Output
Room example
{
"id": "18452657",
"url": "https://www.spareroom.co.uk/flatshare/london/brixton/18452657",
"title": "Looking for a Weekday Lodger - 2-4 days per week",
"rent": 600,
"rentPeriod": "pcm",
"rentMonthly": 600,
"currency": "GBP",
"rooms": ["Double room"],
"availability": "Available 19th Oct 2026",
"availableNow": false,
"neighbourhood": "Brixton",
"postcode": "SW9",
"location": "Brixton (SW9)",
"propertyType": "flat",
"roomsInProperty": 2,
"advertiserType": "current flatmate",
"agentName": null,
"description": "I am looking for a weekday lodger who needs a place to stay in London for work in my modern, secure and well located apartment in...",
"photoCount": 6,
"hasVideo": false,
"imageUrl": "https://photos2.spareroom.co.uk/images/flatshare/listings/unmodified/10/17/101771426.jpg",
"featured": false,
"verified": true,
"daysOld": 0,
"site": "spareroom.co.uk",
"search": "London"
}
Output schema
| Field | Type | Description |
|---|---|---|
id, url, title |
string | Listing. |
rent, rentPeriod |
number, string | Advertised rent and period. |
rentMonthly |
number | Monthly rent. |
currency |
string | GBP or USD. |
rooms |
array | Room types offered. |
availability, availableNow |
string, boolean | Move-in date. |
neighbourhood, postcode, location |
string | Location. |
propertyType, roomsInProperty |
string, number | Property. |
advertiserType, agentName |
string | Advertiser. |
description |
string | Listing summary. |
photoCount, hasVideo, imageUrl |
mixed | Media. |
featured, verified, daysOld |
mixed | Flags. |
site, search, scrapedAt |
string | Source info. |
How much does it cost to scrape SpareRoom?
SpareRoom Scraper uses pay-per-room pricing: a small fixed price per room, with automatic discounts on higher Apify plans. See the Pricing tab for the exact price.
More property data
- Rightmove Scraper: UK property for sale and to rent.
- Airbnb Scraper: short-term rentals worldwide.
FAQ
Does it work for SpareRoom US? Yes. Choose United States and enter US cities, or paste spareroom.com search links.
How many rooms can I get? SpareRoom shows up to 1,000 ads per search. For bigger searches without a rent filter, the scraper automatically splits by rent band to go past that limit.
Are weekly rents converted?
Yes. rentMonthly gives every room's rent per month, alongside the advertised rent and period.
Can I monitor new rooms?
Yes. Schedule the scraper daily; daysOld shows how recently each room was posted.
What formats can I export? CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.
Can I integrate SpareRoom Scraper with other apps? SpareRoom Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JS/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is it legal to scrape SpareRoom? The scraper only collects publicly listed room offers and does not collect "room wanted" profiles. You are responsible for using the data in line with SpareRoom's terms and the UK GDPR.
Notes
Original clean-room implementation. Returns only public data. Not affiliated with SpareRoom.
Input
| Field | Type | Description |
|---|---|---|
countryCountry | string · uk, us | SpareRoom UK (spareroom.co.uk) or SpareRoom US (spareroom.com). Default: "uk" |
locationsLocations | array | Cities or areas, e.g. London, Manchester, Bristol, Edinburgh (UK) or New York, Boston, San Francisco (US). Each location is a separate search. |
minRentMinimum rent per month | integer | Only rooms at or above this monthly rent (GBP or USD). |
maxRentMaximum rent per month | integer | Only rooms at or below this monthly rent (GBP or USD). |
availableNowOnlyAvailable now only | boolean | Only rooms available immediately. Default: false |
startUrlsSpareRoom search links | array | Optional. Paste SpareRoom search-results links with your own filters. When set, locations and rent are ignored. |
maxItemsMax rooms | integer | Stop after this many rooms. 0 means no limit. Default: 200 |
proxyConfigurationProxy configuration | object | Not required for normal use. Default: {"useApifyProxy": false} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~spareroom-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"locations": [
"London"
],
"maxItems": 50
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/spareroom-scraper").call(run_input={
"locations": [
"London"
],
"maxItems": 50
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/spareroom-scraper').call({
"locations": [
"London"
],
"maxItems": 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Room One SpareRoom room listing scraped | $0.0015 | $0.0008 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Dribbble Shots Scraper
Scrape public design shots from Dribbble: title, high-res image, tags, likes, views and designer credit. Filter by category or sort, export JSON, CSV or Excel.
359 runs · 5 users · $0.003 / shot scrapedComputrabajo Scraper
Scrape Computrabajo job listings across Latin America (Mexico, Colombia, Argentina, Chile, Peru and more): title, company, location, salary, posted date and apply URL. Filter by country and keyword. No setup.
206 runs · 4 users · $0.002 / listing scrapedKraken Market Data Scraper
Fetch Kraken spot market data in bulk: ticker stats (ask, bid, last, 24h high/low/volume/vwap), OHLC candles for any interval, order book depth (top bids/asks), and tradable pair metadata. Fast, clean and cheap.
165 runs · 4 users · $0.001 / pair scrapedBayt Scraper
Scrape Bayt.com job listings across the Middle East (UAE, Saudi Arabia, Egypt, Qatar and more): title, company, location, posted date and apply URL. Filter by country and keyword.
134 runs · 4 users · $0.003 / job scrapedGitHub Scraper
Search GitHub and scrape repositories (stars, forks, language, topics, license, dates) or user profiles (name, company, location, bio, followers, public email, repos). Uses the GitHub REST API; optional token for higher rate limits. For developer lead generation, OSS research and recruiting.
131 runs · 7 users · $0.0008 / item scrapedHacker News Scraper
Scrape Hacker News stories, comments, Ask HN, Show HN, jobs and polls by keyword, points, comments and date range. Sort by relevance or newest. Title, URL, author, points, comment count, text and HN link. Fast clean HTTP via the HN Algolia API, no setup.
130 runs · 2 users · $0.004 / item scrapedSend the site and the fields. We build it and you get it first.