Company Enrichment API
Company Enrichment Crustdata v3 API
按域名、名称、LinkedIn URL 或 Crustdata 标识符补全公司数据。
POST/v1/run/company_enrichment.crustdata_v3
可用率
100.00%
30d · 49 次调用
请求数
49
30d · 按周,近 12 周
响应时间
2.5s
中位数 · 30d
调用方式
发出你的第一个请求
import os, requests res = requests.post( "https://api.getanyapi.com/v1/run/company_enrichment.crustdata_v3", headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"}, json={}, ) print(res.json())
示例响应
{
"data": {
"acquisitionStatus": "active",
"companyId": "Acme Inc",
"companyType": "Acme Inc",
"crunchbaseCategories": [
"example"
],
"crunchbaseUrl": "https://example.com/page",
"crunchbaseUuid": "a1b2c3d4",
"description": "A short example description of this item.",
"domain": "example.com",
"domains": [
"example.com"
],
"employeeCount": 12500,
"employeeGrowthAbsolute": {
"mom": 42,
"qoq": 42,
"sixMonths": 42,
"twoYears": 2024,
"yoy": 42
},
"employeeGrowthPercent": {
"mom": 12.5,
"qoq": 12.5,
"sixMonths": 12.5,
"twoYears": 2024,
"yoy": 12.5
},
"employeeRange": "example",
"estimatedRevenueHigherUsd": 20,
"estimatedRevenueLowerUsd": 20,
"fiscalYearEnd": "example",
"foundedUtc": 42,
"foundedYear": 2024,
"fullDomainMatch": true,
"headcountByFunctionTimeseries": null,
"headcountByRegion": {},
"headcountByRegionPercent": {},
"headcountByRole": {},
"headcountByRolePercent": {},
"headcountByRoleSixMonthsGrowthPercent": null,
"headcountByRoleYoyGrowthPercent": null,
"headcountBySkill": {},
"headcountBySkillPercent": {},
"headcountTimeseries": [
{
"dateUtc": 42,
"employeeCount": 12500
}
],
"hqCountry": "US",
"hqState": "CA",
"hqStreetAddress": "123 Main St",
"image": "https://example.com/image.jpg",
"industries": [
"example"
],
"industry": "general",
"ipoUtc": 42,
"largestHeadcountCountry": "US",
"linkedinCompanyId": "https://example.com/page",
"linkedinLogoUrl": "https://example.com/image.jpg",
"linkedinProfileName": "https://example.com/page",
"linkedinUrl": "https://example.com/page",
"location": "example",
"naics": {
"code": "a1b2c3d4",
"industry": "general",
"industryGroup": "general",
"sector": "example",
"subSector": "example",
"year": 2024
},
"name": "Example title",
"regionMetrics": {
"share0To10Percent": "example",
"share11To30Percent": "example",
"share31To50Percent": "example",
"share51To70Percent": "example",
"share71To100Percent": "example"
},
"roleMetrics": {
"allRoles": "example",
"share0To10Percent": "example",
"share11To30Percent": "example",
"share31To50Percent": "example",
"share51To70Percent": "example",
"share71To100Percent": "example"
},
"sicCodes": [
{
"code": "a1b2c3d4",
"industry": "general",
"year": 2024
}
],
"skillMetrics": {
"share0To10Percent": "example",
"share11To30Percent": "example",
"share31To50Percent": "example",
"share51To70Percent": "example",
"share71To100Percent": "example"
},
"specialities": [
"example"
],
"twitterUrl": "https://example.com/page",
"website": "https://example.com/page"
},
"found": true,
"reason": "not_found"
}响应类型定义
interface CompanyEnrichmentCrustdataV3Response {
data: {
acquisitionStatus?: string;
companyId?: string;
companyType?: string;
crunchbaseCategories?: string[];
crunchbaseUrl?: string;
crunchbaseUuid?: string;
description?: string;
domain: string | null;
domains?: string[];
employeeCount?: number;
employeeGrowthAbsolute?: {
mom?: number;
qoq?: number;
sixMonths?: number;
twoYears?: number;
yoy?: number;
};
employeeGrowthPercent?: {
mom?: number;
qoq?: number;
sixMonths?: number;
twoYears?: number;
yoy?: number;
};
employeeRange?: string;
estimatedRevenueHigherUsd?: number;
estimatedRevenueLowerUsd?: number;
fiscalYearEnd?: string;
foundedUtc?: number;
foundedYear?: number;
fullDomainMatch?: boolean;
headcountByFunctionTimeseries?: any;
headcountByRegion?: {
};
headcountByRegionPercent?: {
};
headcountByRole?: {
};
headcountByRolePercent?: {
};
headcountByRoleSixMonthsGrowthPercent?: any;
headcountByRoleYoyGrowthPercent?: any;
headcountBySkill?: {
};
headcountBySkillPercent?: {
};
headcountTimeseries?: {
dateUtc?: number;
employeeCount?: number;
}[];
hqCountry?: string;
hqState?: string;
hqStreetAddress?: string;
image?: string;
industries?: string[];
industry?: string;
ipoUtc?: number;
largestHeadcountCountry?: string;
linkedinCompanyId?: string;
linkedinLogoUrl?: string;
linkedinProfileName?: string;
linkedinUrl?: string;
location?: string;
naics?: {
code?: string;
industry?: string;
industryGroup?: string;
sector?: string;
subSector?: string;
year?: number;
};
name?: string;
regionMetrics?: {
share0To10Percent?: string;
share11To30Percent?: string;
share31To50Percent?: string;
share51To70Percent?: string;
share71To100Percent?: string;
};
roleMetrics?: {
allRoles?: string;
share0To10Percent?: string;
share11To30Percent?: string;
share31To50Percent?: string;
share51To70Percent?: string;
share71To100Percent?: string;
};
sicCodes?: {
code?: string;
industry?: string;
year?: number;
}[];
skillMetrics?: {
share0To10Percent?: string;
share11To30Percent?: string;
share31To50Percent?: string;
share51To70Percent?: string;
share71To100Percent?: string;
};
specialities?: string[];
twitterUrl?: string;
website?: string;
} | null;
found: boolean;
reason?: "not_found";
}完整的参数与响应参考:这个接口的每个字段、类型和示例。
参考
请求、响应与价格
最近验证于 2026-09-29 · 可用率和延迟按 30d 统计POST /v1/run/company_enrichment.crustdata_v3
curl -X POST https://api.getanyapi.com/v1/run/company_enrichment.crustdata_v3 \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"companyDomain":"posthog.com"}'| 字段 | 类型 | 示例值 |
|---|---|---|
| 请求体 | ||
| companyDomain | string | "posthog.com" |
| companyId | string | |
| companyLinkedinUrl | string | |
| companyName | string | |
| exactMatch | boolean | |
| fields | string | |
| 响应 | ||
| data | object | |
| data.acquisitionStatus | string | Acquisition status, when the company has been acquired. |
| data.companyId | string | Crustdata identifier for the company, accepted back as the companyId input. |
| data.companyType | string | Company type, e.g. Privately Held or Public Company. |
| data.crunchbaseCategories | string[] | Crunchbase category tags. |
| data.crunchbaseUrl | string | Crunchbase profile URL. |
| data.crunchbaseUuid | string | Crunchbase organization UUID. |
| data.description | string | Company description from its LinkedIn page. |
| data.domain | string | Primary website domain, or null when the upstream holds none for this company. |
| data.domains | string[] | All domains associated with the company. |
| data.employeeCount | integer | Latest observed employee count. |
| data.employeeGrowthAbsolute | object | Net headcount change over trailing windows. |
| data.employeeGrowthAbsolute.mom | integer | Change over the last month. |
| data.employeeGrowthAbsolute.qoq | integer | Change over the last quarter. |
| data.employeeGrowthAbsolute.sixMonths | integer | Change over the last six months. |
| data.employeeGrowthAbsolute.twoYears | integer | Change over the last two years. |
| data.employeeGrowthAbsolute.yoy | integer | Change over the last twelve months. |
| data.employeeGrowthPercent | object | Percent headcount change over trailing windows. |
| data.employeeGrowthPercent.mom | number | Change over the last month. |
| data.employeeGrowthPercent.qoq | number | Change over the last quarter. |
| data.employeeGrowthPercent.sixMonths | number | Change over the last six months. |
| data.employeeGrowthPercent.twoYears | number | Change over the last two years. |
| data.employeeGrowthPercent.yoy | number | Change over the last twelve months. |
| data.employeeRange | string | Employee count band, e.g. 51-200. |
| data.estimatedRevenueHigherUsd | integer | Upper bound of estimated annual revenue in USD. |
| data.estimatedRevenueLowerUsd | integer | Lower bound of estimated annual revenue in USD. |
| data.fiscalYearEnd | string | Fiscal year end. |
| data.foundedUtc | integer | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Founding date of the company. |
| data.foundedYear | integer | Year the company was founded. |
| data.fullDomainMatch | boolean | True when the matched company's domain is an exact match for the requested one. |
| data.headcountByFunctionTimeseries | any | Headcount history broken down by region and by job function. Untyped passthrough: the whole nested structure ships exactly as Crustdata returns it, including its raw snake_case grouping keys (GEO_REGION, CURRENT_FUNCTION) and its string observation dates rather than epoch seconds, because the shape cannot be expressed in the canonical field grammar. |
| data.headcountByRegion | object | Employee count per region, keyed by LinkedIn region name. |
| data.headcountByRegionPercent | object | Share of employees per region as a percent, keyed by LinkedIn region name. |
| data.headcountByRole | object | Employee count per job function, keyed by LinkedIn function name. |
| data.headcountByRolePercent | object | Share of employees per job function as a percent, keyed by LinkedIn function name. |
| data.headcountByRoleSixMonthsGrowthPercent | any | Six-month percent headcount change per job function, exactly as Crustdata returns it. Untyped passthrough: the structure ships verbatim and is not validated, because it was empty for the company we captured. |
| data.headcountByRoleYoyGrowthPercent | any | Year-over-year percent headcount change per job function, exactly as Crustdata returns it. Untyped passthrough: the structure ships verbatim and is not validated, because it was empty for the company we captured. |
| data.headcountBySkill | object | Employee count per listed skill, keyed by skill name. |
| data.headcountBySkillPercent | object | Share of employees per listed skill as a percent, keyed by skill name. |
| data.headcountTimeseries | object[] | Historical employee-count observations, oldest first. |
| data.headcountTimeseries[].dateUtc | integer | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Observation date. |
| data.headcountTimeseries[].employeeCount | integer | Employee count observed on that date. |
| data.hqCountry | string | Country of the headquarters. |
| data.hqState | string | State or province of the headquarters. |
| data.hqStreetAddress | string | Headquarters street address. Crustdata returns the same string as location for most companies. |
| data.image | string | Company logo URL. |
| data.industries | string[] | All LinkedIn industries listed for the company. |
| data.industry | string | Primary LinkedIn industry. |
| data.ipoUtc | integer | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Date the company went public. |
| data.largestHeadcountCountry | string | Country holding the largest share of employees. |
| data.linkedinCompanyId | string | LinkedIn's own numeric identifier for the company page. |
| data.linkedinLogoUrl | string | Company logo URL as LinkedIn serves it, including the signed expiry query LinkedIn requires to serve the file. The image field carries Crustdata's cached copy of the same logo, which does not expire. |
| data.linkedinProfileName | string | Company name as it appears on the LinkedIn page. Usually the same value as name; Crustdata returns both. |
| data.linkedinUrl | string | LinkedIn company page URL. |
| data.location | string | Headquarters location. |
| data.naics | object | Primary NAICS industry classification. |
| data.naics.code | string | Primary NAICS code. |
| data.naics.industry | string | NAICS industry name. |
| data.naics.industryGroup | string | NAICS industry group name. |
| data.naics.sector | string | NAICS sector name. |
| data.naics.subSector | string | NAICS sub-sector name. |
| data.naics.year | integer | NAICS revision year the code belongs to. |
| data.name | string | Company name. |
| data.regionMetrics | object | Regions bucketed by the share of headcount they represent. Restates headcountByRegionPercent as bands. |
| data.regionMetrics.share0To10Percent | string | Comma separated regions that each account for 0 to 10 percent of headcount. |
| data.regionMetrics.share11To30Percent | string | Comma separated regions that each account for 11 to 30 percent of headcount. |
| data.regionMetrics.share31To50Percent | string | Comma separated regions that each account for 31 to 50 percent of headcount. |
| data.regionMetrics.share51To70Percent | string | Comma separated regions that each account for 51 to 70 percent of headcount. |
| data.regionMetrics.share71To100Percent | string | Comma separated regions that each account for 71 to 100 percent of headcount. |
| data.roleMetrics | object | Job functions bucketed by the share of headcount they represent. Restates headcountByRolePercent as bands. |
| data.roleMetrics.allRoles | string | Every job function present at the company, comma separated. |
| data.roleMetrics.share0To10Percent | string | Comma separated job functions that each account for 0 to 10 percent of headcount. |
| data.roleMetrics.share11To30Percent | string | Comma separated job functions that each account for 11 to 30 percent of headcount. |
| data.roleMetrics.share31To50Percent | string | Comma separated job functions that each account for 31 to 50 percent of headcount. |
| data.roleMetrics.share51To70Percent | string | Comma separated job functions that each account for 51 to 70 percent of headcount. |
| data.roleMetrics.share71To100Percent | string | Comma separated job functions that each account for 71 to 100 percent of headcount. |
| data.sicCodes | object[] | SIC industry classifications assigned to the company. |
| data.sicCodes[].code | string | SIC code. |
| data.sicCodes[].industry | string | SIC industry name. |
| data.sicCodes[].year | integer | SIC revision year the code belongs to. |
| data.skillMetrics | object | Skills bucketed by the share of headcount that lists them. Restates headcountBySkillPercent as bands. |
| data.skillMetrics.share0To10Percent | string | Comma separated skills that each account for 0 to 10 percent of headcount. |
| data.skillMetrics.share11To30Percent | string | Comma separated skills that each account for 11 to 30 percent of headcount. |
| data.skillMetrics.share31To50Percent | string | Comma separated skills that each account for 31 to 50 percent of headcount. |
| data.skillMetrics.share51To70Percent | string | Comma separated skills that each account for 51 to 70 percent of headcount. |
| data.skillMetrics.share71To100Percent | string | Comma separated skills that each account for 71 to 100 percent of headcount. |
| data.specialities | string[] | Speciality tags the company lists on LinkedIn. |
| data.twitterUrl | string | X (Twitter) profile URL. |
| data.website | string | Company website URL. |
| found | boolean | False when no company matched the request. |
| reason | "not_found" | Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost. |
| 价格 | ||
| 每次请求价格 | USD | US$0.048 |
| 价格(/千次请求) | USD | US$48.00 |
常见问题
关于 Company Enrichment Crustdata v3 API
AnyAPI 的 Company Enrichment Crustdata v3 API 只需一次 POST 请求 /v1/run/company_enrichment.crustdata_v3,就以统一格式的 JSON 返回 Company Enrichment 数据。按域名、名称、LinkedIn URL 或 Crustdata 标识符补全公司数据。无论哪个数据源提供服务,AnyAPI 都返回同一套统一的 schema。费用:每千次请求 US$48 起,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 Company Enrichment Crustdata v3 API 调用中有 100.0% 成功,响应时间中位数为 2.5 秒,共测量 49 次调用。
费用:每千次请求 US$48 起,以美元计价,无需订阅,也没有每月最低消费。你只需为一个美元钱包充值,每次调用从中扣费。部分由钱包付费的失败请求会产生处理费用,我们按成本原价转嫁,不加价;错误响应会显示收取的金额。
按域名、名称、LinkedIn URL 或 Crustdata 标识符补全公司数据。响应是统一格式的 JSON,外层结构与每个 AnyAPI 接口相同,所以解析另一个接口只需换一个 URL,别的都不用改。
过去 30 天,通过 AnyAPI 发起的 Company Enrichment Crustdata v3 API 调用中有 100.0% 成功,响应时间中位数为 2.5 秒,共测量 49 次调用。这些是 AnyAPI 对经过网关的流量的自有测量,持续重新计算,并非公开承诺的服务等级目标。