Evaboot API
  • Documentation
  • API Reference
Information
LinkedIn Extraction
    Extract a Sales Navigator search or listpostExtract a single Sales Navigator profilepostExtract a list of Sales Navigator profilespostGet LinkedIn extraction job resultsgetFind emails for an existing extraction (removed)postList LinkedIn extraction jobsgetList recurring exportsgetCreate a recurring exportpostGet a recurring exportgetDelete a recurring exportdeleteUpdate a recurring exportpatch
Email Finder
Email Verifier
Account
Search Builder
Schemas
powered by Zudoku
Evaboot Public API
Evaboot Public API

LinkedIn Extraction

Operations for extracting profiles from LinkedIn


Extract a Sales Navigator search or list

POST
https://api.evaboot.com
/v1/extractions/url/

Extract every lead or account behind a Sales Navigator search URL, saved search URL, or lead/account list URL.

The URL is checked against Sales Navigator while you wait, so an unusable search is rejected immediately rather than failing later. Everything after that runs in the background: the response returns an extraction_id straight away, and you either poll GET /v1/extractions/{extraction_id}/ until its status is EXECUTED or supply a webhook_url and be notified when the results are ready. Large searches take several minutes.

Every lead gets a verified professional email where one exists.

Cost: 1 credit per lead or account extracted, emails included. A search's true size is unknown until it has been paged through, so the request only needs a positive balance to start; the credits are debited when the results are ready.

Extract a Sales Navigator search or list › Request Body

UrlExtractionCreateIn
linkedin_url
​string · required

The Sales Navigator URL to extract. Accepts a people or company search URL, a saved search URL, or a lead or account list URL. Copy it straight from your browser's address bar; it must be a linkedin.com/sales/... URL.

Example: https://www.linkedin.com/sales/search/people?query=(spellCorrectionEnabled%3Atrue%2CrecentSearchParam%3A(keywords%3ACEOs))
search_name
​string · maxLength: 255 · required

Your own name for this extraction. Shown in the Evaboot dashboard and returned by the list and detail endpoints, so use something you will recognize later.

Example: Tech Startup CEOs
​

Optional list tab: changed_jobs selects leads who changed jobs in the past 90 days; posted_on_linkedin selects leads who posted on LinkedIn in the past 30 days; all selects the whole list. The two filtered categories are only supported on lead lists. Omit to preserve the URL filter. Conflicts are rejected.

​

Optional HTTPS URL to notify once the extraction finishes. It receives a POST carrying the same results as GET /v1/extractions/{extraction_id}/, so you do not have to poll. Leave it out to poll instead.

Example: https://myapp.com/webhook/extraction
enrich_email
​string · enum · deprecated

Deprecated and ignored: every lead extraction now finds and verifies a professional email for every lead, and each lead costs 1 credit with its email included. Still accepted so existing integrations keep working.

Enum values:
none
matching
all
Example: all
Default: all

Extract a Sales Navigator search or list › Responses

Accepted

ExtractionCreateOut
extraction_id
​string · required

Identifier of the new extraction. Poll GET /v1/extractions/{extraction_id}/ with it to follow progress and collect the results; it is the same value the list endpoint returns as search_id.

Example: ext-12345
success
​boolean

Always true when the extraction was accepted.

Example: true
Default: true
message
​string

Human-readable confirmation that the job was queued.

Example: Extraction job created and processing has begun
Default:
status
​string

Stage the job was in when it was accepted.

Example: Scraping initiated
Default:
count
​integer

Number of leads or accounts submitted, when known upfront. It is 0 for a search or list URL, whose real size is only known once Sales Navigator has been paged through.

Example: 3
Default: 0
POST/v1/extractions/url/
curl https://api.evaboot.com/v1/extractions/url \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "list_category": "all", "linkedin_url": "https://www.linkedin.com/sales/search/people?query=(spellCorrectionEnabled%3Atrue%2CrecentSearchParam%3A(keywords%3ACEOs))", "search_name": "Tech Startup CEOs", "webhook_url": "https://myapp.com/webhook/extraction", "enrich_email": "all" }'
Example Request Body
{ "list_category": "all", "linkedin_url": "https://www.linkedin.com/sales/search/people?query=(spellCorrectionEnabled%3Atrue%2CrecentSearchParam%3A(keywords%3ACEOs))", "search_name": "Tech Startup CEOs", "webhook_url": "https://myapp.com/webhook/extraction", "enrich_email": "all" }
json
Example Responses
{ "success": true, "extraction_id": "ext-12345", "message": "", "status": "", "count": 0 }
json
application/json

Extract a single Sales Navigator profile

POST
https://api.evaboot.com
/v1/extractions/single/

Extract one Sales Navigator lead or account and get the full record back in the response.

This is the only extraction endpoint that is synchronous: there is nothing to poll and no webhook to wire up, so it suits enriching a single record inside a live workflow. Expect it to take a few seconds.

Slow lookups: if the scrape and email lookup are still running after about 25 seconds you get 202 with an extraction_id instead. It carries on and is billed the same way; poll GET /v1/extractions/{extraction_id}/ for the prospect. Use POST /v1/extractions/profiles/ for more than one profile at a time.

The returned prospect object carries the identity, role, tenure and company fields Evaboot collects, plus a verified email address and its status where one exists.

Cost: 1 credit, email included.

Extract a single Sales Navigator profile › Request Body

SingleExtractionCreateIn
profile_id
​string · required

The lead or account to extract, as a Sales Navigator URL (linkedin.com/sales/lead/...) or as a bare Sales Navigator id. Public linkedin.com/in/... profile URLs are not accepted.

Example: ACwAAABcYZ8B
enrich_email
​string · enum · deprecated

Deprecated and ignored: every lead extraction now finds and verifies a professional email for every lead, and each lead costs 1 credit with its email included. Still accepted so existing integrations keep working.

Enum values:
none
matching
all
Example: all
Default: all

Extract a single Sales Navigator profile › Responses

OK

SingleExtractionOut
extraction_id
​string · required

Identifier of the extraction that produced this record. Use it with GET /v1/extractions/{extraction_id}/ to fetch the same result again later.

Example: single-ext-12345
success
​boolean

Always true when the profile was extracted.

Example: true
Default: true
​object

The extracted record, as human-readable column names mapped to values: identity, role and tenure, company details, and the email address plus its verification status when enrichment was requested. Which columns are present depends on whether a lead or an account was extracted. Empty if nothing could be extracted.

Example: {"Company Name":"TechCorp Inc","Current Job":"Senior Software Engineer","Email":"alex.johnson@techcorp.com","Email Status":"safe","Full Name":"Alex Johnson"}
Default: {}
POST/v1/extractions/single/
curl https://api.evaboot.com/v1/extractions/single \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "profile_id": "ACwAAABcYZ8B", "enrich_email": "all" }'
Example Request Body
{ "profile_id": "ACwAAABcYZ8B", "enrich_email": "all" }
json
Example Responses
{ "success": true, "extraction_id": "single-ext-12345", "prospect": {} }
json
application/json

Extract a list of Sales Navigator profiles

POST
https://api.evaboot.com
/v1/extractions/profiles/

Extract a specific set of Sales Navigator leads or accounts, given their URLs or ids, without going through a search.

Use it when you already know exactly who you want: up to 2500 entries per request, all leads or all accounts, never a mix. Public linkedin.com/in/... profile URLs are rejected.

The work runs in the background: the response returns an extraction_id straight away, and you either poll GET /v1/extractions/{extraction_id}/ until its status is EXECUTED or supply a webhook_url and be notified when the results are ready.

Every lead gets a verified professional email where one exists.

Cost: 1 credit per profile submitted, emails included. The whole batch is refused if your balance does not cover it.

Extract a list of Sales Navigator profiles › Request Body

ProfileExtractionCreateIn
profile_ids
​string[] · minItems: 1 · maxItems: 2500 · required

The Sales Navigator leads or accounts to extract, as full URLs or as bare Sales Navigator ids. One batch must be either all leads or all accounts, and public linkedin.com/in/... profile URLs are not accepted. Between 1 and 2500 entries.

Example: ["https://www.linkedin.com/sales/lead/ACwAAABcYZ8B","https://www.linkedin.com/sales/lead/ACwAAABdYZ9C","ACwAAABeYZ8D"]
search_name
​string · maxLength: 255 · required

Your own name for this extraction. Shown in the Evaboot dashboard and returned by the list and detail endpoints.

Example: Target Executive Prospects
​

Optional HTTPS URL to notify once the extraction finishes. It receives a POST carrying the same results as GET /v1/extractions/{extraction_id}/, so you do not have to poll.

Example: https://myapp.com/webhook/extraction
enrich_email
​string · enum · deprecated

Deprecated and ignored: every lead extraction now finds and verifies a professional email for every lead, and each lead costs 1 credit with its email included. Still accepted so existing integrations keep working.

Enum values:
none
matching
all
Example: all
Default: all

Extract a list of Sales Navigator profiles › Responses

Accepted

ExtractionCreateOut
extraction_id
​string · required

Identifier of the new extraction. Poll GET /v1/extractions/{extraction_id}/ with it to follow progress and collect the results; it is the same value the list endpoint returns as search_id.

Example: ext-12345
success
​boolean

Always true when the extraction was accepted.

Example: true
Default: true
message
​string

Human-readable confirmation that the job was queued.

Example: Extraction job created and processing has begun
Default:
status
​string

Stage the job was in when it was accepted.

Example: Scraping initiated
Default:
count
​integer

Number of leads or accounts submitted, when known upfront. It is 0 for a search or list URL, whose real size is only known once Sales Navigator has been paged through.

Example: 3
Default: 0
POST/v1/extractions/profiles/
curl https://api.evaboot.com/v1/extractions/profiles \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "profile_ids": [ "https://www.linkedin.com/sales/lead/ACwAAABcYZ8B", "https://www.linkedin.com/sales/lead/ACwAAABdYZ9C", "ACwAAABeYZ8D" ], "search_name": "Target Executive Prospects", "webhook_url": "https://myapp.com/webhook/extraction", "enrich_email": "all" }'
Example Request Body
{ "profile_ids": [ "https://www.linkedin.com/sales/lead/ACwAAABcYZ8B", "https://www.linkedin.com/sales/lead/ACwAAABdYZ9C", "ACwAAABeYZ8D" ], "search_name": "Target Executive Prospects", "webhook_url": "https://myapp.com/webhook/extraction", "enrich_email": "all" }
json
Example Responses
{ "success": true, "extraction_id": "ext-12345", "message": "", "status": "", "count": 0 }
json
application/json

Get LinkedIn extraction job results

GET
https://api.evaboot.com
/v1/extractions/{extraction_id}/

Fetch an extraction's status and, once it has finished, its extracted records. This is the endpoint you poll after creating an extraction, and it returns the same data a webhook_url would have delivered.

The status code tells you which of two payloads you get:

  • 202: still running. You get the status and a progress percentage, and should poll again shortly.
  • 200: finished. You get the full payload including prospects.

Each record maps human-readable column names to values: identity, role and tenure, company details, and the email address plus its verification status when the extraction was created with enrich_email. Which columns appear depends on whether leads or accounts were extracted.

For large extractions, page the records with the optional start and limit query parameters; total_count and has_more then describe the whole result set. Omit limit and every record is returned in one response. limit=0 returns the status, progress and counts with an empty prospects list.

Synchronous and free: reading results costs no credits.

Get LinkedIn extraction job results › path Parameters

extraction_id
​string · required

Get LinkedIn extraction job results › query Parameters

start
​integer
Default: 0
limit
​

Get LinkedIn extraction job results › Responses

OK

ExtractionDetailOut
search_id
​string · required

Identifier of the extraction you requested.

Example: ext-12345
search_name
​string

The name you gave the extraction when you created it.

Example: Tech Startup CEOs
Default:
status
​string

Where the extraction stands. On this response it is EXECUTED when the results are complete, or FAILED / PAUSED when they are not.

Example: EXECUTED
Default:
extraction_type
​string

How the extraction was created: SEARCH, LIST, UPLOAD or SINGLE.

Example: SEARCH
Default:
total_prospects
​integer

Number of leads or accounts Sales Navigator reported before scraping. An estimate; use total_count for the number of records actually extracted.

Example: 150
Default: 0
progress
​integer

Completion percentage, 0 to 100. 100 once the extraction has finished successfully.

Example: 100
Default: 0
​

When the extraction was created (UTC).

Example: 2023-01-01 12:00:00+00:00
​

When the extraction finished (UTC). null if it never finished.

Example: 2023-01-01 12:04:31+00:00
failure_reason
​string

Short machine-readable reason the extraction did not complete, for example insufficient_credits, auth_error, quota_exceeded or invalid_urls. Empty string when the extraction succeeded.

Example: insufficient_credits
Default:
​object[]

The extracted records, each a mapping of human-readable column names to values: identity, role and tenure, company details, and the email address plus its verification status when enrichment was requested. Which columns are present depends on whether leads or accounts were extracted.

Example: [{"Company Name":"TechCorp Inc","Current Job":"Senior Software Engineer","Email":"alex.johnson@techcorp.com","Email Status":"safe","Full Name":"Alex Johnson"}]
Default: []
start
​integer

Zero-based index of the first record returned.

Example: 0
Default: 0
​

Page size that was applied, echoing the limit you sent. null when you did not page and every record was returned.

Example: 100
returned_count
​integer

Number of records in prospects on this response.

Example: 100
Default: 0
total_count
​integer

Number of records this extraction produced in total, across all pages.

Example: 143
Default: 0
has_more
​boolean

Whether records remain after this page. Request the next page with start = start + returned_count.

Example: true
Default: false
GET/v1/extractions/{extraction_id}/
curl https://api.evaboot.com/v1/extractions/:extraction_id \ --header 'Authorization: Bearer <token>'
Example Responses
{ "search_id": "ext-12345", "search_name": "", "status": "", "extraction_type": "", "total_prospects": 0, "progress": 0, "created_at": "2023-01-01 12:00:00+00:00", "completed_at": "2023-01-01 12:04:31+00:00", "failure_reason": "", "prospects": [], "start": 0, "limit": 100, "returned_count": 0, "total_count": 0, "has_more": false }
json
application/json

deprecated

Find emails for an existing extraction (removed)

POST
https://api.evaboot.com
/v1/extractions/{extraction_id}/enrich

Removed. Every new lead extraction now finds and verifies emails for every lead, so this always answers 422.

Find emails for an existing extraction (removed) › path Parameters

extraction_id
​string · required

Find emails for an existing extraction (removed) › Responses

OK

No data returned
POST/v1/extractions/{extraction_id}/enrich
curl https://api.evaboot.com/v1/extractions/:extraction_id/enrich \ --request POST \ --header 'Authorization: Bearer <token>'
Example Responses
No example specified for this content type

List LinkedIn extraction jobs

GET
https://api.evaboot.com
/v1/extractions/

List the extractions on your account, newest first.

Returns a summary of each one (name, status, type, estimated size, creation date) rather than the extracted records; fetch those from GET /v1/extractions/{extraction_id}/. Page with start and limit (25 per page by default).

status narrows the list. It takes the lowercase job states pending, scheduled, processing, completed, paused and failed. Note that these are not the uppercase values the responses report.

Synchronous and free: listing costs no credits.

List LinkedIn extraction jobs › query Parameters

start
​integer
Default: 0
limit
​integer
Default: 25
status
​

List LinkedIn extraction jobs › Responses

OK

​ExtractionListItemOut[]
ExtractionListItemOut
search_id
​string · required

Identifier of the extraction. Pass it to GET /v1/extractions/{extraction_id}/ to fetch the results.

Example: ext-12345
search_name
​string

The name you gave the extraction when you created it.

Example: Tech Startup CEOs
Default:
status
​string

Where the extraction stands: ACCEPTED (queued), SCHEDULED (waiting for its start date), EXECUTING (running), EXECUTED (finished, results available), PAUSED (waiting for credits) or FAILED.

Example: EXECUTED
Default:
extraction_type
​string

How the extraction was created: SEARCH (a search URL), LIST (a lead or account list URL), UPLOAD (a list of profiles) or SINGLE (one profile).

Example: SEARCH
Default:
total_prospects
​integer

Number of leads or accounts Sales Navigator reported for this search before scraping. An estimate, so it can differ from the number of records finally returned.

Example: 150
Default: 0
​

When the extraction was created (UTC).

Example: 2023-01-01 12:00:00+00:00
GET/v1/extractions/
curl https://api.evaboot.com/v1/extractions \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "search_id": "ext-12345", "search_name": "", "status": "", "extraction_type": "", "total_prospects": 0, "search_date_created": "2023-01-01 12:00:00+00:00" } ]
json
application/json

List recurring exports

GET
https://api.evaboot.com
/v1/extractions/recurring/

Every recurring export on your account that can still run, soonest next run first. Paused schedules are included. Stopped ones are not.

Synchronous and free.

List recurring exports › Responses

OK

​RecurringExportOut[]
RecurringExportOut
id
​string · uuid · required

Schedule id. Pass it to get, update, and delete.

name
​string · required

Name copied onto each future run.

Example: Weekly CTOs
frequency
​string · required

daily, weekly, or monthly.

Example: weekly
paused
​boolean · required

When true, the scheduler skips this schedule.

Example: false
search_url
​string · required

The saved search on LinkedIn, without the new-since-last-run filter.

lead_search
​boolean · required

true for a people search, false for a company search.

Example: true
​

The extraction this schedule was started from, when it still exists. Same id GET /v1/extractions/{extraction_id}/ accepts.

​

When the schedule last launched a run. Null before the first automatic run.

​

When the next run is due. A paused schedule still reports the date it would have used.

runs
​integer

Exports this schedule has already produced.

Example: 3
Default: 0
leads
​integer

Leads collected across those runs.

Example: 120
Default: 0
​RecurringDestinationOut[]

Automatic integrations that receive each run: those sending all exports, all recurring exports, this recurring export, or the folder its runs are filed in. People-only integrations are left out of a company search.

GET/v1/extractions/recurring/
curl https://api.evaboot.com/v1/extractions/recurring \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "id": "00000000-0000-0000-0000-000000000000", "name": "Weekly CTOs", "frequency": "weekly", "paused": false, "search_url": "search_url", "lead_search": true, "template_extraction_id": "string", "last_execution_at": "2024-08-25T15:00:00Z", "next_execution_at": "2024-08-25T15:00:00Z", "runs": 0, "leads": 0, "destinations": [ { "id": "00000000-0000-0000-0000-000000000000", "type": "hubspot", "label": "Sales CRM" } ] } ]
json
application/json

Create a recurring export

POST
https://api.evaboot.com
/v1/extractions/recurring/

Schedule an extraction you already launched, or a Sales Navigator people or company search URL, so Evaboot repeats it daily, weekly, or monthly. Pass exactly one of extraction_id or url.

This does not scrape. The next run is one interval after this call and contains only leads new since now, including when the original extraction is still in progress. Each run uses your connected Sales Navigator account, spends credits, and counts against the daily quota. With no credits or no connected account, that run is skipped and the next date still moves forward.

A URL that already contains savedSearchId is scheduled as that saved search. Nothing is saved again. Any other people or company search, including a people search filtered on an account list, is saved once on your Sales Navigator seat and then scheduled as that search. A search you already automate is not duplicated: the existing schedule's cadence is updated and created is false.

Lists and single profiles are rejected, and so is a search filtered on the temporary company lists of an account-based search agent job: schedule its accounts_url instead.

Create a recurring export › Request Body

RecurringExportCreateIn
frequency
​string · enum · required

How often a new export of leads found since the previous run is launched.

Enum values:
daily
weekly
monthly
Example: weekly
​

Identifier of an existing extraction, as returned by POST /v1/extractions/url/ and by the list endpoint's search_id. People and company searches only. Lists and single profiles cannot recur. Pass this or url, not both.

Example: ext-12345
​

A Sales Navigator people or company search URL. When it already contains savedSearchId, that saved search is scheduled and nothing is saved again. Any other people or company search is saved once on your Sales Navigator seat, then scheduled. A people search filtered on an account list stays that lead search. Pass this or extraction_id, not both.

Example: https://www.linkedin.com/sales/search/people?savedSearchId=2012510114

Create a recurring export › Responses

OK

RecurringExportCreateOut
id
​string · uuid · required

Schedule id. Pass it to get, update, and delete.

name
​string · required

Name copied onto each future run.

Example: Weekly CTOs
frequency
​string · required

daily, weekly, or monthly.

Example: weekly
paused
​boolean · required

When true, the scheduler skips this schedule.

Example: false
search_url
​string · required

The saved search on LinkedIn, without the new-since-last-run filter.

lead_search
​boolean · required

true for a people search, false for a company search.

Example: true
created
​boolean · required

true when a new schedule was stored. false when this search was already recurring and only the cadence changed.

Example: true
​

The extraction this schedule was started from, when it still exists. Same id GET /v1/extractions/{extraction_id}/ accepts.

​

When the schedule last launched a run. Null before the first automatic run.

​

When the next run is due. A paused schedule still reports the date it would have used.

runs
​integer

Exports this schedule has already produced.

Example: 3
Default: 0
leads
​integer

Leads collected across those runs.

Example: 120
Default: 0
​RecurringDestinationOut[]

Automatic integrations that receive each run: those sending all exports, all recurring exports, this recurring export, or the folder its runs are filed in. People-only integrations are left out of a company search.

POST/v1/extractions/recurring/
curl https://api.evaboot.com/v1/extractions/recurring \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "extraction_id": "ext-12345", "url": "https://www.linkedin.com/sales/search/people?savedSearchId=2012510114", "frequency": "weekly" }'
Example Request Body
{ "extraction_id": "ext-12345", "url": "https://www.linkedin.com/sales/search/people?savedSearchId=2012510114", "frequency": "weekly" }
json
Example Responses
{ "id": "00000000-0000-0000-0000-000000000000", "name": "Weekly CTOs", "frequency": "weekly", "paused": false, "search_url": "search_url", "lead_search": true, "template_extraction_id": "string", "last_execution_at": "2024-08-25T15:00:00Z", "next_execution_at": "2024-08-25T15:00:00Z", "runs": 0, "leads": 0, "destinations": [ { "id": "00000000-0000-0000-0000-000000000000", "type": "hubspot", "label": "Sales CRM" } ], "created": true }
json
application/json

Get a recurring export

GET
https://api.evaboot.com
/v1/extractions/recurring/{schedule_id}/

One recurring export. Unknown, stopped, and another account's ids are not found.

Get a recurring export › path Parameters

schedule_id
​string · uuid · required

Get a recurring export › Responses

OK

RecurringExportOut
id
​string · uuid · required

Schedule id. Pass it to get, update, and delete.

name
​string · required

Name copied onto each future run.

Example: Weekly CTOs
frequency
​string · required

daily, weekly, or monthly.

Example: weekly
paused
​boolean · required

When true, the scheduler skips this schedule.

Example: false
search_url
​string · required

The saved search on LinkedIn, without the new-since-last-run filter.

lead_search
​boolean · required

true for a people search, false for a company search.

Example: true
​

The extraction this schedule was started from, when it still exists. Same id GET /v1/extractions/{extraction_id}/ accepts.

​

When the schedule last launched a run. Null before the first automatic run.

​

When the next run is due. A paused schedule still reports the date it would have used.

runs
​integer

Exports this schedule has already produced.

Example: 3
Default: 0
leads
​integer

Leads collected across those runs.

Example: 120
Default: 0
​RecurringDestinationOut[]

Automatic integrations that receive each run: those sending all exports, all recurring exports, this recurring export, or the folder its runs are filed in. People-only integrations are left out of a company search.

GET/v1/extractions/recurring/{schedule_id}/
curl https://api.evaboot.com/v1/extractions/recurring/:schedule_id \ --header 'Authorization: Bearer <token>'
Example Responses
{ "id": "00000000-0000-0000-0000-000000000000", "name": "Weekly CTOs", "frequency": "weekly", "paused": false, "search_url": "search_url", "lead_search": true, "template_extraction_id": "string", "last_execution_at": "2024-08-25T15:00:00Z", "next_execution_at": "2024-08-25T15:00:00Z", "runs": 0, "leads": 0, "destinations": [ { "id": "00000000-0000-0000-0000-000000000000", "type": "hubspot", "label": "Sales CRM" } ] }
json
application/json

Delete a recurring export

DELETE
https://api.evaboot.com
/v1/extractions/recurring/{schedule_id}/

Stop a recurring export permanently. Runs already produced stay. Integrations pinned to it stop receiving it, and turn manual when it was their only schedule. There is no way to restore the schedule.

Delete a recurring export › path Parameters

schedule_id
​string · uuid · required

Delete a recurring export › Responses

OK

RecurringExportDeleteOut
id
​string · uuid · required

The schedule that was stopped.

deleted
​boolean · const

Always true. The schedule cannot be restored.

Const value:
Default: true
DELETE/v1/extractions/recurring/{schedule_id}/
curl https://api.evaboot.com/v1/extractions/recurring/:schedule_id \ --request DELETE \ --header 'Authorization: Bearer <token>'
Example Responses
{ "id": "00000000-0000-0000-0000-000000000000", "deleted": true }
json
application/json

Update a recurring export

PATCH
https://api.evaboot.com
/v1/extractions/recurring/{schedule_id}/

Change the name, the cadence, or whether the schedule is paused. Omit a field to leave it. Sending the current value changes nothing, including an already-active schedule whose next run is overdue.

Renaming also renames the template extraction, which is the name the next run is created with. Changing the cadence recomputes the next run.

Update a recurring export › path Parameters

schedule_id
​string · uuid · required

Update a recurring export › Request Body

RecurringExportUpdateIn
​

Name of the schedule and of the template extraction. The next run is created with this name. Exports already produced keep theirs.

Example: Weekly CTOs
​

New cadence. The next run is recomputed from the last one, so it can move sooner.

Example: daily
​

true stops future runs and keeps the schedule. false resumes it. Resuming an overdue schedule waits one full interval instead of firing immediately.

Example: true

Update a recurring export › Responses

OK

RecurringExportOut
id
​string · uuid · required

Schedule id. Pass it to get, update, and delete.

name
​string · required

Name copied onto each future run.

Example: Weekly CTOs
frequency
​string · required

daily, weekly, or monthly.

Example: weekly
paused
​boolean · required

When true, the scheduler skips this schedule.

Example: false
search_url
​string · required

The saved search on LinkedIn, without the new-since-last-run filter.

lead_search
​boolean · required

true for a people search, false for a company search.

Example: true
​

The extraction this schedule was started from, when it still exists. Same id GET /v1/extractions/{extraction_id}/ accepts.

​

When the schedule last launched a run. Null before the first automatic run.

​

When the next run is due. A paused schedule still reports the date it would have used.

runs
​integer

Exports this schedule has already produced.

Example: 3
Default: 0
leads
​integer

Leads collected across those runs.

Example: 120
Default: 0
​RecurringDestinationOut[]

Automatic integrations that receive each run: those sending all exports, all recurring exports, this recurring export, or the folder its runs are filed in. People-only integrations are left out of a company search.

PATCH/v1/extractions/recurring/{schedule_id}/
curl https://api.evaboot.com/v1/extractions/recurring/:schedule_id \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "name": "Weekly CTOs", "frequency": "daily", "paused": true }'
Example Request Body
{ "name": "Weekly CTOs", "frequency": "daily", "paused": true }
json
Example Responses
{ "id": "00000000-0000-0000-0000-000000000000", "name": "Weekly CTOs", "frequency": "weekly", "paused": false, "search_url": "search_url", "lead_search": true, "template_extraction_id": "string", "last_execution_at": "2024-08-25T15:00:00Z", "next_execution_at": "2024-08-25T15:00:00Z", "runs": 0, "leads": 0, "destinations": [ { "id": "00000000-0000-0000-0000-000000000000", "type": "hubspot", "label": "Sales CRM" } ] }
json
application/json

Email Finder