// post /v1/bulk/author
批量作者查找器 API
只需一个异步批量请求,即可将数千个文章 URL 转化为经过验证的作者联系人记录。
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)
上传文章 URL 创建批量操作,然后启动该操作。API 会异步提取所有 URL 的作者信息并查找其邮箱地址。
每个批量操作最多可处理 10,000 个文章 URL。数据量更大时,请创建多个批量操作。
该 API 适用于大多数 CMS 平台上的博客文章、新闻报道和内容页面,包括 WordPress、Medium、Ghost 以及自定义发布系统。
每个结果包括作者的邮箱地址、全名、公司、职位、LinkedIn 个人资料、置信度评分以及信息来源。
处理时间取决于 URL 数量。通常每个 URL 需要 2-3 秒。5,000 个 URL 的批次通常在数小时内完成。
每个返回作者邮箱的 URL 计为 1 个请求。未找到作者邮箱的 URL 不计入您的配额。
支持。配置 webhook URL 后,当您的批量作者查找操作完成且结果可供下载时,您会收到通知。
API 返回主要作者的邮箱地址。对于有多位作者的文章,建议单独调用作者查找器 API。
可以。团队使用批量作者查找器大规模建立媒体和撰稿人名单,然后将高置信度联系人导入外联序列。
提交前请提供干净的规范文章 URL,避免首页和分类页,并去除重复 URL,以获得最佳提取质量。