// post /v1/bulk/enrich
Bulk Email Enrichment API
حوّل قوائم البريد الخام إلى معلومات اتصال قابلة للاستخدام بعملية API واحدة غير متزامنة عالية الإنتاجية.
Email addressesحتى 20,000 صف
curl -X POST "https://api.tomba.io/v1/bulk/enrich" \
-H "X-Tomba-Key: $TOMBA_API_KEY" \
-H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Email Enrichment job","list":"richard@piedpiper.com","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'const res = await fetch("https://api.tomba.io/v1/bulk/enrich", {
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": "Email Enrichment job",
"list": "richard@piedpiper.com",
"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/enrich",
headers={
"X-Tomba-Key": os.environ["TOMBA_API_KEY"],
"X-Tomba-Secret": os.environ["TOMBA_SECRET_KEY"],
},
json={
"name": "Email Enrichment job",
"list": "richard@piedpiper.com",
"launch": True,
"webhook_url": "https://hooks.example.com/tomba"
},
)
job_id = res.json()["data"]["id"]// 01 · الطلب
Email Enrichment مجمّع هو طلب HTTPS واحد
أرسل المعاملات مع مفتاحك وسرّك. كل SDK وCLI وخادم MCP ينفّذون هذا الاستدعاء نفسه.
- type
- enrich
- list | data | file
- Email addresses
- launch
- القيمة true تبدأ المهمة فورًا
- webhook_url
- يستقبل حدثًا موقّعًا عند انتهاء المهمة
- rows
- حتى 20,000 لكل مهمة
curl -X POST "https://api.tomba.io/v1/bulk/enrich" \
-H "X-Tomba-Key: $TOMBA_API_KEY" \
-H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Email Enrichment job","list":"richard@piedpiper.com","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'const res = await fetch("https://api.tomba.io/v1/bulk/enrich", {
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": "Email Enrichment job",
"list": "richard@piedpiper.com",
"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/enrich",
headers={
"X-Tomba-Key": os.environ["TOMBA_API_KEY"],
"X-Tomba-Secret": os.environ["TOMBA_SECRET_KEY"],
},
json={
"name": "Email Enrichment job",
"list": "richard@piedpiper.com",
"launch": True,
"webhook_url": "https://hooks.example.com/tomba"
},
)
job_id = res.json()["data"]["id"]// 02 · الاستجابة
ما يُعاد إليك
JSON، متطابقة في كل لغة. الحقول التي لا تعرفها Tomba تكون null، ولا تُخمَّن أبدًا.
GET
/enrichdata.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.company, data.website_urlstring | null- The company and its domain
data.disposable, data.webmailboolean- The address is on a disposable or webmail domain
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/enrich
201 Created
{
"data": {
"id": 1042
}
}كل صف، كما يعيده GET /enrich
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
}
],
"disposable": false,
"webmail": false,
"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)
أنشئ عملية مجمّعة برفع عناوين البريد، ثم شغّل العملية. يُثري API كل عنوان ببيانات الشخص والشركة بشكل غير متزامن.
يمكنك إثراء حتى 10,000 عنوان بريد في كل عملية مجمّعة. لمجموعات البيانات الأكبر، أنشئ عدة عمليات مجمّعة.
يُثرى كل عنوان ببيانات الشخص (الاسم، المسمى الوظيفي، الموقع، الحسابات الاجتماعية) وبيانات الشركة (الاسم، القطاع، الحجم، التقنيات المستخدمة، الحسابات الاجتماعية).
يعتمد وقت المعالجة على حجم القائمة وعمليات البحث التي تحتاجها. استعلم عن حالة المهمة أو اضبط Webhook لتُبلَّغ عند انتهائها.
كل عنوان يعيد بيانات إثراء يُحتسب طلبًا واحدًا. العناوين التي لا يُعثر لها على بيانات لا تُخصم من حصتك.
نعم، يعيد الإثراء المجمّع بيانات الشخص (الاسم، الدور، الحسابات الاجتماعية) وبيانات الشركة (القطاع، الحجم، التقنيات المستخدمة) لكل عنوان.
نعم، اضبط رابط webhook لتتلقى إشعارًا عند اكتمال عملية الإثراء المجمّع وجاهزية النتائج للتنزيل.
تُحدّث البيانات باستمرار من المصادر العامة. يتضمن كل سجل طوابع زمنية تبيّن آخر مرة تم فيها التحقق من البيانات.
للحصول على أعلى جودة، تحقق من قائمتك أولًا. حذف العناوين غير الصالحة قبل الإثراء يحسّن معدلات المطابقة ويبقي مسارات العمل اللاحقة نظيفة.
نعم. تستخدم معظم الفرق نقطة نهاية التنزيل المجمّع، ثم تزامن الحقول المُثراة مع CRM أو أدوات أتمتة التسويق أو مستودع البيانات.