Unlock dataset rows into your leads
Buys rows into this account's leads, charging the same credits a search result costs. Idempotent per row: anything already owned comes back in alreadyOwned and is not charged, so a double-submit or a retry cannot bill twice. Insufficient balance rejects the whole batch with 402 rather than unlocking part of it — a partial unlock leaves you unable to tell which rows you bought. Requires the business:unlock scope when called with a scoped key.
/v1/businesses/unlockBuys rows into this account's leads, charging the same credits a search result costs. Idempotent per row: anything already owned comes back in alreadyOwned and is not charged, so a double-submit or a retry cannot bill twice. Insufficient balance rejects the whole batch with 402 rather than unlocking part of it — a partial unlock leaves you unable to tell which rows you bought. Requires the business:unlock scope when called with a scoped key.
Pass Authorization: Bearer mapleads_xxx.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Rows to buy, identified the same way the listing hands them out.
Rows already owned come back in alreadyOwned and are not charged. Identifiers that resolve to the same row are charged once.
items <= 500Response Body
application/json
curl -X POST "https://example.com/v1/businesses/unlock" \ -H "Content-Type: application/json" \ -d '{ "businesses": [ { "provider": "google", "id": "string" } ] }'{ "unlocked": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "cid": "string" } ], "creditsSpent": 0, "alreadyOwned": [ { "provider": "google", "id": "string" } ]}Get a business GET
Resolves a Google CID to the shared business record: identity fields observed across every account's runs, plus — when you have started one — the status of your own most recent research or monitor run against it. Returns 404 until some run has actually observed this CID. Requires the `business:read` scope when called with a scoped key.
List every lead in this account GET
Every lead you own, regardless of how it got here — searches and dataset unlocks alike. Scoping leads to a search only ever worked because search was the single way in; an unlocked row has no job and would be invisible. Keyset-paginated newest first; pass `cursor` from the previous response. Requires the `leads:read` scope when called with a scoped key.