Scrapes
Get scrape
Read one scrape in full: its selection, its progress and its upgrades.
api.leadity.io/v1/scrapes/{id}readMCP tool get_scrapeAnswers one scrape in full: everything list_scrapes carries plus its exact selection, the scrapes bought out of it, how many reviews it holds, and the progress of any upgrade bought on it. To poll a live scrape, call get_scrape_status instead, which is cheaper. To see what a finished scrape can still sell, call list_scrape_offers.
Headers
Bearer, a space, then an API key: Bearer lk_api_... An MCP key is refused here with wrong_key_kind.
Path parameters
The scrape's id, as create_scrape and list_scrapes answer it.
1 to 64 characters, matches ^[A-Za-z0-9]{1,64}$.
Response
The scrape's id.
The scrape's name as the app shows it: the customer's own, or one derived from its niches and areas.
The name the customer gave it, or null when the title is derived.
reserving, queued and running are live; stopping and settling are finishing; completed is final.
One ofreservingqueuedrunningstoppingsettlingcompleted
Where this was started: dashboard (the Leadity app), api (an API key), mcp (an MCP key), stress or import (Leadity's own tools).
One ofdashboardapimcpstressimport
The niches ordered.
Show child attributesHide child attributes
The niche id, Google's own category slug.
The niche's name.
Where the scrape searched, in brief. get_scrape carries the full selection.
Show child attributesHide child attributes
Every region the selection touches, as COUNTRY:REGION, e.g. US:TX.
How many single ZIP or postal codes the selection names.
The filters the scrape runs, as resolved when it was ordered: the same vocabulary create_scrape takes, with every filter present (phoneTypeFilter, websitePresence, findOwner, nicheMatch, minGoogleReviews) and the add-ons (emailFinder, reviews) present only when ordered. Fields can be added as the product grows, so read the ones you know and ignore the rest.
The most leads the order delivers.
Leads delivered, set when the scrape settles. Null before.
Leads delivered so far while the scrape is live. Null once it has settled, when leadsDelivered holds the count.
Credits held when the order was placed.
Credits the scrape kept, set when it settles; the rest of the hold was refunded. Null before.
The part of the hold set aside for review scraping. 0 when none was ordered.
Google reviews walked, set when the scrape settles. Null when none were ordered.
Email addresses found by the email filter, set when the scrape settles.
Businesses the account already held, in any niche, that this scrape skipped and never charged. Null before it settles.
True when the customer stopped the scrape before it filled.
For a scrape bought out of another one (held-back leads, an owner-name run), the scrape it came from. Null otherwise.
When the order was placed. An ISO 8601 timestamp in UTC.
When the scrape started running. An ISO 8601 timestamp in UTC, or null.
When the scrape settled and refunded what it did not use. An ISO 8601 timestamp in UTC, or null.
The areas ordered, in the shape create_scrape takes, so the scrape can be ordered again.
Show child attributesHide child attributes
Whole regions.
Show child attributesHide child attributes
Single ZIP or postal codes.
Show child attributesHide child attributes
For a scrape bought out of another: residual for held-back leads, enrichment for an owner-name run. Null for an order.
One ofresidualenrichment
The scrapes bought out of this one, oldest first.
Show child attributesHide child attributes
reserving, queued and running are live; stopping and settling are finishing; completed is final.
One ofreservingqueuedrunningstoppingsettlingcompleted
When it was bought. An ISO 8601 timestamp in UTC.
Google reviews held so far. download_reviews serves them.
Upgrades bought on this scrape.
Show child attributesHide child attributes
The email-find upgrade's latest run, or null.
Show child attributesHide child attributes
One ofrunningcompleted
What the run could draw from when it was bought.
The results ordered.
Results so far: addresses found, or billable verdicts.
Credits held when it was bought.
Credits it kept, once completed. Null while running.
The email-verify upgrade's latest run, or null.
Show child attributesHide child attributes
One ofrunningcompleted
What the run could draw from when it was bought.
The results ordered.
Results so far: addresses found, or billable verdicts.
Credits held when it was bought.
Credits it kept, once completed. Null while running.
The owner-name run's latest state, or null.
Show child attributesHide child attributes
running or completed.
The scrape that delivers the named leads.
Errors
Every refusal answers { error, message } with the status below. The full list is on the Errors page.
| Code | Status | Meaning | Extra fields |
|---|---|---|---|
| unauthorized | 401 | The API key is missing, malformed, revoked or expired. | - |
| wrong_key_kind | 401 | This key opens the other surface: an API key works on the HTTP API, an MCP key on the MCP server. | - |
| account_suspended | 403 | The account is suspended. | - |
| email_not_verified | 403 | The account's email address is not verified yet. | - |
| invalid_body | 400 | The 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_found | 404 | No such resource on this account. | id: On export_scrapes: the first id that is not one of the account's scrapes. |
| rate_limited | 429 | Too 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_again | 503 | Leadity 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_error | 500 | Something 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. |