Authentication
Send X-RapidAPI-Key and X-RapidAPI-Host on RapidAPI. GET /v1/health is public and returns {"status":"ok","version":"1.0.0","service":"property-search-api"}.
Search
GET /v1/properties
Returns active listings, newest first. Every Rightmove listing is included. A listing from another source is included when it is not an alternate of another listing. postcode or outcode is required. If both are sent, postcode is used.
| Parameter | Type | Values |
|---|---|---|
postcode | string | Full UK postcode, for example LE4 2FP. Spaces and case are ignored. |
outcode | string | Outcode, for example LE1. |
section | string | sale (default) or rent. |
category | string | residential (default) or commercial. |
beds_min | integer | 0 to 20. |
beds_max | integer | 0 to 20. |
price_min | integer | Asking price, pounds, inclusive. For rent this is the advertised rent figure stored on the listing. |
price_max | integer | Same as price_min. |
property_type | string | One value from Property types. The match is the whole string, case-insensitive. house does not include detached house. Hyphens, underscores and spaces are different values. |
chain_free | boolean | true keeps listings flagged chain-free. false and omitting the parameter do not filter. |
lease_years_min | integer | 0 to 999. Keeps listings whose remaining lease is at least this many years. |
limit | integer | 1 to 50. Default 25. |
cursor | string | Pass page.next_cursor from the previous response. |
GET /v1/properties?outcode=LE1§ion=sale&property_type=flat&chain_free=true&limit=25
Each item in data:
| Field | Meaning |
|---|---|
property_id | Stable id for Property. |
source | Channel code. See Source. |
section | sale or rent. |
address, postcode, outcode | Listing address. |
uprn | Unique property reference number, when the listing has one. Absent values are omitted. |
price | Asking price in pounds, or the advertised rent figure. |
bedrooms, bathrooms | Counts from the listing. May be null. |
property_type | Stored spelling of a value in Property types. Example: the filter flat can return Flat. |
tenure | See Tenure. May be null. |
floor_area_sqm | Floor area stored on the listing, in square metres. |
latitude, longitude | WGS84. |
first_visible_date, listing_update_date | ISO dates, YYYY-MM-DD. |
chain_free | true, false, or null when the listing has no flag. |
pending_lease_years | Remaining lease in years, or null. |
{
"data": [{
"property_id": 175004483,
"source": "RM",
"section": "sale",
"address": "Flat 2 Chancery House, 1a, Rupert Street",
"postcode": "LE1 5XH",
"outcode": "LE1",
"uprn": "2465205348",
"price": 60000,
"bedrooms": 1,
"bathrooms": 1,
"property_type": "Flat",
"tenure": "Leasehold",
"floor_area_sqm": 38,
"latitude": 52.632846,
"longitude": -1.135272,
"first_visible_date": "2026-07-22",
"listing_update_date": "2026-08-06",
"chain_free": null,
"pending_lease_years": null
}],
"page": { "limit": 1, "next_cursor": "MTc0ODY2NTM3" }
}
Property
GET /v1/properties/{property_id}
property_id is a positive integer. The response data object includes every search field, plus:
| Field | Meaning |
|---|---|
currency | Currency code stored on the listing. |
living_rooms | Count, or null. |
commercial | true or false. |
summary | Listing description. |
off_market_date | ISO date, or null while the listing is active. |
council_tax_band | Band stored on the listing. |
lease_remaining | Lease text stored on the listing. |
ground_rent, service_charge | Pounds per year, when stored. |
new_home, auction, students | Booleans, or null. |
agent | Agent object stored on the listing. |
images | Image list stored on the listing. |
key_features | Feature list stored on the listing. |
planning_headline | Short planning note, or null. |
postcode_profile | The postcode profile for the listing postcode, or null. |
Postcode
GET /v1/postcodes/{postcode}
Example: /v1/postcodes/UB6%207EQ. data is the nearest amenities for that postcode: location, amenities (nearest of each kind, with name and distance_m), and attribution. Show attribution wherever you display these results. Optional query parameters: kinds (comma-separated), max_per_kind (1–20, default 3), radius_m (1–50000). An unknown postcode is 404. A malformed postcode or unknown kind is 400. The same object is postcode_profile on a property.
Kinds include school, gp, hospital, train_station, tube_station, bus_stop, supermarket, int_airport, care_home and nursing_home. distance_m is straight-line metres. Show the attribution string with the results.
Property types
Every distinct property_type on active listings on 23 September 2026. Send one of these strings as property_type. Case does not matter. A new spelling on a later listing will not match an older string.
| property_type | Active listings |
|---|---|
flat | 522,560 |
detached | 341,777 |
apartment | 265,681 |
terraced | 261,492 |
semi-detached | 210,193 |
detached house | 164,276 |
semi-detached house | 156,399 |
semi_detached | 121,241 |
terraced house | 120,937 |
bungalow | 68,121 |
detached bungalow | 65,878 |
house | 64,400 |
end of terrace | 62,398 |
end of terrace house | 46,852 |
studio | 44,008 |
maisonette | 38,868 |
end_terrace | 36,868 |
semi-detached bungalow | 25,703 |
land | 23,968 |
cottage | 22,790 |
house share | 20,832 |
detached_bungalow | 18,413 |
office | 16,626 |
retirement property | 13,750 |
town house | 11,012 |
park home | 10,706 |
link detached house | 10,320 |
ground flat | 9,054 |
townhouse | 7,759 |
semi_detached_bungalow | 7,684 |
commercial property | 7,613 |
barn conversion | 6,841 |
light industrial | 6,817 |
ground floor flat | 6,481 |
property | 6,176 |
retail property (high street) | 6,048 |
town_house | 5,922 |
plot | 5,369 |
penthouse | 5,231 |
not specified | 5,069 |
chalet | 4,957 |
lodge | 4,560 |
park_home | 4,283 |
flat share | 3,736 |
mews | 3,543 |
character property | 3,341 |
link_detached | 3,155 |
warehouse | 3,126 |
duplex | 3,090 |
shop | 2,413 |
distribution warehouse | 2,137 |
house of multiple occupation | 2,124 |
serviced office | 2,030 |
terraced bungalow | 2,021 |
barn_conversion | 1,801 |
garage | 1,743 |
block of apartments | 1,611 |
parking | 1,587 |
coach house | 1,578 |
mixed use | 1,501 |
farm house | 1,405 |
country house | 1,366 |
static caravan | 1,251 |
farm land | 1,233 |
industrial park | 1,215 |
residential development | 1,187 |
mobile home | 1,166 |
pub | 1,143 |
restaurant | 1,128 |
villa | 964 |
smallholding | 886 |
ground maisonette | 877 |
farm | 851 |
equestrian facility | 839 |
private hall | 817 |
garages | 776 |
country_house | 771 |
commercial development | 770 |
hotel | 768 |
detached villa | 759 |
equestrian property | 720 |
caravan | 676 |
storage | 671 |
ground floor maisonette | 658 |
leisure facility | 623 |
terraced_bungalow | 609 |
cluster house | 498 |
block_of_flats | 487 |
private halls | 479 |
guest house | 460 |
cafe | 459 |
woodland | 410 |
equestrian | 397 |
barn | 377 |
semi-detached villa | 374 |
houseboat | 343 |
retail property (out of town) | 315 |
farmhouse | 270 |
takeaway | 254 |
village house | 247 |
retail property (shopping centre) | 220 |
healthcare facility | 193 |
workshop | 191 |
industrial development | 188 |
retail | 177 |
business park | 153 |
house boat | 152 |
manor house | 152 |
holiday park home | 140 |
convenience store | 131 |
holiday lodge | 125 |
trade counter | 121 |
bar / nightclub | 118 |
serviced apartments | 87 |
serviced apartment | 86 |
heavy industrial | 83 |
place of worship | 82 |
coach_house | 80 |
hairdresser / barber shop | 78 |
childcare facility | 66 |
semi detached | 60 |
sheltered housing | 56 |
showroom | 54 |
hospitality | 47 |
end terrace house | 45 |
log cabin | 39 |
triplex | 38 |
bedsit | 36 |
stone house | 34 |
campsite & holiday village | 28 |
hotel room | 26 |
leisure | 25 |
off-plan | 22 |
mill | 20 |
business_park | 19 |
factory | 18 |
light_industrial | 16 |
post office | 16 |
off-plan property | 15 |
science park | 14 |
beach hut | 11 |
industrial | 11 |
residential portfolio | 9 |
pub_bar | 8 |
castle | 7 |
croft | 6 |
marine property | 5 |
link-detached house | 5 |
finca | 5 |
retail property (retail park) | 4 |
stately home | 4 |
mews house | 4 |
sports facilities | 4 |
retail premises | 3 |
petrol station | 3 |
ruin | 2 |
data centre | 2 |
mobile | 2 |
research & development facility | 2 |
chateau | 2 |
block of flats | 2 |
country estate | 1 |
spa | 1 |
mixed use auction lot | 1 |
Tenure
Tenure is returned on each listing. It is not a search parameter. The response uses the spelling stored on the listing, so freehold in this table may appear as Freehold. Distinct values on active listings, 23 September 2026:
| tenure | Active listings |
|---|---|
freehold | 1,522,535 |
leasehold | 978,746 |
ask agent | 67,270 |
share of freehold | 1,264 |
not known | 591 |
non_traditional | 466 |
holiday licence agreement | 239 |
commonhold | 163 |
non traditional | 49 |
regulated residential agreement | 48 |
feudal | 22 |
share_of_freehold | 12 |
shared | 7 |
residential licence agreement | 1 |
Source
source is the channel code stored on the listing. It is not a search parameter. The response uses the stored casing, for example RM. Distinct codes on active listings, 23 September 2026:
| source | Active listings |
|---|---|
RM | 1,275,348 |
OTM | 946,238 |
ZPL | 747,738 |
SS | 2,185 |
OR | 92 |
Errors
| Status | Body | When |
|---|---|---|
| 400 | {"error":"bad_request","message":"..."} | Missing postcode and outcode, a bad postcode, outcode, or cursor, or a value outside the ranges above. |
| 401 | {"error":"unauthorized","message":"Invalid API key"} | The caller is not authorised. Health is exempt. |
| 404 | {"error":"not_found","message":"..."} | That property id or postcode is not in the active data. |
| 503 | {"error":"unavailable","message":"Property search database is not configured"} | The database is not available to this process. |