// post /v1/bulk/company
Bulk Company Enrichment API
Convert domain lists into structured company intelligence with one async bulk job built for modern GTM teams.
Domains or company names最大 25,000 行
curl -X POST "https://api.tomba.io/v1/bulk/company" \
-H "X-Tomba-Key: $TOMBA_API_KEY" \
-H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Company Enrichment job","list":"piedpiper.com\nshopify.com","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'const res = await fetch("https://api.tomba.io/v1/bulk/company", {
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": "Company Enrichment job",
"list": "piedpiper.com\nshopify.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/company",
headers={
"X-Tomba-Key": os.environ["TOMBA_API_KEY"],
"X-Tomba-Secret": os.environ["TOMBA_SECRET_KEY"],
},
json={
"name": "Company Enrichment job",
"list": "piedpiper.com\nshopify.com",
"launch": True,
"webhook_url": "https://hooks.example.com/tomba"
},
)
job_id = res.json()["data"]["id"]// 01 · リクエスト
一括Company Enrichment は1回の HTTPS リクエストです
キーとシークレットとともにパラメーターを送信します。すべての SDK、CLI、MCP サーバーがこれと同じ呼び出しを行います。
- type
- company
- list | data | file
- Domains or company names
- launch
- true ですぐにジョブを開始
- webhook_url
- ジョブ終了時に署名付きイベントを受信
- rows
- 1ジョブあたり最大 25,000 行
curl -X POST "https://api.tomba.io/v1/bulk/company" \
-H "X-Tomba-Key: $TOMBA_API_KEY" \
-H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Company Enrichment job","list":"piedpiper.com\nshopify.com","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'const res = await fetch("https://api.tomba.io/v1/bulk/company", {
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": "Company Enrichment job",
"list": "piedpiper.com\nshopify.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/company",
headers={
"X-Tomba-Key": os.environ["TOMBA_API_KEY"],
"X-Tomba-Secret": os.environ["TOMBA_SECRET_KEY"],
},
json={
"name": "Company Enrichment job",
"list": "piedpiper.com\nshopify.com",
"launch": True,
"webhook_url": "https://hooks.example.com/tomba"
},
)
job_id = res.json()["data"]["id"]// 02 · レスポンス
返される内容
どの言語でも同じ JSON です。Tomba が把握していないフィールドは null となり、推測はしません。
GET
/companies/findフィールドdata.name, data.legalName, data.domainstring | null- Who the company is
data.description, data.foundedYear, data.typestring | null- What it does, when it was founded, its ownership
data.categoryobject- Sector, industry, SIC and NAICS codes
data.geoobject- Street address, city, state, country, coordinates
data.metricsobject- Employees, traffic rank, revenue, funding
data.linkedin, data.twitter, data.facebookobject- Social handles
data.tech[], data.techCategories[]array | null- Technologies the website runs
meta.domainstring | null- The domain you sent
errorsobject- When nothing is found the response is still 200, with errors {type, message, code} instead of data
POST /bulk/company
201 Created
{
"data": {
"id": 1042
}
}各行は GET /companies/find が返す形式です
200 OK
{
"data": {
"name": "Pied Piper",
"legalName": "Pied Piper, Inc.",
"domain": "piedpiper.com",
"domainAliases": [],
"site": {
"phoneNumbers": [],
"emailAddresses": [
"hello@piedpiper.com"
]
},
"category": {
"sector": "Information Technology",
"industryGroup": "Software & Services",
"industry": "Internet Software & Services",
"subIndustry": "Internet Software & Services",
"sicCode": "73",
"sic4Codes": [
"7372"
],
"naicsCode": "51",
"naics6Codes": [
"511210"
],
"naics6Codes2022": [
"513210"
]
},
"tags": [
"Compression",
"Decentralized internet"
],
"description": "Pied Piper builds middle-out compression for files, video and a decentralized internet.",
"foundedYear": "2014",
"location": "5230 Newell Road, Palo Alto, CA 94303, United States",
"timeZone": "America/Los_Angeles",
"utcOffset": -8,
"geo": {
"streetNumber": "5230",
"streetName": "Newell Road",
"subPremise": null,
"streetAddress": "5230 Newell Road",
"city": "Palo Alto",
"postalCode": "94303",
"state": "California",
"stateCode": "CA",
"country": "United States",
"countryCode": "US",
"lat": 37.4419,
"lng": -122.143
},
"logo": "https://logo.tomba.io/piedpiper.com",
"facebook": {
"handle": null,
"likes": null
},
"linkedin": {
"handle": "company/pied-piper"
},
"twitter": {
"handle": null,
"id": null,
"bio": null,
"followers": null,
"following": null,
"location": null,
"site": null,
"avatar": null
},
"whois": {
"registrar_name": null,
"created_date": null,
"referral_url": null
},
"emailProvider": "Google",
"type": "private",
"ticker": null,
"identifiers": {
"usEIN": null
},
"metrics": {
"alexaUsRank": null,
"alexaGlobalRank": null,
"trafficRank": null,
"employees": "11-50",
"marketCap": null,
"raised": null,
"annualRevenue": null,
"estimatedAnnualRevenue": null,
"fiscalYearEnd": null
},
"indexedAt": "2025-01-15T10:32:00+01:00",
"tech": [
"google_apps",
"intercom"
],
"techCategories": [
"email_hosting_service",
"live_chat"
],
"parent": {
"domain": null
},
"ultimateParent": {
"domain": null
}
},
"meta": {
"domain": "piedpiper.com"
}
}// 03 · 料金と制限
呼び出しの料金
呼び出しは以下の条件の場合にのみ課金されます。レート制限はプランによって異なります。
// 料金
1 search credit per company found. Plus 1 per company 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 company domains, then launch the operation. The API enriches each domain with comprehensive company data asynchronously.
You can enrich up to 25,000 company domains per bulk operation. For larger datasets, create multiple bulk operations.
Each domain is enriched with company name, description, industry classification (SIC/NAICS codes), location, employee count, revenue estimates, technology stack, and social profiles.
処理時間はリストのサイズと必要なルックアップによって異なります。ジョブをポーリングするか、Webhookを設定して完了の通知を受け取ってください。
Each domain that returns enrichment data counts as 1 request. Domains with no data found are not counted against your quota.
The API detects 6000+ technologies including web frameworks, CMS platforms, analytics tools, cloud providers, and development tools used by each company.
Yes, configure a webhook URL to receive a notification when your bulk company enrichment operation completes with results ready for download.
Once processing completes, use the download endpoint to get all enriched company data as CSV or JSON format.
Yes. Many teams enrich domains first to qualify target accounts, then run Domain Search and Email Finder only on high-fit companies.
Use root company domains, remove URL paths/subdomains where possible, and deduplicate records before upload for best enrichment coverage.