Rightmove BMV Deal Finder

One run samples an area, builds the market median per bedrooms and property type, and delivers the listings priced well below their group - below-market-value leads with the discount percent computed. Asking prices, honestly labeled. No agent contact data.

$3.86 / 1,000 · Recently published - building its public record.

Run it on Apify → Free to try - runs bill per result on your own account.

What you give it

Every field is optional unless marked; sensible defaults do the rest.

FieldTypeWhat it doesDefault
location string Place to search, exactly as you would type it in the Rightmove search box: a town ("Manchester"), area ("Camden, London") or outcode ("EN2"). The first suggestion Rightmove offers for it is used. Manchester
channel string Search properties for sale (buy) or to rent (rent). buy
priceMinGbp integer Only include properties priced at least this many pounds. For rentals this is pounds per month. -
priceMaxGbp integer Only include properties priced at most this many pounds. For rentals this is pounds per month. -
bedroomsMin integer Only include properties with at least this many bedrooms. -
bedroomsMax integer Only include properties with at most this many bedrooms. -
radiusMiles integer Widen the search this many miles around the location. 0 = the location only. -
maxItems integer Upper bound on deals delivered. Free-plan runs are capped at 25 items. 100
discountThresholdPct integer A listing must be at least this far below its group median (same bedrooms + property type) to count as a deal. 15 is a sensible sourcing bar. 15
samplePages integer Result pages sampled to establish the market medians (2-42). More pages = steadier medians, longer run. 12

What you get back

One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.

FieldTypeMeaning
propertyId string Rightmove property ID.
url string Direct link to the property listing.
title string The site's full listing headline.
displayAddress string The address exactly as the listing displays it - the granularity the agent chose to publish. Exact coordinates are never collected.
priceGbp ['integer', 'null'] Asking price in pounds; for rentals see priceFrequency (usually per month).
currency string Always GBP.
priceFrequency ['string', 'null'] Rental payment frequency (monthly, weekly). Null for sales.
priceQualifier ['string', 'null'] The site's price qualifier, e.g. Guide Price, Offers Over.
bedrooms ['integer', 'null'] Number of bedrooms.
bathrooms ['integer', 'null'] Number of bathrooms, when the listing reports it.
propertyType ['string', 'null'] Property subtype, e.g. End of Terrace, Apartment, Detached.
channel ['string', 'null'] buy or rent.
tenureType ['string', 'null'] FREEHOLD or LEASEHOLD, when reported.
displaySize ['string', 'null'] Floor area as displayed, e.g. "1,033 sq. ft.".
summary string Listing summary text as the agent wrote it.
firstVisibleDate ['string', 'null'] When the listing first appeared (ISO timestamp).
listingUpdateReason ['string', 'null'] Last update kind, e.g. price_reduced, new.
listingUpdateDate ['string', 'null'] When the listing was last updated (ISO timestamp).
addedOrReduced ['string', 'null'] The site's added/reduced banner text.
agencyName ['string', 'null'] Estate agency trading name and branch - business identity only. Agent phone numbers and contact routes are never collected.
featured boolean True for featured/premium paid placements.
auction boolean True when the property is sold at auction.
imageUrls array Listing photo URLs (up to 8).
bucket string The comparison group the deal was scored in (bedrooms + property type).
bucketSize integer Priced listings in the comparison group sample.
bucketMedianGbp integer The group's median asking price in the sampled area.
discountPct integer How far below the group median this listing is priced, in percent.

Health

Recently published - building its public record. Live record, failures included: status page.

Full documentation, examples and the AI-assistant prompt live on the store page.