{"openapi":"3.1.0","info":{"title":"Rightmove API — RealtyAPI","version":"1.0.0","description":"Rightmove API endpoints All endpoints require an API key sent in the `x-realtyapi-key` header. Get a key and try every endpoint interactively at https://www.realtyapi.io/api/rightmove.","contact":{"name":"RealtyAPI","url":"https://www.realtyapi.io","email":"support@realtyapi.io"}},"externalDocs":{"description":"Interactive API playground and docs","url":"https://www.realtyapi.io/api/rightmove"},"servers":[{"url":"https://rightmove.realtyapi.io"}],"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"Property Details","description":"Property Details endpoints"},{"name":"Search Rightmove","description":"Search Rightmove endpoints"},{"name":"Branch and Agent","description":"Branch and Agent endpoints"},{"name":"Sold Prices","description":"Sold Prices endpoints"},{"name":"Utilities","description":"Utilities endpoints"},{"name":"Commercial","description":"Commercial property search & details (offices, retail, industrial, leisure, land). Separate Rightmove backend from the residential endpoints — channels are COMMERCIAL_BUY / COMMERCIAL_RENT."}],"paths":{"/details/byid":{"get":{"operationId":"get_details_byid","summary":"details/byid","tags":["Property Details"],"parameters":[{"name":"propertyId","in":"query","required":true,"schema":{"type":"string"},"description":"Rightmove property id (digits only). Source from any `/search/*` result's `id` field, or the trailing digits in a listing URL.\n\n**Example**: `148711631`","example":"148711631"}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Get **full Rightmove property details** by numeric `propertyId`. Returns the complete listing payload: address, photos, displayed and numeric prices, beds, baths, property type, key features, full description, floorplans, EPC, tenure, council tax band, branch (estate agent) info, and lat/lon.\n\nThe `propertyId` is the `id` field returned in any `/search/*` response, or the trailing digits in a Rightmove listing URL (e.g. `https://www.rightmove.co.uk/properties/148711631` → `148711631`).\n\nIf you only have the URL, use [/details/byurl](https://realtyapi.io/dashboard?tab=playground&api=rightmove&endpoint=details_byurl) instead."}},"/search/bylocation":{"get":{"operationId":"get_search_bylocation","summary":"search/bylocation","tags":["Search Rightmove"],"parameters":[{"name":"location","in":"query","required":true,"schema":{"type":"string"},"description":"UK location — city, town, neighbourhood, region, station, county, or outcode. Resolved internally via Rightmove's typeahead.\n\n**Examples**: `London`, `Manchester`, `Edinburgh`, `Clapham Junction`, `SW1A`","example":"London"},{"name":"radius","in":"query","required":false,"schema":{"type":"number"},"description":"Search radius in **miles** around the resolved location centre. **Default**: `0.0` (region-only). Max `40.0`.\n\n**Examples**: `0.25`, `1`, `5`, `10`","example":0},{"name":"page","in":"query","required":false,"schema":{"type":"number"},"description":"1-based page index. **Default**: `1`. Response includes `nextPage` — keep paging until it's `false`.","example":1},{"name":"resultCount","in":"query","required":false,"schema":{"type":"number"},"description":"Records per page. **Default**: `25`. Min `1`, max `40` (Rightmove server cap).","example":25},{"name":"sortOrder","in":"query","required":false,"schema":{"type":"string","enum":["highest_price","lowest_price","newest","oldest","distance"]},"description":"Result sorting. **Default**: `highest_price`.\n\n- `highest_price` — most expensive first\n- `lowest_price` — cheapest first\n- `newest` — most recently listed first\n- `oldest` — oldest listed first\n- `distance` — nearest to the location centre first"},{"name":"searchType","in":"query","required":false,"schema":{"type":"string","enum":["BUY","RENT"]},"description":"Listing channel. **Default**: `BUY`.\n\n- `BUY` — properties currently listed for sale\n- `RENT` — lettings (rental listings); price ranges are interpreted as **pounds per month**, `monthlyRent` is populated on each result"},{"name":"propertyType","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of UK property types. Leave empty to include all.\n\n**Allowed values**: `house, detached, semi_detached, terraced, flat, bungalow, commercial, land, park_home, student_halls, other`\n\n**Examples**: `flat`, `detached,flat`, `terraced,semi_detached`"},{"name":"priceRange","in":"query","required":false,"schema":{"type":"string"},"description":"Price range, in GBP (£). For `RENT` channel, values are **pounds per month**.\n\n**Possible Inputs**:\n- For Minimum: `min:500000`\n- For Maximum: `max:1500000`\n- For a Range: `min:500000,max:1500000`"},{"name":"bedroomsRange","in":"query","required":false,"schema":{"type":"string"},"description":"Bedroom range.\n\n**Possible Inputs**:\n- For Minimum Beds: `min:2`\n- For Maximum Beds: `max:4`\n- For an Exact Match: `min:3,max:3`\n- For a Range: `min:2,max:4`"},{"name":"bathroomsRange","in":"query","required":false,"schema":{"type":"string"},"description":"Bathroom range.\n\n**Possible Inputs**:\n- For Minimum Baths: `min:1`\n- For Maximum Baths: `max:3`\n- For a Range: `min:1,max:3`"},{"name":"mustHave","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated property characteristics that listings **must** have.\n\n**Allowed values**: `garden, parking, new_home, retirement, house_share, shared_ownership, auction, student`\n\n**Examples**: `garden`, `garden,parking`, `new_home`"},{"name":"dontShow","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated property characteristics to **exclude**. Same vocabulary as `mustHave`.\n\n**Examples**: `retirement,shared_ownership`, `auction`"},{"name":"furnishType","in":"query","required":false,"schema":{"type":"string"},"description":"Furnishing filter. **Used for `searchType` = `RENT`** only (ignored on BUY).\n\n**Allowed values** (comma-separated): `furnished, part_furnished, unfurnished`\n\n**Examples**: `furnished`, `furnished,part_furnished`"},{"name":"letType","in":"query","required":false,"schema":{"type":"string","enum":["long_term","short_term","student"]},"description":"Letting term. **Used for `searchType` = `RENT`** only.\n\n- `long_term` — standard assured shorthold tenancy\n- `short_term` — serviced / short lets\n- `student` — student lets"},{"name":"keywords","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text keyword search over the listing description. Comma-separate multiple keywords.\n\n**Examples**: `garden`, `loft conversion,balcony`, `period property`"},{"name":"daysSinceAdded","in":"query","required":false,"schema":{"type":"string","enum":["1","3","7","14"]},"description":"Restrict to listings added in the last N days. Leave empty for any age. Allowed values: `1`, `3`, `7`, `14`."},{"name":"includeUnavailable","in":"query","required":false,"schema":{"type":"boolean"},"description":"Set to `true` to also include **sold / let-agreed / under-offer** listings alongside live ones. **Default**: `false`."}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Search Rightmove listings by **free-text UK location** — city, town, neighbourhood, region, station, county, or outcode. The location is resolved to a Rightmove `locationIdentifier` via the same typeahead [/autocomplete](https://realtyapi.io/dashboard?tab=playground&api=rightmove&endpoint=autocomplete) uses, then all listings within that region are returned.\n\nReturns paginated listings each with `id`, address, photos, displayed and numeric prices, beds, baths, property type, branch summary (use `branch.id` with [/agent/details](https://realtyapi.io/dashboard?tab=playground&api=rightmove&endpoint=agent_details)), and listing date.\n\nSupports the **full filter set**: status, property type, price/beds/baths ranges, radius, must-have / don't-show characteristics, rent-only filters (furnish type, let type), keywords, days-since-added, and include-unavailable."}},"/agent/details":{"get":{"operationId":"get_agent_details","summary":"agent/details","tags":["Branch and Agent"],"parameters":[{"name":"branchId","in":"query","required":true,"schema":{"type":"string"},"description":"Rightmove branch identifier (digits only). Source from any `/search/*` or `/details/*` response's `branch.id` field.\n\n**Example**: `1941`","example":"1941"}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Get **full details for a Rightmove branch (estate agent)** by numeric `branchId`. Returns the branch's name, summary, address, phone, opening hours, logo URLs, and lettings / sale capabilities.\n\nThe `branchId` is the `branch.id` field returned on every `/search/*` and `/details/*` response."}},"/sold-prices":{"get":{"operationId":"get_sold_prices","summary":"sold-prices","tags":["Sold Prices"],"parameters":[{"name":"location","in":"query","required":true,"schema":{"type":"string"},"description":"UK location to look up — city, town, neighbourhood, outcode, or postcode. Resolved to a Rightmove location identifier via typeahead.\n\n**Examples**: `London`, `Manchester`, `SW1A`, `Edinburgh`","example":"London"},{"name":"radius","in":"query","required":false,"schema":{"type":"number"},"description":"Search radius in **miles** around the location centre. **Default**: `0.0` (region-only). Max `40.0`.","example":0},{"name":"page","in":"query","required":false,"schema":{"type":"number"},"description":"1-based page index. **Default**: `1`.","example":1},{"name":"propertyType","in":"query","required":false,"schema":{"type":"string","enum":["detached","semi_detached","terraced","flat","other"]},"description":"Filter to a single property type. Leave empty to include all.\n\nAllowed values: `detached`, `semi_detached`, `terraced`, `flat`, `other`."},{"name":"tenure","in":"query","required":false,"schema":{"type":"string","enum":["FREEHOLD","LEASEHOLD"]},"description":"Filter by tenure. Leave empty to include both.\n\n- `FREEHOLD` — own the building and the land\n- `LEASEHOLD` — own the property for a fixed term, ground rent paid to freeholder"},{"name":"soldIn","in":"query","required":false,"schema":{"type":"number"},"description":"Restrict to sales completed in the last **N years**.\n\n**Examples**: `1`, `3`, `5`, `10`"},{"name":"sortBy","in":"query","required":false,"schema":{"type":"string","enum":["price","address"]},"description":"Sort field. **Default**: `price`. Rightmove's sold-price endpoint only supports `price` or `address`."},{"name":"sortOrder","in":"query","required":false,"schema":{"type":"string","enum":["DESC","ASC"]},"description":"Sort direction. **Default**: `DESC` (highest / Z first).\n\n- `DESC` — highest price first, or Z–A by address\n- `ASC` — lowest price first, or A–Z by address"}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Get **Land Registry sold-price history** for a UK location. Returns paginated sold-property records with full transaction history per address — sale date, sale price, property type, tenure, and address.\n\nFilter by property type, tenure, and recency. Sortable by price or address."}},"/autocomplete":{"get":{"operationId":"get_autocomplete","summary":"autocomplete","tags":["Utilities"],"parameters":[{"name":"input","in":"query","required":true,"schema":{"type":"string"},"description":"Search term — partial city, neighbourhood, outcode, or station name.\n\n**Examples**: `London`, `Manchester`, `SW1A`, `Clapham Junction`, `Edinburgh`","example":"London"},{"name":"limit","in":"query","required":false,"schema":{"type":"number"},"description":"Maximum suggestions returned (1–20). **Default**: `10`.","example":10},{"name":"channel","in":"query","required":false,"schema":{"type":"string","enum":["BUY","RENT"]},"description":"Bias suggestions for sale or lettings searches. **Default**: `BUY`."}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Rightmove **search-box autocomplete** (`/api/typeahead`). Returns up to 10 ranked region / outcode / station suggestions for a free-text query. Each result includes a `locationIdentifier` (e.g. `REGION^87490`) ready to feed into any `/search/*` call.\n\nUse this for type-ahead UIs or to pre-resolve a location before search."}},"/commercial/search/bylocation":{"get":{"operationId":"get_commercial_search_bylocation","summary":"commercial/search/bylocation","tags":["Commercial"],"parameters":[{"name":"locationName","in":"query","required":true,"schema":{"type":"string"},"description":"Free-text location to search — a city, town, region, postcode district or area (e.g. `London`, `Manchester`, `EC1`, `Birmingham`). Resolved to a Rightmove location via autocomplete. Use `locationIdentifier` instead if you already have a Rightmove id.","example":"London"},{"name":"channel","in":"query","required":false,"schema":{"type":"string","enum":["buy","rent"]},"description":"Listing type. `buy` = commercial property **for sale**; `rent` = commercial property **to let**. Default: `buy`.","example":"buy"},{"name":"page","in":"query","required":false,"schema":{"type":"number"},"description":"Page number (24 results per page). Default: `1`.","example":1},{"name":"sortOrder","in":"query","required":false,"schema":{"type":"string","enum":["newest","highest_price","lowest_price","oldest"]},"description":"Result ordering. Default: site default (`newest`). `highest_price` / `lowest_price` sort by price; `newest` / `oldest` by date added.","example":"newest"},{"name":"propertyType","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by commercial type(s), comma-separated. Valid values: `office`, `retail`, `industrial`, `leisure`, `land`, `healthcare`, `hotel`, `commercial`, `other`. Example: `office,retail`.","example":"office"},{"name":"minPrice","in":"query","required":false,"schema":{"type":"number"},"description":"Minimum price (GBP). Example: `100000`.","example":100000},{"name":"maxPrice","in":"query","required":false,"schema":{"type":"number"},"description":"Maximum price (GBP). Example: `2000000`.","example":2000000},{"name":"minSize","in":"query","required":false,"schema":{"type":"number"},"description":"Minimum floor area in **sq ft**. Example: `500`.","example":500},{"name":"maxSize","in":"query","required":false,"schema":{"type":"number"},"description":"Maximum floor area in **sq ft**. Example: `10000`.","example":10000},{"name":"radius","in":"query","required":false,"schema":{"type":"number"},"description":"Search radius around the location in miles (0–40). Default: `0`.","example":1},{"name":"keywords","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text keywords to match in listings (comma-separated). Example: `freehold,a1`."},{"name":"locationIdentifier","in":"query","required":false,"schema":{"type":"string"},"description":"Advanced: pass a Rightmove location identifier directly (e.g. `REGION^87490`, `OUTCODE^...`), bypassing `locationName`. Get one from the `/autocomplete` endpoint."}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Search Rightmove **commercial** property (offices, retail, industrial, leisure, land) by location. Set `channel=buy` for *for sale* or `channel=rent` for *to let*. Returns paginated listings with price, size (sq ft), address, agent/branch and photos.\n\nThis is a separate Rightmove backend from the residential `/search/bylocation` — commercial listings use the `COMMERCIAL_BUY` / `COMMERCIAL_RENT` channels and are not returned by the residential endpoints."}},"/details/byurl":{"get":{"operationId":"get_details_byurl","summary":"details/byurl","tags":["Property Details"],"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Rightmove listing URL.\n\n**Example**: `https://www.rightmove.co.uk/properties/148711631`","example":"https://www.rightmove.co.uk/properties/148711631"}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Get **full Rightmove property details** from a listing URL. The numeric `propertyId` is parsed out of the URL path (`/properties/<id>`) and forwarded to [/details/byid](https://realtyapi.io/dashboard?tab=playground&api=rightmove&endpoint=details_byid).\n\nUse this when you have a Rightmove listing URL (e.g. shared from the website) but not the numeric id."}},"/search/byzip":{"get":{"operationId":"get_search_byzip","summary":"search/byzip","tags":["Search Rightmove"],"parameters":[{"name":"zipCode","in":"query","required":true,"schema":{"type":"string"},"description":"UK postcode or outcode. Accepts both full postcodes (`SW1A 1AA`) and outcodes (`SW1A`).\n\n**Examples**: `SW1A 1AA`, `SW1A`, `M1 1AA`, `EH1`, `B33`","example":"SW1A 1AA"},{"name":"radius","in":"query","required":false,"schema":{"type":"number"},"description":"Search radius in **miles** around the resolved location centre. **Default**: `0.0` (region-only). Max `40.0`.\n\n**Examples**: `0.25`, `1`, `5`, `10`","example":0},{"name":"page","in":"query","required":false,"schema":{"type":"number"},"description":"1-based page index. **Default**: `1`. Response includes `nextPage` — keep paging until it's `false`.","example":1},{"name":"resultCount","in":"query","required":false,"schema":{"type":"number"},"description":"Records per page. **Default**: `25`. Min `1`, max `40` (Rightmove server cap).","example":25},{"name":"sortOrder","in":"query","required":false,"schema":{"type":"string","enum":["highest_price","lowest_price","newest","oldest","distance"]},"description":"Result sorting. **Default**: `highest_price`.\n\n- `highest_price` — most expensive first\n- `lowest_price` — cheapest first\n- `newest` — most recently listed first\n- `oldest` — oldest listed first\n- `distance` — nearest to the location centre first"},{"name":"searchType","in":"query","required":false,"schema":{"type":"string","enum":["BUY","RENT"]},"description":"Listing channel. **Default**: `BUY`.\n\n- `BUY` — properties currently listed for sale\n- `RENT` — lettings (rental listings); price ranges are interpreted as **pounds per month**, `monthlyRent` is populated on each result"},{"name":"propertyType","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of UK property types. Leave empty to include all.\n\n**Allowed values**: `house, detached, semi_detached, terraced, flat, bungalow, commercial, land, park_home, student_halls, other`\n\n**Examples**: `flat`, `detached,flat`, `terraced,semi_detached`"},{"name":"priceRange","in":"query","required":false,"schema":{"type":"string"},"description":"Price range, in GBP (£). For `RENT` channel, values are **pounds per month**.\n\n**Possible Inputs**:\n- For Minimum: `min:500000`\n- For Maximum: `max:1500000`\n- For a Range: `min:500000,max:1500000`"},{"name":"bedroomsRange","in":"query","required":false,"schema":{"type":"string"},"description":"Bedroom range.\n\n**Possible Inputs**:\n- For Minimum Beds: `min:2`\n- For Maximum Beds: `max:4`\n- For an Exact Match: `min:3,max:3`\n- For a Range: `min:2,max:4`"},{"name":"bathroomsRange","in":"query","required":false,"schema":{"type":"string"},"description":"Bathroom range.\n\n**Possible Inputs**:\n- For Minimum Baths: `min:1`\n- For Maximum Baths: `max:3`\n- For a Range: `min:1,max:3`"},{"name":"mustHave","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated property characteristics that listings **must** have.\n\n**Allowed values**: `garden, parking, new_home, retirement, house_share, shared_ownership, auction, student`\n\n**Examples**: `garden`, `garden,parking`, `new_home`"},{"name":"dontShow","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated property characteristics to **exclude**. Same vocabulary as `mustHave`.\n\n**Examples**: `retirement,shared_ownership`, `auction`"},{"name":"furnishType","in":"query","required":false,"schema":{"type":"string"},"description":"Furnishing filter. **Used for `searchType` = `RENT`** only (ignored on BUY).\n\n**Allowed values** (comma-separated): `furnished, part_furnished, unfurnished`\n\n**Examples**: `furnished`, `furnished,part_furnished`"},{"name":"letType","in":"query","required":false,"schema":{"type":"string","enum":["long_term","short_term","student"]},"description":"Letting term. **Used for `searchType` = `RENT`** only.\n\n- `long_term` — standard assured shorthold tenancy\n- `short_term` — serviced / short lets\n- `student` — student lets"},{"name":"keywords","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text keyword search over the listing description. Comma-separate multiple keywords.\n\n**Examples**: `garden`, `loft conversion,balcony`, `period property`"},{"name":"daysSinceAdded","in":"query","required":false,"schema":{"type":"string","enum":["1","3","7","14"]},"description":"Restrict to listings added in the last N days. Leave empty for any age. Allowed values: `1`, `3`, `7`, `14`."},{"name":"includeUnavailable","in":"query","required":false,"schema":{"type":"boolean"},"description":"Set to `true` to also include **sold / let-agreed / under-offer** listings alongside live ones. **Default**: `false`."}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Search Rightmove listings by **UK postcode**. Accepts both **full postcodes** (`SW1A 1AA`) and **outcodes** (`SW1A`). The postcode is resolved to a Rightmove `locationIdentifier` via typeahead.\n\nSupports the **full filter set** from [/search/bylocation](https://realtyapi.io/dashboard?tab=playground&api=rightmove&endpoint=search_bylocation)."}},"/address":{"get":{"operationId":"get_address","summary":"address","tags":["Utilities"],"parameters":[{"name":"postcode","in":"query","required":true,"schema":{"type":"string"},"description":"Full UK postcode (with or without the inner space).\n\n**Examples**: `SW1A 1AA`, `M1 1AA`, `EH1 2NL`","example":"SW1A 1AA"}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"**Postcode → address lookup**. Returns the list of full UK addresses for a given postcode (`/api/address`).\n\nUseful for address-level resolution before a `/details/*` call, or as a postcode-validation helper."}},"/commercial/details/byid":{"get":{"operationId":"get_commercial_details_byid","summary":"commercial/details/byid","tags":["Commercial"],"parameters":[{"name":"propertyId","in":"query","required":true,"schema":{"type":"number"},"description":"Rightmove commercial listing id — the number in the listing URL `rightmove.co.uk/properties/<id>`. Note: standard commercial listings have 9-digit ids; some promoted/development slots returned by search are not resolvable here.","example":160827305}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Get full details for a single Rightmove **commercial** listing by its id. Returns description, price (incl. price per sq ft), sizings, use classes, tenure, key features, images, floorplans, EPC, brochures and agent/branch contact.\n\nUse the `id` from `/commercial/search/bylocation`. Residential ids return a flag pointing to `/details/byid`."}},"/details/byaddress":{"get":{"operationId":"get_details_byaddress","summary":"details/byaddress","tags":["Property Details"],"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Free-text UK property address — **must include a postcode or outcode** for the resolver to anchor on.\n\n**Examples**:\n- `One Hyde Park, Knightsbridge, London, SW1X 7LA`\n- `10 Downing Street, London, SW1A 2AA`\n- `221B Baker Street, London, NW1 6XE`","example":"One Hyde Park, Knightsbridge, London, SW1X 7LA"}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Look up a UK property's **full Rightmove record by free-text address** (postcode + street / building name).\n\nThe address is resolved internally via a multi-step pipeline: postcode → [/address](https://realtyapi.io/dashboard?tab=playground&api=rightmove&endpoint=address) lookup → typeahead → property-listing radius search → string-match against the input → [/details/byid](https://realtyapi.io/dashboard?tab=playground&api=rightmove&endpoint=details_byid).\n\nReturns the **same fat detail object** as `/details/byid` plus three extra fields:\n- `resolvedAddress` — the canonical Rightmove address the input matched to\n- `matchConfidence` — `0.0`–`1.0` score for the address match\n- `alternatives` — top-N near-matches if the primary match isn't a perfect hit\n\n**The input must include a postcode or outcode** for the resolver to anchor on (e.g. `SW1X 7LA` or `SW1X`). Free-text-only city / region inputs won't resolve."}},"/search/bycoordinates":{"get":{"operationId":"get_search_bycoordinates","summary":"search/bycoordinates","tags":["Search Rightmove"],"parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number"},"description":"Centre-point latitude (WGS84). **Example**: `51.5074` (central London).","example":51.5074},{"name":"longitude","in":"query","required":true,"schema":{"type":"number"},"description":"Centre-point longitude (WGS84). **Example**: `-0.1278` (central London).","example":-0.1278},{"name":"radius","in":"query","required":false,"schema":{"type":"number"},"description":"Search radius in **miles** around the lat/lon centre (0–40). **Default**: `1.0`.","example":1},{"name":"page","in":"query","required":false,"schema":{"type":"number"},"description":"1-based page index. **Default**: `1`. Response includes `nextPage` — keep paging until it's `false`.","example":1},{"name":"resultCount","in":"query","required":false,"schema":{"type":"number"},"description":"Records per page. **Default**: `25`. Min `1`, max `40` (Rightmove server cap).","example":25},{"name":"sortOrder","in":"query","required":false,"schema":{"type":"string","enum":["highest_price","lowest_price","newest","oldest","distance"]},"description":"Result sorting. **Default**: `highest_price`.\n\n- `highest_price` — most expensive first\n- `lowest_price` — cheapest first\n- `newest` — most recently listed first\n- `oldest` — oldest listed first\n- `distance` — nearest to the location centre first"},{"name":"searchType","in":"query","required":false,"schema":{"type":"string","enum":["BUY","RENT"]},"description":"Listing channel. **Default**: `BUY`.\n\n- `BUY` — properties currently listed for sale\n- `RENT` — lettings (rental listings); price ranges are interpreted as **pounds per month**, `monthlyRent` is populated on each result"},{"name":"propertyType","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of UK property types. Leave empty to include all.\n\n**Allowed values**: `house, detached, semi_detached, terraced, flat, bungalow, commercial, land, park_home, student_halls, other`\n\n**Examples**: `flat`, `detached,flat`, `terraced,semi_detached`"},{"name":"priceRange","in":"query","required":false,"schema":{"type":"string"},"description":"Price range, in GBP (£). For `RENT` channel, values are **pounds per month**.\n\n**Possible Inputs**:\n- For Minimum: `min:500000`\n- For Maximum: `max:1500000`\n- For a Range: `min:500000,max:1500000`"},{"name":"bedroomsRange","in":"query","required":false,"schema":{"type":"string"},"description":"Bedroom range.\n\n**Possible Inputs**:\n- For Minimum Beds: `min:2`\n- For Maximum Beds: `max:4`\n- For an Exact Match: `min:3,max:3`\n- For a Range: `min:2,max:4`"},{"name":"bathroomsRange","in":"query","required":false,"schema":{"type":"string"},"description":"Bathroom range.\n\n**Possible Inputs**:\n- For Minimum Baths: `min:1`\n- For Maximum Baths: `max:3`\n- For a Range: `min:1,max:3`"},{"name":"mustHave","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated property characteristics that listings **must** have.\n\n**Allowed values**: `garden, parking, new_home, retirement, house_share, shared_ownership, auction, student`\n\n**Examples**: `garden`, `garden,parking`, `new_home`"},{"name":"dontShow","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated property characteristics to **exclude**. Same vocabulary as `mustHave`.\n\n**Examples**: `retirement,shared_ownership`, `auction`"},{"name":"furnishType","in":"query","required":false,"schema":{"type":"string"},"description":"Furnishing filter. **Used for `searchType` = `RENT`** only (ignored on BUY).\n\n**Allowed values** (comma-separated): `furnished, part_furnished, unfurnished`\n\n**Examples**: `furnished`, `furnished,part_furnished`"},{"name":"letType","in":"query","required":false,"schema":{"type":"string","enum":["long_term","short_term","student"]},"description":"Letting term. **Used for `searchType` = `RENT`** only.\n\n- `long_term` — standard assured shorthold tenancy\n- `short_term` — serviced / short lets\n- `student` — student lets"},{"name":"keywords","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text keyword search over the listing description. Comma-separate multiple keywords.\n\n**Examples**: `garden`, `loft conversion,balcony`, `period property`"},{"name":"daysSinceAdded","in":"query","required":false,"schema":{"type":"string","enum":["1","3","7","14"]},"description":"Restrict to listings added in the last N days. Leave empty for any age. Allowed values: `1`, `3`, `7`, `14`."},{"name":"includeUnavailable","in":"query","required":false,"schema":{"type":"boolean"},"description":"Set to `true` to also include **sold / let-agreed / under-offer** listings alongside live ones. **Default**: `false`."}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Search Rightmove listings within a **radius (miles)** of a `latitude`/`longitude` point. The point is reverse-geocoded to the nearest UK outcode via [postcodes.io](https://postcodes.io), then routed through Rightmove's typeahead.\n\nSupports the **full filter set** from [/search/bylocation](https://realtyapi.io/dashboard?tab=playground&api=rightmove&endpoint=search_bylocation)."}},"/search/byurl":{"get":{"operationId":"get_search_byurl","summary":"search/byurl","tags":["Search Rightmove"],"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Rightmove search URL.\n\n**Examples**:\n- `https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490&maxPrice=500000`\n- `https://www.rightmove.co.uk/property-to-rent/find.html?locationIdentifier=REGION%5E87540`","example":"https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490&maxPrice=500000"},{"name":"page","in":"query","required":false,"schema":{"type":"number"},"description":"Override the page number parsed from the URL. **Default**: `1`.","example":1},{"name":"resultCount","in":"query","required":false,"schema":{"type":"number"},"description":"Records per page. **Default**: `25`. Min `1`, max `40`.","example":25}],"responses":{"200":{"description":"Successful response.","headers":{"x-credits-limit":{"description":"Total credits in your current plan period.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Credits remaining in your current plan period.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"}},"description":"Replicate a **Rightmove search URL**. Both `/property-for-sale/find.html?...` and `/property-to-rent/find.html?...` forms are supported. `locationIdentifier`, price/beds/baths ranges, property types, must-have / don't-show, keywords, sort, and pagination are all parsed out of the URL.\n\n**Use this when** you already have a Rightmove search page URL (e.g. shared from the website) and want to pull the same listings via API.\n\nUser-supplied query params override URL-derived ones (e.g. pass `page=2` to override pagination)."}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-realtyapi-key","description":"RealtyAPI key from your dashboard at https://www.realtyapi.io."}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}},"responses":{"Unauthorized":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"PaymentRequired":{"description":"No credits remaining on the API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}