Lead generators
Lead generators are saved investment scanners: an area (a set of outcodes or a drawn polygon) plus filter criteria (price, beds, yield, BMV, 60+ keyword flags such asprobate or needs_modernisation), persisted server-side and queryable on demand. They run against 2.1M+ live UK listings refreshed daily, so the same scanner returns new deals each time you poll it. Typical integration: create a scanner once, then page through /{lg_id}/properties (or pull the CSV export) on a schedule.
Required scope: leads:read
Cost: 1 request per call
Available on: Starter, Professional, Business
Scanner endpoints are plan-gated on the underlying account: the number of scanners you can hold is limited by subscription tier, and a free-tier account returns
403. Requests over a paid_* API key are authorised as the key owner’s account.List lead generators
Returns all active lead generators for the authenticated account, with plan limit and remaining headroom.Request
Response
Preview match counts
Fast COUNT preview for a scanner-in-the-making — see the rough size of the result set for a given area + criteria before saving. Where the chosen playbook has stored tiers, a gold/silver/bronze breakdown is included. Soft-fails (never errors): a failed count returnsstatus: "timeout" with total: 0.
Request
*At least one of
selected_outcodes or polygon_wkt should be set — with neither, the endpoint returns an empty preview (status: "empty") without querying.
Response
Create a lead generator
Persists a new scanner. Eitherselected_outcodes or polygon_wkt must be provided. Plan-based scanner count limits apply — exceeding them returns 403.
Request
*One of
selected_outcodes or polygon_wkt is required — providing neither returns 400.
Response
Returns201 Created with the full lead generator object — same shape as a single item in the list response above.
Get a lead generator
Request
Response
The full lead generator object — same shape as a single item in the list response above.Update a lead generator
Only the fields you provide are changed.Request
400.
Response
The updated lead generator object.Delete a lead generator
Soft-deletes the scanner (sets it inactive). Returns204 No Content.
Request
Get matching properties
The workhorse endpoint: paginated properties matching the scanner’s area + saved criteria. Every filter below can also be passed as a query param to override or narrow the saved criteria for that request only. Results are cached for 15 minutes per unique filter combination.Request
Response
probate, repossessed, tenanted, hmo_potential, …), per-strategy scores (btl_score, hmo_score, flip_score, brrr_score, sa_score, r2r_score, motivation_score), BMV metadata (bmv_market_tier, bmv_confidence_level, bmv_data_source), bedroom_potential_score / bedroom_potential_tier, cash_flow, condition_tier and price_per_sqft. Null when not yet enriched.
Get status counts
Property count breakdown by status category for a scanner’s area. Accepts the same filter query params as/{lg_id}/properties (excluding status itself) so counts stay aligned with a filtered result list.
Request
Response
Export properties as CSV
Streams a CSV of properties matching the scanner. Accepts the same filter /sort_by / status query params as /{lg_id}/properties. Capped at 10,000 rows, Excel-compatible (UTF-8 with BOM). The X-Export-Row-Count response header carries the row count.
Request
Response
text/csv stream with a Content-Disposition: attachment header. Columns mirror the property fields returned by /{lg_id}/properties.
Related endpoints
- Off-market lead generators — Off-market and distressed-stock scanners
- Properties — Full property search and detail
- Investment — Yield, BMV and strategy calculations