Rightmove property API

Search UK homes for sale or to rent on Rightmove, or open Rightmove property pages. Each home comes back as one record.

Record types
property
Fields
58
From
$1.40 per 1,000 records

What you can request

Set mode in the request body to choose what comes back; without it the request runs as search. Each mode reads the inputs listed next to it.

ModeWhat comes backInputsBilled as
searchOne record per listing in the results for each location or search URL.

With fetchPropertyDetails: true, each listing's detail page is merged in and billed as property-detail.

locations searchUrls listingTypeproperty
propertyThe full detail page for each property URL.propertyUrlsproperty-detail

Every request also takes maxItems (records for the whole request) and maxItemsPerInput (records per search, URL or name).

Example request and record

The request below is the one this example record answers. The names, usernames, photos and contact details of people in it are fictional. Long values in the record are shortened.

curl

curl -X POST https://api.urakimon.com/records/rightmove \
  -H "x-api-key: $URAKIMON_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "mode": "property",
    "propertyUrls": [
      "https://www.rightmove.co.uk/properties/92173206",
      "https://www.rightmove.co.uk/properties/91455120"
    ]
  }'

Python

import os
import requests

res = requests.post(
    "https://api.urakimon.com/records/rightmove",
    headers={"x-api-key": os.environ["URAKIMON_API_KEY"]},
    json={
        "mode": "property",
        "propertyUrls": [
            "https://www.rightmove.co.uk/properties/92173206",
            "https://www.rightmove.co.uk/properties/91455120"
        ]
    },
)
res.raise_for_status()
records = res.json()["records"]

Node

const res = await fetch("https://api.urakimon.com/records/rightmove", {
  method: "POST",
  headers: {
    "x-api-key": process.env.URAKIMON_API_KEY,
    "content-type": "application/json",
  },
  body: JSON.stringify({
    "mode": "property",
    "propertyUrls": [
      "https://www.rightmove.co.uk/properties/92173206",
      "https://www.rightmove.co.uk/properties/91455120"
    ]
  }),
});
const { records } = await res.json();
Example Rightmove recordDownload
{  "source": "rightmove",  "type": "property",  "portal": "rightmove",  "id": "92173206",  "url": "https://www.rightmove.co.uk/properties/92173206",  "listingType": "for_sale",  "channel": "RES_BUY",  "status": "published",  "price": 36000000,  "priceText": "£36,000,000",  "priceQualifier": null,  "pricePerSqFt": "£2918.52 per sq ft",  "currency": "GBP",  "bedrooms": 9,  "bathrooms": 9,  "propertyType": "Villa",  "tenure": "FREEHOLD",  "tenureYearsRemaining": null,  "address": {    "displayAddress": "Holland Park, Holland Park, London, W11",    "outcode": "W11",    "incode": "3TD",    "postalCode": "W11 3TD",    "country": "England"  },  "coordinates": {    "lat": 51.50522,    "lng": -0.20712  },  "pinType": "APPROXIMATE_POINT",  "description": "This Grade II listed villa sits behind a white stucco façade opposite Holland Park and extends to approximately 11,000 sq ft across six f…",  "keyFeatures": [    "Built in Kitchen Appliances",    "Direct Lift Access",    "Bespoke Kitchen"  ],  "size": {    "value": 12335,    "unit": "sqft"  },  "photoCount": 24,  "photos": [    "https://media.rightmove.co.uk/property-photo/c2e0f0860/92173206/c2e0f0860a71ee0e1f22f2e9bf2d9b7e.jpeg",    "https://media.rightmove.co.uk/property-photo/4c4f9709c/92173206/4c4f9709c851e172199f5a26c0b87c18.jpeg",    "https://media.rightmove.co.uk/property-photo/5679949bd/92173206/5679949bd4e76aa43d3143089a24c24c.jpeg"  ],  "photoCaptions": [    {      "url": "https://media.rightmove.co.uk/property-photo/c2e0f0860/92173206/c2e0f0860a71ee0e1f22f2e9bf2d9b7e.jpeg",      "caption": null    },    {      "url": "https://media.rightmove.co.uk/property-photo/4c4f9709c/92173206/4c4f9709c851e172199f5a26c0b87c18.jpeg",      "caption": null    },    {      "url": "https://media.rightmove.co.uk/property-photo/5679949bd/92173206/5679949bd4e76aa43d3143089a24c24c.jpeg",      "caption": null    }  ],  "floorplan": [    "https://media.rightmove.co.uk/property-floorplan/e458cdcb2/92173206/e458cdcb2d2377f02aad8911581b053f.jpeg"  ],  "floorplanCaptions": [    {      "url": "https://media.rightmove.co.uk/property-floorplan/e458cdcb2/92173206/e458cdcb2d2377f02aad8911581b053f.jpeg",      "caption": "Floorplan 1"    }  ],  "epc": [    {      "url": "https://media.rightmove.co.uk/property-epc/a91ce577f/92173206/a91ce577f5e2a2ad8ffed1e800441540.jpeg",      "caption": "EPC 1"    }  ],  "brochures": [],  "virtualTours": [],  "videoProvider": "No Video",  "nearestStations": [    {      "name": "Holland Park Station",      "types": [        "LONDON_UNDERGROUND"      ],      "distance": 0.1503785823664391,      "unit": "miles"    },    {      "name": "Shepherd's Bush (Central) Station",      "types": [        "NATIONAL_TRAIN"      ],      "distance": 0.4998125494253313,      "unit": "miles"    },    {      "name": "Notting Hill Gate Station",      "types": [        "LONDON_UNDERGROUND"      ],      "distance": 0.513717606938524,      "unit": "miles"    }  ],  "nearestAirports": [],  "livingCosts": {    "councilTaxBand": "D",    "councilTaxExempt": false,    "councilTaxIncluded": false,    "annualGroundRent": null,    "groundRentReviewPeriodInYears": null,    "groundRentPercentageIncrease": null,    "annualServiceCharge": null,    "domesticRates": null  },  "sharedOwnership": null,  "lettings": null,  "features": {    "electricity": [],    "broadband": [],    "water": [],    "sewerage": [],    "heating": [],    "accessibility": [],    "parking": [],    "garden": [      "Yes"    ],    "risks": {      "floodedInLastFiveYears": null,      "floodDefences": null,      "floodSources": []    },    "obligations": {      "listed": null,      "restrictions": null,      "requiredAccess": null,      "rightsOfWay": null    }  },  "listingUpdateReason": "Added on 19/08/2026",  "event": "property-detail",  "collectedAt": "2026-09-20T19:44:51.103Z"}

Fields

Every record starts with the same envelope: source, type, event, id, url, collectedAt. What the envelope means. The tables below list the fields after it, read from real Rightmove records. Where a field does not apply to an item it is null or an empty list, not left out. "Present on" names the billed events a field comes with when it is not on every record of that type.

property records

One UK property listing on Rightmove, from a search result or a property detail page. Billed as property or property-detail.

58 fields on property records, besides the envelope
FieldTypeWhat it holdsPresent on
portalstringThe portal the record was read from: rightmove.All
listingTypestringfor_sale or for_rent.All
channelstringRightmove's internal channel code (for example RES_BUY); only on detail records.Only property-detail
statusstringThe listing's status, published or archived; only on detail records.Only property-detail
priceintegerThe price as a number; currency is given by currency, display format by priceText.All
priceTextstringThe price exactly as displayed on the site.All
priceQualifiernull | stringA short qualifier shown with the price (for example Guide Price), or null.All
pricePerSqFtnull | stringPrice per square foot exactly as displayed on the site, or null; only on detail records.Only property-detail
currencystringISO 4217 currency code for price, defaulting to GBP when the source states none.All
bedroomsintegerNumber of bedrooms, or null.All
bathroomsinteger | nullNumber of bathrooms, or null.All
propertyTypestringThe property type, for example Detached house or Flat.All
tenurestringThe tenure, for example Freehold or Leasehold, or null.All
tenureYearsRemaininginteger | nullYears remaining on a leasehold tenure, or null; only on detail records.Only property-detail
addressobjectThe address, with keys displayAddress, outcode, incode, postalCode and country.All
coordinatesobjectThe location, with keys lat and lng, both null when neither is available.All
pinTypestringHow precise the map pin is (for example APPROXIMATE_POINT); only on detail records.Only property-detail
descriptionstringThe listing's description text; only on detail records, null otherwise.Only property-detail
keyFeaturesarrayList of bullet point feature strings.All
sizenull | objectThe floor size, with keys value and unit; null when not published.Only property-detail
photoCountintegerNumber of photos for the listing, or null.All
photosarrayList of photo URLs for the listing; empty when none are available.All
photoCaptionsarrayEach photo paired with its caption: a list of objects with keys url and caption; only on detail records.Only property-detail
floorplanarrayList of floorplan image URLs; only on detail records.Only property-detail
floorplanCaptionsarrayEach floorplan paired with its caption: a list of objects with keys url and caption; only on detail records.Only property-detail
epcarrayEnergy performance certificates: a list of objects with keys url and caption; only on detail records.Only property-detail
brochuresarrayList of brochure objects with keys url and caption; only on detail records.Only property-detail
virtualToursarrayList of virtual tour objects with keys url and caption; only on detail records.Only property-detail
videoProviderstringThe listing's video provider name, or No Video, or none when the page carries no value at all; only on detail records.Only property-detail
nearestStationsarrayList of nearby stations, each with keys name, types, distance and unit; only on detail records.Only property-detail
nearestAirportsarrayList of nearby airports, each with keys name, distance and unit; only on detail records.Only property-detail
livingCostsobjectRunning cost figures (council tax band, ground rent, service charge and more), or null; only on detail records.Only property-detail
sharedOwnershipnullShared ownership terms with keys ownershipPercentage, rentPrice and rentFrequency, or null; only on detail records.Only property-detail
lettingsnullRental terms with keys letAvailableDate, deposit, minimumTermInMonths, letType and furnishType, or null; only on detail records.Only property-detail
featuresobjectUK material information covering utilities, parking, garden, risks and legal obligations; only on detail records.Only property-detail
listingUpdateReasonstringThe reason the listing was last updated (for example Added on), or null.All
displayStatusnullRightmove's raw display status text (for example Sold STC); from the search result.All
priceFrequencynullHow often the price recurs for a rental (for example weekly), or null; from the search result.All
propertyTypeDescriptionstringThe full property type description text; from the search result.All
summarystringA short summary text for the listing; from the search result.All
floorplanCountintegerNumber of floorplans for the listing; from the search result.All
displaySizenull | stringThe property size or room count exactly as displayed on the site, or null; from the search result.All
addedOrReducednull | stringA short added or reduced date label as displayed on the site, or null; from the search result.All
listingUpdatedAtnull | stringISO 8601 timestamp the listing was last updated, or null; from the search result.All
firstListedAtstringISO 8601 timestamp the listing was first published, or null; from the search result.All
isFeaturedbooleanWhether the listing is featured.All
isPremiumbooleanWhether the listing is a premium listing; from the search result.All
isDevelopmentbooleanWhether the listing is a new development; from the search result.All
isAuctionbooleanWhether the listing is an auction listing; from the search result.All
agentobjectThe listing agent or branch; keys vary by event, always including name, branchId, phone and logoUrl.All
searchLocationnullThe search location text the run searched for that produced this record; null when not run from a location search.All
totalResultCountintegerTotal number of results for the search that produced this record, or null; from the search result.All
contactMethodstringThe agent's preferred contact method (for example EMAIL); only on detail records.Only property-detail
isBrandPlusbooleanWhether the listing uses Rightmove's Brand Plus display; only on detail records.Only property-detail
isPremiumDisplaybooleanWhether the listing uses premium display; only on detail records.Only property-detail
feesApplybooleanWhether letting agent fees apply; only on detail records.Only property-detail
tagsarrayList of raw tag strings for the listing; only on detail records.Only property-detail
propertyDisclaimerstringThe listing's disclaimer text, or null; only on detail records.Only property-detail

Rightmove data pricing

You pay once for each record you receive, at the price of the event it carries. A request that returns nothing costs nothing.

EventPer 1,000 recordsPer record
property$1.40$0.00140
property-detail$2.70$0.00270

Freshness and limits

  • Records are collected when you send the request. Each one carries collectedAt, the UTC time it was read.
  • POST /records/rightmove returns up to 500 records in one response. Ask for more and it answers 413; send the same body to POST /jobs/rightmove instead.
  • A request without maxItems returns up to 100 records.
  • Your key's rate limit and quotas apply to every source.

Next steps