Skip to content
LeadityDocs

Scrapes

Purchase email verify

Buy deliverability verdicts for a finished scrape's email addresses.

POSTapi.leadity.io/v1/scrapes/{id}/emails/verify
Scope spendSpends creditsMCP tool purchase_email_verify

Takes credits: checks whether the email addresses a finished scrape holds can receive mail, for the addresses nobody has verified, until it has target billable verdicts. Price it first with list_scrape_offers, which is free and answers the pool, the smallest target and the price in credits per verdict. It holds target times that price now, which maxCredits must cover, and refunds what the run does not use; a catch-all or unknown answer costs nothing. The run lands on the same scrape: watch it in get_scrape under upgrades. Needs a key with the spend scope.

Headers

Authorizationstringrequired

Bearer, a space, then an API key: Bearer lk_api_... An MCP key is refused here with wrong_key_kind.

Idempotency-Keystringrequired

Your own key for this one purchase. Send the same key again to retry it safely: the retry replays the first answer instead of charging twice, and carries Idempotent-Replayed: true. The same key on a different request answers idempotency_conflict, and a spend without one answers idempotency_key_required.

16 to 64 characters, matches ^[A-Za-z0-9_-]+$.

Content-Typestringrequired

application/json

Path parameters

idstringrequired

The scrape's id, as create_scrape and list_scrapes answer it.

1 to 64 characters, matches ^[A-Za-z0-9]{1,64}$.

Body parameters

targetintegerrequired

How many billable verdicts to buy: at least the offer's minTarget. Above the pool it is cut to the pool.

1 to 1,000,000.

maxCreditsintegerrequired

The most this call may take, in whole credits. If the price is higher nothing is charged and the call answers quote_exceeded.

At most 100,000,000, greater than 0.

Response

poolintegerrequired

What the run can draw from, recounted when it was bought.

targetintegerrequired

The results ordered, at most the pool.

reservedCreditsintegerrequired

Credits held now. What is kept is per result, and the rest is refunded when the run ends.

Errors

Every refusal answers { error, message } with the status below. The full list is on the Errors page.

CodeStatusMeaningExtra fields
unauthorized401The API key is missing, malformed, revoked or expired.-
wrong_key_kind401This key opens the other surface: an API key works on the HTTP API, an MCP key on the MCP server.-
insufficient_scope403The key does not carry the scope this operation needs.requiredScope: The scope the operation needs: read, write or spend.
account_suspended403The account is suspended.-
email_not_verified403The account's email address is not verified yet.-
invalid_body400The request does not match the operation's schema.issues: The problems found, each with path (the field as a dotted path, led by the part of the request it travels in: path, query or body, such as body.items.1) and message (what is wrong there).
not_found404No such resource on this account.id: On export_scrapes: the first id that is not one of the account's scrapes.
paywall_required402This operation needs a purchase on the account first.-
insufficient_credits402The balance does not cover the price. Nothing was charged.required: On create_validation: the credits the list holds.
quote_exceeded409The price is above the maxCredits the call allowed. Nothing was charged.credits: What the call would have taken: the whole hold on an order or a list, the price or the hold on an upgrade.maxCredits: The ceiling the call sent.reviewsReservedCredits: On create_scrape: the part of credits held for review scraping.count: On purchase_phone_reveal, when the count was the cause: how many numbers the reveal would name.maxNumbers: On purchase_phone_reveal, when the count was the cause: the maxNumbers the call sent.
idempotency_key_required400A spending operation must carry an Idempotency-Key header (16 to 64 characters of A-Z, a-z, 0-9, _ and -).-
invalid_idempotency_key400The Idempotency-Key must be 16 to 64 characters of A-Z, a-z, 0-9, _ and -.-
idempotency_conflict409This Idempotency-Key was already used for a different request.-
rate_limited429Too many requests. Wait for the Retry-After seconds and try again.retryAfterSeconds: The seconds to wait, the same number as the Retry-After header.
try_again503Leadity could not answer just now. Retry in a moment, with the same Idempotency-Key on a spending call.retryAfterSeconds: When a request with this Idempotency-Key is still being processed: the seconds to wait before retrying with the same key, as the Retry-After header says.
internal_error500Something failed on our side. Nothing was charged twice.body: On the MCP server, when Leadity answered in a shape the tool does not publish: that answer as it came.