Search UK rooms and flatshares on SpareRoom by area or postcode district. Filter by rent, room type, en-suite, furnishing, bills included, move-in date, stay length, household, landlord type, pets, smoking and more, and sort by relevance, age or price. Pages hold up to 100 ads and start at page 1. A search reaches at most 1,000 ads: data.truncated is true when more match, so split a big city with the areas endpoint and search each district. Page N always returns page N. Ads are de-duplicated by id. SpareRoom matches rent per ad, so Scrappa removes the rooms outside your rent band and compares weekly and monthly prices on rent_period. With a rent filter data.total_pool and data.rows_reachable are null, because the SpareRoom count no longer describes the rows. When a place name matches several places, the answer is 200 with data.type ambiguous_place and data.options. Repeat the search with one option as where. This answer is not billed. An unknown place returns a 404 and invalid parameters return a 422, both not billed. data.filter_options lists the filter groups with the ad count of each option and the parameters that select it.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
1 required parameter needed before sending a request.
36 optional filters available.
string
Required
Area, town or postcode district, for example London, Manchester or E1. Use the locations endpoint to find valid values and the areas endpoint to list the districts of a city.
example
integer
Optional
Result page, starting at 1. Each page holds up to 100 ads and at most 1,000 ads are reachable per search.
1
string
Optional
relevance (default), newest, last_updated, price_low_to_high or price_high_to_low.
relevance
integer
Optional
Minimum room rent, in the units of rent_period. Rooms below it are removed.
10
integer
Optional
Maximum room rent, in the units of rent_period. Rooms above it are removed.
10
string
Optional
pcm (per month, default) or pw (per week). Weekly prices are compared as monthly and the other way round.
example
boolean
Optional
true to return only ads with bills included.
true
string
Optional
Move-in date as YYYY-MM-DD. Matches ads with a room free on that date.
example
string
Optional
Comma list of rooms, studios and whole_properties. Leave empty for all stock.
example
string
Optional
double or single.
example
string
Optional
Y for rooms with an en-suite.
example
string
Optional
Y for furnished, N for unfurnished.
example
string
Optional
males, females or couples.
example
string
Optional
males, females or mixed households.
example
string
Optional
Y for vegetarian or vegan households.
example
string
Optional
Y for ads with disabled access.
example
string
Optional
shared for ads with a shared living room.
example
string
Optional
Y for ads with parking.
example
string
Optional
Y when smoking is allowed, N for no smoking.
example
string
Optional
Y for ads that suit pets.
example
string
Optional
Mon to Fri only or 7 days a week.
example
string
Optional
Y for ads that consider short lets.
example
string
Optional
private_landlords, flatmates, agents or co_live.
example
string
Optional
live_in or live_out.
example
string
Optional
Y for ads with photos.
example
string
Optional
Y for ads that are free to contact.
example
string
Optional
Y for low or no deposit ads.
example
string
Optional
Y for verified advertisers.
example
integer
Optional
Stay of at least this many months.
10
integer
Optional
Stay of at most this many months.
10
integer
Optional
Ads with at least this many rooms.
10
integer
Optional
Household minimum age.
10
integer
Optional
Household maximum age.
10
integer
Optional
Smallest household size, including you.
10
integer
Optional
Largest household size, including you.
10
Errors
Handle these documented responses before retrying or showing customer-facing failures.
HTTP 422
A parameter is missing or invalid. This response is not billable.
HTTP 404
The ad, place or city does not exist. This response is not billable.
HTTP 503
The upstream is unavailable, refused the request or answered in an unexpected shape. This response is not billable.
Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.