Scrape Campaigns
Save records collected on LinkedIn, Sales Navigator, or Apollo, have Tomba find their emails, and download the results
List scrape campaigns
Lists the campaigns of one source and type, newest first, including those created by other members of your workspace. Deleted campaigns aren't listed.
Each item includes its records, so a page can be large.
Also accepts an OAuth 2.0 access token.
path Parameters
sourceWhere the records were collected.
typeWhat the records are. leads are people, companies are organizations.
query Parameters
pagePage number, starting at 1. Values below 1 are treated as 1.
limitNumber of campaigns per page. Values above 50 are treated as 50.
List scrape campaigns › Responses
A page of campaigns.
Create a scrape campaign
Saves records you collected on LinkedIn, Sales Navigator, or Apollo as a campaign and starts processing it. The Tomba browser extension sends its exports here; the campaign also appears in the dashboard at https://app.tomba.io/sla/{source}/{type}/{id}.
A campaign differs from a bulk job: a bulk job takes rows in Tomba's own input format, with options for each bulk type, and you launch it; a campaign takes the records as the source page gives them, keeps them, and starts at once. In both cases Tomba then looks for the emails:
leads: an enrichment of the record's email when it has one, then the LinkedIn profile, then Email Finder with the name and the company's domain.companies: Domain Search on the company's website, or its name when it has no website.
Tomba reads these fields of each record and stores the others unchanged:
| Source and type | Fields read |
|---|---|
linkedin or sales-navigator leads | first_name, last_name, job_title, linkedin_url, company_name (or company_details.name), company_website (or company_details.website_url), contacts.email, contacts.phone |
linkedin or sales-navigator companies | name, website_url |
apollo leads | name (the full name), title, company, website, email, phone, linkedin |
apollo companies | name, website |
records is an array of records. For Apollo it can also be an object with the array in records. Records Tomba can't read make the campaign failed; the request itself still returns 201.
Follow the campaign with GET /sla/{source}/{type}/{id}/progress and download the results when its status is completed. Credits are charged at the first download, not here.
You can create 15 campaigns of each source and type a day; only successful requests count. Accounts on a lifetime-deal plan without premium access get 403.
Also accepts an OAuth 2.0 access token.
path Parameters
sourceWhere the records were collected.
typeWhat the records are. leads are people, companies are organizations.
Create a scrape campaign › Request Body
nameCampaign name, up to 255 characters. Also the name of the downloaded files.
The records, as collected. An array, or for Apollo also an object with the array in records. The number of records isn't checked against totalRecords.
totalRecordsNumber of records, from 2 to 2500.
Processing options. Other keys are stored but not applied.
Create a scrape campaign › Responses
Campaign created. Processing has started.
Get a scrape campaign
Returns one campaign of your workspace, with its records, status, and results summary.
Also accepts an OAuth 2.0 access token.
path Parameters
sourceWhere the records were collected.
typeWhat the records are. leads are people, companies are organizations.
idCampaign ID, as returned when you created the campaign. The campaign must have the source and type of the path, or the response is 404. A non-numeric ID fails with 422.
Get a scrape campaign › Responses
The campaign.
A scrape campaign.
Update a scrape campaign
Renames a campaign or sets its status. Send only the fields to change.
status is stored as sent, without checking the value or the campaign's current status.
Also accepts an OAuth 2.0 access token.
path Parameters
sourceWhere the records were collected.
typeWhat the records are. leads are people, companies are organizations.
idCampaign ID, as returned when you created the campaign. The campaign must have the source and type of the path, or the response is 404. A non-numeric ID fails with 422.
Update a scrape campaign › Request Body
nameNew campaign name, up to 255 characters.
statusNew status.
Update a scrape campaign › Responses
Campaign updated.
Result of an update or delete.
Delete a scrape campaign
Deletes a campaign. It no longer appears in lists and every route returns 404 for it.
Also accepts an OAuth 2.0 access token.
path Parameters
sourceWhere the records were collected.
typeWhat the records are. leads are people, companies are organizations.
idCampaign ID, as returned when you created the campaign. The campaign must have the source and type of the path, or the response is 404. A non-numeric ID fails with 422.
Delete a scrape campaign › Responses
Campaign deleted.
Result of an update or delete.
Get scrape campaign progress
Returns a campaign's status and progress. Poll it until status is completed or failed.
Unlike the other routes, the response isn't wrapped in data.
Also accepts an OAuth 2.0 access token.
path Parameters
sourceWhere the records were collected.
typeWhat the records are. leads are people, companies are organizations.
idCampaign ID, as returned when you created the campaign. The campaign must have the source and type of the path, or the response is 404. A non-numeric ID fails with 422.
Get scrape campaign progress › Responses
The campaign's progress.
statusThe campaign's status.
progressProcessing progress, from 0 to 100.
completedRecordsAlways 0; use progress.
totalRecordsThe totalRecords sent when the campaign was created.
Launch a scrape campaign
Sets a campaign's status to running. It doesn't start or restart processing: processing starts when the campaign is created, and you don't need to call this route.
Accounts on a lifetime-deal plan without premium access get 403.
Also accepts an OAuth 2.0 access token.
path Parameters
sourceWhere the records were collected.
typeWhat the records are. leads are people, companies are organizations.
idCampaign ID, as returned when you created the campaign. The campaign must have the source and type of the path, or the response is 404. A non-numeric ID fails with 422.
Launch a scrape campaign › Responses
Status set to running.
Result of an update or delete.
Download scrape campaign results
Downloads a result file of a completed campaign as CSV. type selects it: full (the default) has every email found, valid only those whose verification result is valid, and not_found the records with no email. A campaign without a file of that kind returns 404.
The first download charges the campaign's search_cost and verify_cost; later downloads are free. If your balance, or your individual limit in a workspace, is lower than the cost at the first download, the response is 429 and nothing is charged. See Credits and usage.
Each campaign can be downloaded 15 times a day; only successful requests count. Accounts on a lifetime-deal plan without premium access get 403.
Also accepts an OAuth 2.0 access token.
path Parameters
sourceWhere the records were collected.
typeWhat the records are. leads are people, companies are organizations.
idCampaign ID, as returned when you created the campaign. The campaign must have the source and type of the path, or the response is 404. A non-numeric ID fails with 422.
query Parameters
typeThe file to download.
Download scrape campaign results › Responses
The CSV file, as an attachment named after the campaign: <name>.csv for full, <name>_valid.csv for valid, and <name>_not_found.csv for not_found.