---
title: "Search Rightmove properties"
method: GET
path: "/rightmove/search"
tags: ["Rightmove"]
---

# Search Rightmove properties

`GET /rightmove/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/rightmove/search`
- Auth: API key in header `x-api-key`

Searches Rightmove listings for a required `location` id, for sale (default) or `to_let`, 1-indexed by `page`. Filter by price, bedrooms, bathrooms, `property_type`, `radius`, `must_have`, `dont_show` and `tenure_types`; `sort` defaults to `newest_listed`. Returns `total` and results with price, address, beds, baths, size and tenure.

## Query parameters

- `location` string, required
- `page` integer
- `status` 'for_sale' | 'to_let'
- `min_price` integer
- `max_price` integer
- `min_bedrooms` integer
- `max_bedrooms` integer
- `min_bathrooms` number
- `max_bathrooms` number
- `property_type` 'detached' | 'semi-detached' | 'terraced' | 'flat' | 'bungalow' | 'land' | 'park-home' | 'private-halls'
- `radius` 0 | 0.25 | 0.5 | 1 | 3 | 5 | 10 | 15 | 20 | 30 | 40
- `must_have` 'garden' | 'parking' | 'retirement' | 'newHome' | 'sharedOwnership' | 'auction'
- `dont_show` 'newHome' | 'retirement' | 'sharedOwnership' | 'auction'
- `tenure_types` 'FREEHOLD' | 'LEASEHOLD' | 'SHARE_OF_FREEHOLD'
- `sort` 'lowest_price' | 'highest_price' | 'newest_listed' | 'oldest_listed'

## Headers

- `x-api-key` string, required

## Response `200`

Property search results

- object: The Response struct is used for wrapping the API response with a code, message, and data.
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` object: Data is the response data (can be any object or null) @example {"id": 1, "name": "John Doe"}
    - `location` string
    - `page` integer
    - `results` RightmovePropertyItem[]
      - `added_or_reduced` string
      - `address` string
      - `bathrooms` integer
      - `bedrooms` integer
      - `currency` string
      - `days_on_market` integer
      - `development` boolean
      - `id` string
      - `image` string
      - `price` integer
      - `price_frequency` string
      - `price_text` string
      - `property_type` string
      - `receptions` integer
      - `size` string
      - `status` string
      - `tenure` string
      - `title` string
      - `url` string
    - `total` integer
  - `msg` unknown

## Other responses

- `400`: Invalid query parameter
- `500`: Internal server error
- `503`: Upstream error

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
