Skip to content
Scrappa Get API key
SpareRoom API 1 credit/request

SpareRoom Search

GET https://scrappa.co/api/spareroom/search

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.

SpareRoom Search 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/spareroom/search
Auth header
x-api-key
Cost
1 credit/request
where = example
Response preview
200 OK
Example JSON appears below when a response schema is available for this 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.

where 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 value example
page integer Optional

Result page, starting at 1. Each page holds up to 100 ads and at most 1,000 ads are reachable per search.

Example value 1
sort string Optional

relevance (default), newest, last_updated, price_low_to_high or price_high_to_low.

Example value relevance
min_rent integer Optional

Minimum room rent, in the units of rent_period. Rooms below it are removed.

Example value 10
max_rent integer Optional

Maximum room rent, in the units of rent_period. Rooms above it are removed.

Example value 10
rent_period string Optional

pcm (per month, default) or pw (per week). Weekly prices are compared as monthly and the other way round.

Example value example
bills_included boolean Optional

true to return only ads with bills included.

Example value true
available_from string Optional

Move-in date as YYYY-MM-DD. Matches ads with a room free on that date.

Example value example
types string Optional

Comma list of rooms, studios and whole_properties. Leave empty for all stock.

Example value example
room_types string Optional

double or single.

Example value example
ensuite string Optional

Y for rooms with an en-suite.

Example value example
furnished string Optional

Y for furnished, N for unfurnished.

Example value example
rooms_for string Optional

males, females or couples.

Example value example
share_type string Optional

P for professionals, S for students.

Example value example
genderfilter string Optional

males, females or mixed households.

Example value example
gayshare string Optional

Y for LGBT households.

Example value example
vegetarians string Optional

Y for vegetarian or vegan households.

Example value example
disabled_access string Optional

Y for ads with disabled access.

Example value example
living_room string Optional

shared for ads with a shared living room.

Example value example
parking string Optional

Y for ads with parking.

Example value example
smoking string Optional

Y when smoking is allowed, N for no smoking.

Example value example
pets_req string Optional

Y for ads that suit pets.

Example value example
days_of_wk_available string Optional

Mon to Fri only or 7 days a week.

Example value example
short_lets_considered string Optional

Y for ads that consider short lets.

Example value example
posted_by string Optional

private_landlords, flatmates, agents or co_live.

Example value example
landlord string Optional

live_in or live_out.

Example value example
photoadsonly string Optional

Y for ads with photos.

Example value example
free_to_contact string Optional

Y for ads that are free to contact.

Example value example
no_deposit string Optional

Y for low or no deposit ads.

Example value example
verified_users string Optional

Y for verified advertisers.

Example value example
min_term integer Optional

Stay of at least this many months.

Example value 10
max_term integer Optional

Stay of at most this many months.

Example value 10
no_of_rooms integer Optional

Ads with at least this many rooms.

Example value 10
min_age_req integer Optional

Household minimum age.

Example value 10
max_age_req integer Optional

Household maximum age.

Example value 10
min_beds integer Optional

Smallest household size, including you.

Example value 10
max_beds integer Optional

Largest household size, including you.

Example value 10

Errors

Handle these documented responses before retrying or showing customer-facing failures.

422

HTTP 422

A parameter is missing or invalid. This response is not billable.

404

HTTP 404

The ad, place or city does not exist. This response is not billable.

503

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.