Spareroom Listings Extractor avatar

Spareroom Listings Extractor

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Spareroom Listings Extractor

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

Kawsar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

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

  1. You provide a location, one or more searchUrls, or both.
  2. The actor loads the first page of results and reads every listing card.
  3. It moves through the following pages until it reaches your maxItems limit or runs out of results.
  4. 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.

FieldTypeRequiredDescription
locationstringNoTown, city, or area to search, for example London or Manchester.
searchUrlsarrayNoOne or more full SpareRoom flatshare search URLs. Best when you already have a saved search with filters applied.
maxItemsintegerNoMaximum number of listings to collect per run. Default 10, up to 1000.
requestTimeoutSecsintegerNoPer-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

  1. Go to spareroom.co.uk and run a search.
  2. Apply any filters you want, such as price range, room type, or availability date.
  3. Copy the URL from your browser address bar.
  4. Paste it into the searchUrls field.

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

FieldTypeDescription
listingIdstringSpareRoom listing identifier
listingTitlestringAdvert headline
listingUrlstringLink to the full listing page
pricestringAdvertised rent, for example £110
pricePeriodstringRent period, pw for per week or pcm for per calendar month
normalisedRatestringRent normalised by SpareRoom for easier comparison
normalisedRatePeriodstringPeriod for the normalised rate
billsIncludedbooleanWhether bills are included in the rent
locationstringLocation text shown on the card
neighbourhoodstringNeighbourhood or town
postcodestringPostcode district, for example DN6
propertyTypestringProperty type, such as house or flat
roomsInPropertyintegerTotal rooms in the property
roomTypestringRoom offered, such as single, double, or en-suite
availabilitystringAvailability text
availableNowbooleanWhether the room is available immediately
advertiserRolestringAdvertiser type, agent or private landlord
daysListedintegerDays since the advert went live
statusstringListing status, such as new
brandstringListing tier, such as featured
listingTypestringOffered or wanted
shortDescriptionstringSnippet from the advert body
photoCountintegerNumber of photos on the advert
mainImagestringURL of the main listing photo
profilePhotostringURL of the advertiser profile photo
sourceUrlstringThe search URL this listing came from
scrapedAtstringISO 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 maxItems while you test, then raise it to pull deeper into the results.
  • Add several URLs to searchUrls to 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.