Spareroom Listings Extractor
Pricing
from $2.99 / 1,000 results
Spareroom Listings Extractor
SpareRoom room and flatshare scraper that pulls prices, locations, room types, availability, and photos from search results, so you can research the rental market and export clean data in one run.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
Kawsar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Extract room and flatshare listings from SpareRoom search results and turn them into clean, structured data you can actually use. Give the actor a location or a SpareRoom search URL, and it collects every room advert across the results, including price, location, room type, availability, property details, and images. Export the data to JSON, CSV, or Excel for rental market research, price tracking, lead generation, or your own apps.
SpareRoom is the UK's largest flatshare and room rental site, with thousands of new adverts posted every week. Copying that data by hand is slow and error prone. This actor does it for you and keeps the output tidy and consistent.
Features
- Search by plain location name or by a full SpareRoom search URL
- Reuse saved searches with filters like price, room type, and availability already applied
- Automatic pagination across the whole result set, no page counting needed
- Duplicate removal, so each room appears once even when it shows up on several pages
- One clean record per listing with prices, locations, advertiser type, and images
- Works with offered rooms and rooms wanted
- Export to JSON, CSV, Excel, HTML table, or the Apify API
- Runs on a schedule so you can catch new rooms as they go live
How it works
- You provide a
location, one or moresearchUrls, or both. - The actor loads the first page of results and reads every listing card.
- It moves through the following pages until it reaches your
maxItemslimit or runs out of results. - Each room is saved to the dataset as a structured record.
A plain location like London is turned into a standard SpareRoom search. A search URL lets you carry over every filter you set on the SpareRoom site, so you get exactly the rooms you want.
Input
Use either field, or both together. If you pass both, the actor scrapes the URLs first, then the location search.
| Field | Type | Required | Description |
|---|---|---|---|
location | string | No | Town, city, or area to search, for example London or Manchester. |
searchUrls | array | No | One or more full SpareRoom flatshare search URLs. Best when you already have a saved search with filters applied. |
maxItems | integer | No | Maximum number of listings to collect per run. Default 10, up to 1000. |
requestTimeoutSecs | integer | No | Per-request timeout in seconds. Default 30. |
Example input
{"location": "London","searchUrls": ["https://www.spareroom.co.uk/flatshare/?search_id=1482037460"],"maxItems": 50}
How to get a search URL
- Go to spareroom.co.uk and run a search.
- Apply any filters you want, such as price range, room type, or availability date.
- Copy the URL from your browser address bar.
- Paste it into the
searchUrlsfield.
Output
Every listing becomes one record in the dataset. Fields that SpareRoom does not show for a given advert come back as null.
{"listingId": "7814110","listingTitle": "Single En-Suite Rooms in Woodlands","listingUrl": "https://www.spareroom.co.uk/flatshare/flatshare_detail.pl?flatshare_id=7814110","price": "£110","pricePeriod": "pw","normalisedRate": "£110","normalisedRatePeriod": "pw","billsIncluded": true,"location": "Doncaster (DN6)","neighbourhood": "Doncaster","postcode": "DN6","propertyType": "house","roomsInProperty": 5,"roomType": "2 singles","availability": "Available now","advertiserRole": "agent","availableNow": true,"daysListed": 2,"status": "new","brand": "featured","listingType": "offered","shortDescription": "Company tenancies available, near local amenities and transport links.","photoCount": 9,"mainImage": "https://photos2.spareroom.co.uk/images/flatshare/listings/unmodified/30/89/30894640.jpg","profilePhoto": "https://photos2.spareroom.co.uk/images/flatshare/listings/square/10/00/100050221.jpg","sourceUrl": "https://www.spareroom.co.uk/flatshare/?search_id=1482037460","scrapedAt": "2026-08-19T12:00:00+00:00"}
Output fields
| Field | Type | Description |
|---|---|---|
listingId | string | SpareRoom listing identifier |
listingTitle | string | Advert headline |
listingUrl | string | Link to the full listing page |
price | string | Advertised rent, for example £110 |
pricePeriod | string | Rent period, pw for per week or pcm for per calendar month |
normalisedRate | string | Rent normalised by SpareRoom for easier comparison |
normalisedRatePeriod | string | Period for the normalised rate |
billsIncluded | boolean | Whether bills are included in the rent |
location | string | Location text shown on the card |
neighbourhood | string | Neighbourhood or town |
postcode | string | Postcode district, for example DN6 |
propertyType | string | Property type, such as house or flat |
roomsInProperty | integer | Total rooms in the property |
roomType | string | Room offered, such as single, double, or en-suite |
availability | string | Availability text |
availableNow | boolean | Whether the room is available immediately |
advertiserRole | string | Advertiser type, agent or private landlord |
daysListed | integer | Days since the advert went live |
status | string | Listing status, such as new |
brand | string | Listing tier, such as featured |
listingType | string | Offered or wanted |
shortDescription | string | Snippet from the advert body |
photoCount | integer | Number of photos on the advert |
mainImage | string | URL of the main listing photo |
profilePhoto | string | URL of the advertiser profile photo |
sourceUrl | string | The search URL this listing came from |
scrapedAt | string | ISO 8601 timestamp of when the record was collected |
Use cases
- Rental market research. Track room prices and availability across a city or postcode over time.
- Price monitoring. Watch a saved search and see how rents move week to week.
- Lead generation. Find new adverts from agents or private landlords for outreach.
- Relocation. Build a shortlist of rooms in the areas you care about, all in one place.
- Data pipelines. Feed live room data into a dashboard, spreadsheet, CRM, or app.
Tips
- Paste a SpareRoom search URL to keep filters like price, room type, and available date.
- Start with a small
maxItemswhile you test, then raise it to pull deeper into the results. - Add several URLs to
searchUrlsto cover multiple areas or filter sets in one run. - Schedule the actor to run daily and compare datasets to spot new listings.
Running the actor
You can run this actor from the Apify Console, the Apify API, the Apify CLI, or any of the Apify client libraries. Fill in the input, click Start, and collect the results from the dataset when the run finishes.
Get results with the API
Every run stores its output in a dataset. You can fetch it as JSON, CSV, Excel, or XML:
https://api.apify.com/v2/datasets/{datasetId}/items?format=csv
Frequently asked questions
Do I need a SpareRoom account? No. The actor reads public search results, so no login is required.
Which SpareRoom site does it support? The UK site at spareroom.co.uk.
Can I scrape more than one search at a time?
Yes. Add each search to the searchUrls list and set maxItems to cover the total you want.
What happens if a field is missing?
Not every advert shows every detail. Missing values come back as null so your output stays consistent.
How many listings can I collect? Up to 1000 per run. For larger jobs, split the work across several searches or scheduled runs.
Notes
This actor collects publicly available listing data. Please review SpareRoom's terms of use and use the data responsibly and in line with applicable laws.