Sourcing search
POST /v1/sourcing/searchRun a saved search now and return its rows.
Same call over MCP
Run a saved search nowsaved_search_runAuthenticate with an API key from the API & MCP Hub. The same call is available as an MCP tool at the same price.
Reference
What POST /v1/sourcing/search returns
CHARGED AT THE UNDERLYING SEARCH'S PRICE, not at this tool's headline figure: the response's priced_as and credits_charged say what it actually cost. A saved sourcing search bills exactly as the direct call does — there is no discount for saving and no surcharge.
Nothing runs in the background. A saved search spends nothing until you call this. Where the search carries a change-feed cursor, the stored one is used and the new one written back, so consecutive runs answer "what changed since last time" rather than repeating the whole result — tell the user which of the two they are looking at. UK only.
Inputs
Before you call it
- postcode_district
- Give a postcode district ("SW11") or a postcode area ("SW"). Auction records carry a postcode rather than an area id, so there is no
area_idpath here and no lookup to make first. - location
- Coordinates are WGS84 latitude and longitude, the order a map gives them. A postcode is accepted wherever
locationis, and is usually the easier input.
Request
Calling POST /v1/sourcing/search
curl -X POST "https://api.marketcode.ai/v1/sourcing/search" \
-H "Authorization: Bearer $MARKETCODE_API_KEY"
-H "Content-Type: application/json" \
-d '{}'Send your API key as a Bearer token. Every response carries credits_charged and credits_remaining.
Inputs
Parameters
This endpoint takes no path or query parameters.
Request body
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| asset | Body | string | No | Search land parcels or residential units.One of: land, unitsDefault: land |
| location | Body | string | No | Place or area name, e.g. 'Camden' or 'SW11'. Give exactly one of location, bbox or area_geojson. |
| bbox | Body | object | No | |
| area_geojson | Body | object | No | GeoJSON geometry in EPSG:4326. |
| landuse | Body | string[] | No | Land-use tier-A classes to include. |
| max_built_coverage | Body | number | No | Max built footprint as a share of plot area. Lower means less developed. 0.2 finds substantially empty plots. |
| property_types | Body | string[] | No | |
| min_beds | Body | integer | No | |
| max_beds | Body | integer | No | |
| epc_in | Body | string[] | No | EPC bands to include, e.g. ['E','F','G']. |
| tenure | Body | string | No | |
| owner_types | Body | string[] | No | |
| exclude_owner_types | Body | string[] | No | |
| require_owner | Body | boolean | No | Only return parcels where an owner is known.Default: false |
| min_years_owned | Body | integer | No | Held at least this long. The usual off-market signal. |
| company_status | Body | string[] | No | |
| min_score | Body | integer | No | |
| min_rlv | Body | integer | No | Minimum residual land value, £. |
| opportunities_only | Body | boolean | No | Default: false |
| include_undevelopable | Body | boolean | No | Default: false |
| in_brownfield_register | Body | boolean | No | |
| not_in_green_belt | Body | boolean | No | |
| not_in_conservation_area | Body | boolean | No | |
| max_flood_zone | Body | string | No | |
| limit | Body | integer | No | Default: 50 |
| strategy | Body | string | No | A published preset key from /sourcing/strategies |
| strategy_overrides | Body | object | No | Values for the preset's own filter keys; null switches one off |
| lad_code | Body | string | No | Strategy path: LAD GSS code, e.g. E09000032 |
| postcode_district | Body | string | No | Strategy path: e.g. SW11 |
| h3_cells | Body | integer[] | No | Strategy path: h3 r8 cells, max 500 |
| listing_state | Body | string | No | Strategy path: restrict to on- or off-market unitsOne of: any, live, live_sale, live_rent, off_market |
| cursor | Body | string | No | Strategy path: keyset cursor from next_cursor |
Price and licence
What it costs, and where the data comes from
Sourcing search costs 8 credits per successful call over MCP and over REST, and the two surfaces share one credit balance.
The price covers licensed records in the response. A call that fails is not charged.
Credits are granted on sign-up and bought in packs; the pricing page lists every call.
Related
Endpoints used with Sourcing search
- Save a named searchFree
saved_search_createSave a named search so it can be re-run later. THIS WRITES: it creates something on the user's account. Say what you are about to save and confirm the name before calling it.Same category - Delete a saved searchFree
saved_search_deleteDelete a saved search. THIS WRITES AND IS IRREVERSIBLE — there is no undo and no archive. Confirm with the user, by NAME rather than by id, before calling it.Same category - List saved searchesFree
saved_search_listEvery saved search on this account, newest first, with each one's tool, stored parameters, run count and change-feed cursor. Free, and read-only.Same category - Rename a saved search or replace its parametersFree
saved_search_updateRename a saved search or replace its parameters. THIS WRITES.Same category
FAQ
Questions about Sourcing search
How much does `saved_search_run` cost?
+
Sourcing search costs 8 credits per successful call over MCP and over REST, and the two surfaces share one credit balance. The price covers licensed records in the response. A call that fails is not charged.
How do I authenticate?
+
Send your API key as a Bearer token in the Authorization header. Keys are created in the API & MCP Hub, shown once and revocable. Every response carries the credits charged and your remaining balance.
Is there an MCP version?
+
Yes. The saved_search_run tool on the MarketCode MCP server is the same call at the same price, signed in with OAuth rather than a key, so Claude, ChatGPT, Codex and Cursor can run it in a conversation.
Where does the data come from?
+
The answer is computed by MarketCode. Coverage is the UK.
Can I store or republish the results?
+
The response includes records we license. Use them in your own analysis, reports and products; bulk redistribution of the raw records or building a competing dataset from them is not covered. Ask us if you need a redistribution licence.
Try Sourcing search on a real address.
30-minute call. We'll provision a key and walk through the endpoint on your use case.