API para Person Enrichment: Fullenrich em lote
Rode o waterfall da FullEnrich em até 99 pessoas em uma chamada e receba e-mails corporativos, e-mails pessoais e números de celular, cada um com status de entregabilidade, junto com o perfil completo no nível do LinkedIn e o registro do empregador de todos os encontrados. Só os contatos encontrados são retornados, e só eles são cobrados.
Como chamar
Faça sua primeira requisição
import os, requests res = requests.post( "https://api.getanyapi.com/v1/run/person_enrichment.fullenrich_bulk", headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"}, json={ "contacts": "" }, ) print(res.json())
{
"data": {
"contacts": [
{
"companyDomain": "example.com",
"companyName": "Acme Inc",
"custom": {},
"email": "alex@example.com",
"emailStatus": "alex@example.com",
"firstName": "Alex",
"fullName": "Alex Rivera",
"lastName": "Rivera",
"personalEmails": [
{
"email": "alex@example.com",
"status": "active"
}
],
"profile": {
"city": "San Francisco",
"company": {
"companyId": "Acme Inc",
"companyType": "Acme Inc",
"description": "A short example description of this item.",
"domain": "example.com",
"foundedYear": 2024,
"headcount": 12500,
"headcountRange": "example",
"headquarters": {
"city": null,
"country": null,
"countryCode": null,
"line1": null,
"line2": null,
"region": null
},
"image": "https://example.com/image.jpg",
"industry": "general",
"linkedinFollowers": 12500,
"linkedinHandle": "https://example.com/page",
"linkedinId": "https://example.com/page",
"linkedinUrl": "https://example.com/page",
"name": "Example title",
"offices": [
null
],
"specialties": [
null
],
"website": "https://example.com/page"
},
"country": "US",
"countryCode": "US",
"description": "A short example description of this item.",
"educations": [
{
"degree": null,
"endUtc": null,
"schoolName": null,
"startUtc": null
}
],
"employmentHistory": [
{
"companyCity": null,
"companyCountry": null,
"companyDescription": null,
"companyDomain": null,
"companyFoundedYear": null,
"companyHeadcount": null,
"companyHeadcountRange": null,
"companyId": null,
"companyImage": null,
"companyIndustry": null,
"companyLinkedinId": null,
"companyLinkedinUrl": null,
"companyName": null,
"companyRegion": null,
"companyStreet": null,
"companyType": null,
"companyWebsite": null,
"isCurrent": null,
"jobTitle": null,
"seniority": null,
"startUtc": null
}
],
"firstName": "Alex",
"fullName": "Alex Rivera",
"headline": "Example title",
"isCurrent": true,
"jobStartUtc": 12.5,
"jobTitle": "Example title",
"languages": [
{
"language": null,
"proficiency": null
}
],
"lastName": "Rivera",
"linkedinHandle": "https://example.com/page",
"linkedinId": "https://example.com/page",
"linkedinUrl": "https://example.com/page",
"profileId": "a1b2c3d4",
"region": "CA",
"seniority": "example",
"skills": [
"example"
]
},
"workEmails": [
{
"email": "alex@example.com",
"status": "active"
}
]
}
]
},
"found": true,
"reason": "not_found"
}interface PersonEnrichmentFullenrichBulkResponse {
data: {
contacts: {
companyDomain?: string;
companyName?: string;
custom?: {
};
email?: string;
emailStatus?: string;
firstName?: string;
fullName?: string;
lastName?: string;
personalEmails?: {
email?: string;
status?: string;
}[];
profile?: {
city?: string;
company?: {
companyId?: string;
companyType?: string;
description?: string;
domain?: string;
foundedYear?: number;
headcount?: number;
headcountRange?: string;
headquarters?: {
city?: string;
country?: string;
countryCode?: string;
line1?: string;
line2?: string;
region?: string;
};
image?: string;
industry?: string;
linkedinFollowers?: number;
linkedinHandle?: string;
linkedinId?: string;
linkedinUrl?: string;
name?: string;
offices?: {
line1?: string;
line2?: string;
}[];
specialties?: string[];
website?: string;
};
country?: string;
countryCode?: string;
description?: string;
educations?: {
degree?: string;
endUtc?: number;
schoolName?: string;
startUtc?: number;
}[];
employmentHistory?: {
companyCity?: string;
companyCountry?: string;
companyDescription?: string;
companyDomain?: string;
companyFoundedYear?: number;
companyHeadcount?: number;
companyHeadcountRange?: string;
companyId?: string;
companyImage?: string;
companyIndustry?: string;
companyLinkedinId?: string;
companyLinkedinUrl?: string;
companyName?: string;
companyRegion?: string;
companyStreet?: string;
companyType?: string;
companyWebsite?: string;
isCurrent?: boolean;
jobTitle?: string;
seniority?: string;
startUtc?: number;
}[];
firstName?: string;
fullName?: string;
headline?: string;
isCurrent?: boolean;
jobStartUtc?: number;
jobTitle?: string;
languages?: {
language?: string;
proficiency?: string;
}[];
lastName?: string;
linkedinHandle?: string;
linkedinId?: string;
linkedinUrl?: string;
profileId?: string;
region?: string;
seniority?: string;
skills?: string[];
};
workEmails?: {
email?: string;
status?: string;
}[];
}[];
} | null;
found: boolean;
reason?: "not_found";
}Referência completa de parâmetros e resposta - todos os campos, tipos e exemplos deste endpoint.
Referência
Requisição, resposta e preço
Última verificação em 2026-09-29 · disponibilidade e latência medidas em 30dcurl -X POST https://api.getanyapi.com/v1/run/person_enrichment.fullenrich_bulk \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"contacts":[{"custom":{"row":"1"},"domain":"stripe.com","enrich_fields":["contact.emails","contact.personal_emails"],"first_name":"Patrick","last_name":"Collison"},{"company_name":"Figma","custom":{"row":"2"},"enrich_fields":["contact.emails"],"first_name":"Dylan","last_name":"Field","linkedin_url":"https://www.linkedin.com/in/dylanfield"}]}'| Campo | Tipo | Valor de exemplo |
|---|---|---|
| Corpo da requisição | ||
| contacts | array | [{"custom":{"row":"1"},"domain":"stripe.com","enrich_fields":["contact.emails","contact.personal_emails"],"first_name":"Patrick","last_name":"Collison"},{"company_name":"Figma","custom":{"row":"2"},"enrich_fields":["contact.emails"],"first_name":"Dylan","last_name":"Field","linkedin_url":"https://www.linkedin.com/in/dylanfield"}]Pessoas a enriquecer, até 99 por chamada. Você só é cobrado pelos contatos que o waterfall resolve, embora os fundos retidos cubram todos os contatos enviados até a chamada ser liquidada. Cada item é repassado à FullEnrich exatamente como você escreve, por isso essas chaves estão em snake_case enquanto o resto da API usa camelCase. Informe um nome mais um empregador (company_name ou domain), ou um linkedin_url, ou ambos: quanto mais dados de identidade, maior a taxa de acerto. |
| Resposta | ||
| data | object | |
| data.contacts | object[] | One row per contact the waterfall resolved, in the order you sent them. Contacts it could not resolve are left out and are not billed, so match your rows back by the tags you set in custom, or by name and company. |
| data.contacts[].companyDomain | string | Company domain as you supplied it. |
| data.contacts[].companyName | string | Company name as you supplied it. |
| data.contacts[].custom | object | The tags you attached to this entry, echoed back so you can join rows to your own records. |
| data.contacts[].email | string | Best work email FullEnrich found for this person. |
| data.contacts[].emailStatus | string | Deliverability verdict for that address, e.g. DELIVERABLE or HIGH_PROBABILITY. |
| data.contacts[].firstName | string | First name. |
| data.contacts[].fullName | string | Full name. |
| data.contacts[].lastName | string | Last name. |
| data.contacts[].personalEmails | object[] | Personal addresses found, each with its own deliverability verdict. |
| data.contacts[].personalEmails[].email | string | Best work email FullEnrich found for this person. |
| data.contacts[].personalEmails[].status | string | Deliverability verdict. |
| data.contacts[].profile | object | The person behind the match: identity, location, current role and employer, history, education, languages and skills. Absent when nothing matched. |
| data.contacts[].profile.city | string | City the person is in. |
| data.contacts[].profile.company | object | The person's current employer, with FullEnrich's full firmographic record. |
| data.contacts[].profile.company.companyId | string | FullEnrich's own company identifier. |
| data.contacts[].profile.company.companyType | string | Ownership type, e.g. Public Company, Privately Held. |
| data.contacts[].profile.company.description | string | Profile summary text. |
| data.contacts[].profile.company.domain | string | Primary company domain. |
| data.contacts[].profile.company.foundedYear | integer | Year the company was founded. Zero when FullEnrich holds none. |
| data.contacts[].profile.company.headcount | integer | Employees FullEnrich currently counts. |
| data.contacts[].profile.company.headcountRange | string | Employee headcount band, e.g. 5001-10000. |
| data.contacts[].profile.company.headquarters | object | Headquarters address. |
| data.contacts[].profile.company.headquarters.city | string | City the person is in. |
| data.contacts[].profile.company.headquarters.country | string | Country name. |
| data.contacts[].profile.company.headquarters.countryCode | string | ISO 3166-1 alpha-2 country code. |
| data.contacts[].profile.company.headquarters.line1 | string | First address line. |
| data.contacts[].profile.company.headquarters.line2 | string | Second address line, carrying city, region, postal code and country. |
| data.contacts[].profile.company.headquarters.region | string | State or region. |
| data.contacts[].profile.company.image | string | Company logo URL. |
| data.contacts[].profile.company.industry | string | Main industry. |
| data.contacts[].profile.company.linkedinFollowers | integer | LinkedIn follower count. |
| data.contacts[].profile.company.linkedinHandle | string | LinkedIn vanity handle. |
| data.contacts[].profile.company.linkedinId | string | LinkedIn numeric member id. |
| data.contacts[].profile.company.linkedinUrl | string | LinkedIn profile URL. |
| data.contacts[].profile.company.name | string | Company name. |
| data.contacts[].profile.company.offices | object[] | Every other office FullEnrich holds for the company. |
| data.contacts[].profile.company.offices[].line1 | string | First address line. |
| data.contacts[].profile.company.offices[].line2 | string | Second address line, carrying city, region, postal code and country. |
| data.contacts[].profile.company.specialties | string[] | Specialties the company lists for itself. |
| data.contacts[].profile.company.website | string | Company website URL. |
| data.contacts[].profile.country | string | Country name. |
| data.contacts[].profile.countryCode | string | ISO 3166-1 alpha-2 country code. |
| data.contacts[].profile.description | string | Profile summary text. |
| data.contacts[].profile.educations | object[] | Education history. |
| data.contacts[].profile.educations[].degree | string | Degree earned. |
| data.contacts[].profile.educations[].endUtc | number | UTC epoch timestamp in seconds (Unix time) study ended. Multiply by 1000 for a JS Date in milliseconds. |
| data.contacts[].profile.educations[].schoolName | string | School name. |
| data.contacts[].profile.educations[].startUtc | number | UTC epoch timestamp in seconds (Unix time) the role started. Multiply by 1000 for a JS Date in milliseconds. |
| data.contacts[].profile.employmentHistory | object[] | Every role on the record, current and past. |
| data.contacts[].profile.employmentHistory[].companyCity | string | Employer headquarters city. |
| data.contacts[].profile.employmentHistory[].companyCountry | string | Employer headquarters country. |
| data.contacts[].profile.employmentHistory[].companyDescription | string | Employer description. |
| data.contacts[].profile.employmentHistory[].companyDomain | string | Company domain as you supplied it. |
| data.contacts[].profile.employmentHistory[].companyFoundedYear | integer | Year the employer was founded. |
| data.contacts[].profile.employmentHistory[].companyHeadcount | integer | Employer headcount. |
| data.contacts[].profile.employmentHistory[].companyHeadcountRange | string | Employer headcount range, e.g. 5001-10000. |
| data.contacts[].profile.employmentHistory[].companyId | string | FullEnrich identifier for the employer. |
| data.contacts[].profile.employmentHistory[].companyImage | string | Employer logo URL. |
| data.contacts[].profile.employmentHistory[].companyIndustry | string | Employer primary industry. |
| data.contacts[].profile.employmentHistory[].companyLinkedinId | string | Employer LinkedIn numeric id. |
| data.contacts[].profile.employmentHistory[].companyLinkedinUrl | string | Employer LinkedIn page URL. |
| data.contacts[].profile.employmentHistory[].companyName | string | Company name as you supplied it. |
| data.contacts[].profile.employmentHistory[].companyRegion | string | Employer headquarters region or state. |
| data.contacts[].profile.employmentHistory[].companyStreet | string | Employer headquarters street address. |
| data.contacts[].profile.employmentHistory[].companyType | string | Employer company type, e.g. Nonprofit. |
| data.contacts[].profile.employmentHistory[].companyWebsite | string | Employer website URL. |
| data.contacts[].profile.employmentHistory[].isCurrent | boolean | True while the role is current. |
| data.contacts[].profile.employmentHistory[].jobTitle | string | Job title. |
| data.contacts[].profile.employmentHistory[].seniority | string | Seniority band. |
| data.contacts[].profile.employmentHistory[].startUtc | number | UTC epoch timestamp in seconds (Unix time) the role started. Multiply by 1000 for a JS Date in milliseconds. |
| data.contacts[].profile.firstName | string | First name. |
| data.contacts[].profile.fullName | string | Full name. |
| data.contacts[].profile.headline | string | LinkedIn headline. |
| data.contacts[].profile.isCurrent | boolean | True while the role is current. |
| data.contacts[].profile.jobStartUtc | number | UTC epoch timestamp in seconds (Unix time) the current role started. Multiply by 1000 for a JS Date in milliseconds. |
| data.contacts[].profile.jobTitle | string | Job title. |
| data.contacts[].profile.languages | object[] | Languages the person speaks. |
| data.contacts[].profile.languages[].language | string | Language name. |
| data.contacts[].profile.languages[].proficiency | string | Proficiency band, e.g. FULL_PROFESSIONAL. |
| data.contacts[].profile.lastName | string | Last name. |
| data.contacts[].profile.linkedinHandle | string | LinkedIn vanity handle. |
| data.contacts[].profile.linkedinId | string | LinkedIn numeric member id. |
| data.contacts[].profile.linkedinUrl | string | LinkedIn profile URL. |
| data.contacts[].profile.profileId | string | FullEnrich's own person identifier. |
| data.contacts[].profile.region | string | State or region. |
| data.contacts[].profile.seniority | string | Seniority band. |
| data.contacts[].profile.skills | string[] | Skills the person lists. |
| data.contacts[].workEmails | object[] | Every work address found, best first, each with its own deliverability verdict. |
| data.contacts[].workEmails[].email | string | Best work email FullEnrich found for this person. |
| data.contacts[].workEmails[].status | string | Deliverability verdict. |
| found | boolean | False when nothing was resolved, in which case there is nothing to bill. |
| 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. |
| Preço | ||
| Preço por requisição (teto) | USD | US$ 9,98 |
| Preço /mil resultados | USD | US$ 100,80 |
Dúvidas frequentes
Sobre o endpoint Fullenrich em lote da API para Person Enrichment
O endpoint Fullenrich em lote da AnyAPI para Person Enrichment retorna dados de Person Enrichment em JSON normalizado com uma chamada POST para /v1/run/person_enrichment.fullenrich_bulk. Rode o waterfall da FullEnrich em até 99 pessoas em uma chamada e receba e-mails corporativos, e-mails pessoais e números de celular, cada um com status de entregabilidade, junto com o perfil completo no nível do LinkedIn e o registro do empregador de todos os encontrados. Só os contatos encontrados são retornados, e só eles são cobrados. A AnyAPI retorna um schema normalizado, seja qual for a fonte que atende. Custa US$ 100,80 por mil resultados, e nunca mais de US$ 9,98 por requisição, em dólares, sem assinatura e sem mínimo mensal.