// post /v1/bulk/linkedin
Bulk LinkedIn Finder API
Convert LinkedIn profile URLs into verified contact data at scale using one asynchronous bulk API operation.
LinkedIn profile URLsحتى 20,000 صف
curl -X POST "https://api.tomba.io/v1/bulk/linkedin" \
-H "X-Tomba-Key: $TOMBA_API_KEY" \
-H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"LinkedIn Finder job","list":"https://www.linkedin.com/in/richard-hendricks","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'const res = await fetch("https://api.tomba.io/v1/bulk/linkedin", {
method: "POST",
headers: {
"X-Tomba-Key": process.env.TOMBA_API_KEY,
"X-Tomba-Secret": process.env.TOMBA_SECRET_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "LinkedIn Finder job",
"list": "https://www.linkedin.com/in/richard-hendricks",
"launch": true,
"webhook_url": "https://hooks.example.com/tomba"
})
});
const { data } = await res.json(); // { id }import os, requests
res = requests.post(
"https://api.tomba.io/v1/bulk/linkedin",
headers={
"X-Tomba-Key": os.environ["TOMBA_API_KEY"],
"X-Tomba-Secret": os.environ["TOMBA_SECRET_KEY"],
},
json={
"name": "LinkedIn Finder job",
"list": "https://www.linkedin.com/in/richard-hendricks",
"launch": True,
"webhook_url": "https://hooks.example.com/tomba"
},
)
job_id = res.json()["data"]["id"]// 01 · الطلب
LinkedIn Finder مجمّع هو طلب HTTPS واحد
أرسل المعاملات مع مفتاحك وسرّك. كل SDK وCLI وخادم MCP ينفّذون هذا الاستدعاء نفسه.
- type
- list | data | file
- LinkedIn profile URLs
- launch
- القيمة true تبدأ المهمة فورًا
- webhook_url
- يستقبل حدثًا موقّعًا عند انتهاء المهمة
- rows
- حتى 20,000 لكل مهمة
curl -X POST "https://api.tomba.io/v1/bulk/linkedin" \
-H "X-Tomba-Key: $TOMBA_API_KEY" \
-H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"LinkedIn Finder job","list":"https://www.linkedin.com/in/richard-hendricks","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'const res = await fetch("https://api.tomba.io/v1/bulk/linkedin", {
method: "POST",
headers: {
"X-Tomba-Key": process.env.TOMBA_API_KEY,
"X-Tomba-Secret": process.env.TOMBA_SECRET_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "LinkedIn Finder job",
"list": "https://www.linkedin.com/in/richard-hendricks",
"launch": true,
"webhook_url": "https://hooks.example.com/tomba"
})
});
const { data } = await res.json(); // { id }import os, requests
res = requests.post(
"https://api.tomba.io/v1/bulk/linkedin",
headers={
"X-Tomba-Key": os.environ["TOMBA_API_KEY"],
"X-Tomba-Secret": os.environ["TOMBA_SECRET_KEY"],
},
json={
"name": "LinkedIn Finder job",
"list": "https://www.linkedin.com/in/richard-hendricks",
"launch": True,
"webhook_url": "https://hooks.example.com/tomba"
},
)
job_id = res.json()["data"]["id"]// 02 · الاستجابة
ما يُعاد إليك
JSON، متطابقة في كل لغة. الحقول التي لا تعرفها Tomba تكون null، ولا تُخمَّن أبدًا.
GET
/linkedinالحقلdataobject | array- The person; an array of every match when you send full=true
data.emailstring | null- The address, or null when none is found
data.scoreinteger- Confidence from 0 to 100
data.verification.statusstring | null- valid, accept_all, invalid or unknown, with verification.date
data.full_name, data.position, data.departmentstring | null- Name, job title and team
data.typestring | null- personal or generic (a role address such as sales@)
data.linkedin, data.twitterstring | null- Public profiles
data.sources[]array | null- Up to 20 public pages where the address was found, with dates
data.accept_allboolean | null- The domain accepts mail for any address (catch-all)
data.phone_numberboolean- Tomba holds a phone number for the person
data.phone_data[]array- The numbers, when you send enrich_mobile (each as in Phone Finder)
POST /bulk/linkedin
201 Created
{
"data": {
"id": 1042
}
}كل صف، كما يعيده GET /linkedin
200 OK
{
"data": {
"email": "richard@piedpiper.com",
"first_name": "Richard",
"last_name": "Hendricks",
"full_name": "Richard Hendricks",
"website_url": "piedpiper.com",
"company": "Pied Piper",
"pattern": "{first}",
"department": "executive",
"type": "personal",
"position": "CEO",
"country": "US",
"gender": "male",
"twitter": null,
"linkedin": "https://www.linkedin.com/in/richard-hendricks",
"score": 100,
"accept_all": false,
"phone_number": true,
"verification": {
"date": "2025-01-15T10:32:00+01:00",
"status": "valid"
},
"sources": [
{
"uri": "https://piedpiper.com/blog/engineering",
"website_url": "piedpiper.com",
"extracted_on": "2024-06-01T09:14:07+01:00",
"last_seen_on": "2025-01-10T17:02:44+01:00",
"still_on_page": true
}
],
"phone_data": []
}
}// 03 · التكلفة والحدود
تكلفة الاستدعاء
لا يُخصم الاستدعاء إلا وفق الشرط أدناه. تعتمد حدود المعدّل على خطتك.
// التكلفة
1 search credit per row with a result. Plus 5 per row with phone data.
Charged once, at the first download; later downloads are free
- Jobs created: 15 per day for each type
- Running jobs: 2 per type
- Downloads: 25 per day for each job
- Request size: 4 MB (CSV, list or rows)
Create a bulk operation by uploading LinkedIn profile URLs, then launch the operation. The API finds professional email addresses for each profile asynchronously.
You can process up to 10,000 LinkedIn profile URLs per bulk operation. For larger datasets, create multiple bulk operations.
The API supports standard LinkedIn profile URLs (linkedin.com/in/username). Both http and https URLs are accepted with or without trailing slashes.
Each result includes the email address, full name, company, position, LinkedIn URL, phone number (if available), confidence score, and verification status.
يعتمد وقت المعالجة على حجم القائمة وعمليات البحث التي تحتاجها. استعلم عن حالة المهمة أو اضبط Webhook لتُبلَّغ عند انتهائها.
Each LinkedIn profile that returns an email counts as 1 request. Profiles where no email is found are not counted against your quota.
Tomba uses publicly available information and does not scrape LinkedIn directly. Emails are found from our proprietary database of professional contacts.
Yes, configure a webhook URL to receive a notification when your bulk LinkedIn finder operation completes with results ready for download.
Yes. Teams often run LinkedIn Finder first, then pass matched emails into Bulk Email Enrichment and Bulk Email Verifier for deeper context and validation.
Use full canonical LinkedIn profile URLs, remove duplicates, and avoid company pages or post URLs to maximize successful matches.