// post /v1/bulk/author
Bulk Author Finder API
حوّل آلاف روابط المقالات إلى سجلات اتصال موثّقة لمؤلفيها بطلب مجمّع واحد غير متزامن.
Article URLsحتى 5,000 صف
curl -X POST "https://api.tomba.io/v1/bulk/author" \
-H "X-Tomba-Key: $TOMBA_API_KEY" \
-H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Author Finder job","list":"https://piedpiper.com/blog/middle-out-compression","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'const res = await fetch("https://api.tomba.io/v1/bulk/author", {
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": "Author Finder job",
"list": "https://piedpiper.com/blog/middle-out-compression",
"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/author",
headers={
"X-Tomba-Key": os.environ["TOMBA_API_KEY"],
"X-Tomba-Secret": os.environ["TOMBA_SECRET_KEY"],
},
json={
"name": "Author Finder job",
"list": "https://piedpiper.com/blog/middle-out-compression",
"launch": True,
"webhook_url": "https://hooks.example.com/tomba"
},
)
job_id = res.json()["data"]["id"]// 01 · الطلب
Author Finder مجمّع هو طلب HTTPS واحد
أرسل المعاملات مع مفتاحك وسرّك. كل SDK وCLI وخادم MCP ينفّذون هذا الاستدعاء نفسه.
- type
- author
- list | data | file
- Article URLs
- launch
- القيمة true تبدأ المهمة فورًا
- webhook_url
- يستقبل حدثًا موقّعًا عند انتهاء المهمة
- rows
- حتى 5,000 لكل مهمة
curl -X POST "https://api.tomba.io/v1/bulk/author" \
-H "X-Tomba-Key: $TOMBA_API_KEY" \
-H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Author Finder job","list":"https://piedpiper.com/blog/middle-out-compression","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'const res = await fetch("https://api.tomba.io/v1/bulk/author", {
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": "Author Finder job",
"list": "https://piedpiper.com/blog/middle-out-compression",
"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/author",
headers={
"X-Tomba-Key": os.environ["TOMBA_API_KEY"],
"X-Tomba-Secret": os.environ["TOMBA_SECRET_KEY"],
},
json={
"name": "Author Finder job",
"list": "https://piedpiper.com/blog/middle-out-compression",
"launch": True,
"webhook_url": "https://hooks.example.com/tomba"
},
)
job_id = res.json()["data"]["id"]// 02 · الاستجابة
ما يُعاد إليك
JSON، متطابقة في كل لغة. الحقول التي لا تعرفها Tomba تكون null، ولا تُخمَّن أبدًا.
GET
/author-finderdata.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.info.title, data.info.publisher_name, data.info.publish_datestring- The article, who published it and when
data.info.candidates[]array | null- Every author candidate on the page, with a name confidence and score
POST /bulk/author
201 Created
{
"data": {
"id": 1042
}
}كل صف، كما يعيده GET /author-finder
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
}
],
"info": {
"url": "https://piedpiper.com/blog/middle-out-compression",
"title": "Middle-out compression, explained",
"og_image": "https://piedpiper.com/blog/middle-out-compression/cover.png",
"description": "How middle-out compression reached a Weissman score of 5.2.",
"article_domain": "piedpiper.com",
"publisher_name": "Pied Piper",
"publish_date": "2025-03-04",
"candidates": [
{
"full_name": "Richard Hendricks",
"first_name": "Richard",
"last_name": "Hendricks",
"job_title": "CEO",
"linkedin": "https://www.linkedin.com/in/richard-hendricks",
"name_confidence": 0.98,
"score": 0.95,
"count": 3
}
]
}
}
}// 03 · التكلفة والحدود
تكلفة الاستدعاء
لا يُخصم الاستدعاء إلا وفق الشرط أدناه. تعتمد حدود المعدّل على خطتك.
// التكلفة
1 search credit per article with an author address.
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 رابط مقال في كل عملية مجمّعة. لمجموعات البيانات الأكبر، أنشئ عدة عمليات مجمّعة.
يعمل API مع تدوينات المدونات والمقالات الإخبارية وصفحات المحتوى من معظم منصات إدارة المحتوى، ومنها WordPress وMedium وGhost وأنظمة النشر المخصصة.
تتضمن كل نتيجة عنوان بريد المؤلف واسمه الكامل وشركته ومنصبه وملفه على LinkedIn ودرجة الثقة والمصادر التي وُجدت فيها المعلومات.
يعتمد وقت المعالجة على عدد الروابط. تستغرق المعالجة عادةً 2-3 ثوانٍ لكل رابط. تكتمل دفعة من 5,000 رابط عادةً خلال عدة ساعات.
كل رابط يعيد بريد المؤلف يُحتسب طلبًا واحدًا. الروابط التي لا يُعثر فيها على بريد المؤلف لا تُخصم من حصتك.
نعم، اضبط رابط webhook لتتلقى إشعارًا عند اكتمال عملية البحث المجمّع عن المؤلفين وجاهزية النتائج للتنزيل.
يعيد API عنوان بريد المؤلف الرئيسي. للمقالات متعددة المؤلفين، فكّر في استدعاءات فردية لـ Author Finder API.
نعم. تستخدم الفرق Bulk Author Finder لبناء قوائم الإعلاميين والمساهمين على نطاق واسع، ثم توجّه جهات الاتصال عالية الثقة إلى تسلسلات التواصل.
قدّم روابط مقالات أساسية نظيفة، وتجنّب الصفحات الرئيسية وصفحات الفئات، واحذف الروابط المكررة قبل الإرسال لتحقيق أفضل جودة استخراج.