Update Settings
curl --request POST \
--url https://api.lobstr.io/v1/squids/{squid_hash} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>'import requests
url = "https://api.lobstr.io/v1/squids/{squid_hash}"
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'}
};
fetch('https://api.lobstr.io/v1/squids/{squid_hash}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lobstr.io/v1/squids/{squid_hash}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lobstr.io/v1/squids/{squid_hash}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.lobstr.io/v1/squids/{squid_hash}")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/squids/{squid_hash}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
response = http.request(request)
puts response.read_bodySales Navigator Leads Scraper
Update Settings
Configure scraper settings for Sales Navigator Leads Scraper including email enrichment
POST
/
v1
/
squids
/
{squid_hash}
Update Settings
curl --request POST \
--url https://api.lobstr.io/v1/squids/{squid_hash} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>'import requests
url = "https://api.lobstr.io/v1/squids/{squid_hash}"
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'}
};
fetch('https://api.lobstr.io/v1/squids/{squid_hash}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lobstr.io/v1/squids/{squid_hash}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lobstr.io/v1/squids/{squid_hash}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.lobstr.io/v1/squids/{squid_hash}")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/squids/{squid_hash}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
response = http.request(request)
puts response.read_bodyConfigure your squid settings for the Sales Navigator Leads Scraper. This scraper supports email enrichment and requires linked Sales Navigator accounts.
Headers
string
required
Your API authentication token. Value:
Token YOUR_API_KEYstring
required
Request body format. Value:
application/jsonScraper Parameters
Set these parameters in theparams object:
| Parameter | Type | Default | Description |
|---|---|---|---|
| functions.email_enrichment | boolean | false | Enable email enrichment using lobstr.io’s service (9 credits per profile where an email is found) |
| functions.mobile_enrichment | boolean | false | Enable mobile phone enrichment (300 credits per profile where a mobile number is found) |
| get_profile_details | boolean | false | Fetch additional profile data: current role description and profile banner URL |
| profiles_per_page | integer | 25 | Number of leads to scrape per page (max: 25) |
| max_pages | integer | 100 | Maximum number of pages to crawl (max: 100) |
| max_results | integer | — | Total leads to collect before stopping |
| max_unique_results_per_run | integer | — | Maximum unique results across all tasks in the run |
| start_page | integer | — | Page number to start scraping from (useful for resuming or skipping already-collected pages) |
| skip_collected_leads | boolean | false | Skip leads already present in your results database — useful for incremental runs |
| split_search | boolean | false | Split the search into smaller sub-searches to bypass Sales Navigator’s 2,500-result cap. Use for broad searches that would otherwise be truncated. |
Squid Settings
Configure general squid settings:| Setting | Type | Description |
|---|---|---|
| name | string | Display name for your squid configuration |
| accounts | array | Array of linked Sales Navigator account hashes (required) |
| export_unique_results | boolean | Export only unique results (deduplicated) |
| to_complete | boolean | Run until all tasks complete |
| no_line_breaks | boolean | Remove line breaks from results |
Enabling
functions.email_enrichment incurs additional credit costs for email enrichment.Use multiple Sales Navigator accounts in the
accounts array to increase throughput and avoid rate limits.Sales Navigator limits search results to 2,500 leads per search. Enable
split_search to automatically break large searches into sub-searches and collect beyond this limit.Backward compatibility: The old function name
email is still accepted but deprecated. Migrate to email_enrichment.Code Examples
curl -X POST "https://api.lobstr.io/v1/squids/YOUR_SQUID_HASH" \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Sales Navigator Leads Scraper (1)",
"accounts": ["YOUR_SALES_NAV_ACCOUNT_HASH"],
"no_line_breaks": true,
"export_unique_results": true,
"to_complete": false,
"params": {
"functions": {
"email_enrichment": true
},
"profiles_per_page": 25,
"max_pages": 100,
"max_results": null
}
}'
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.lobstr.io/v1"
headers = {"Authorization": f"Token {API_KEY}"}
squid_id = "YOUR_SQUID_HASH"
# Update squid settings with email enrichment and linked accounts
payload = {
"name": "Sales Navigator Leads Scraper (1)",
"accounts": ["YOUR_SALES_NAV_ACCOUNT_HASH"], # Required: linked Sales Nav accounts
"no_line_breaks": True,
"export_unique_results": True,
"to_complete": False,
"params": {
"functions": {
"email_enrichment": True # Enable email enrichment (extra credits)
},
"profiles_per_page": 25, # Max: 25
"max_pages": 100, # Max: 100
"max_results": None # null = no limit
}
}
response = requests.post(f"{BASE_URL}/squids/{squid_id}",
headers=headers,
json=payload
)
print(f"Settings updated: {response.json()['name']}")
Response
201
{
"name": "Sales Navigator Leads Scraper (1)",
"no_line_breaks": true,
"params": {
"functions": {
"email_enrichment": true
},
"max_pages": 100,
"max_results": null,
"profiles_per_page": 25
},
"to_complete": false,
"export_unique_results": true
}
⌘I