API para Person Enrichment

API para Person Enrichment: Crustdata v3

Enriqueça uma pessoa a partir da URL de um perfil do LinkedIn ou de um e-mail corporativo: perfil, título, localização, habilidades, cargos atuais e anteriores com o domínio do empregador, formação, nomes de usuário em redes sociais e perfis do GitHub. Dados de contato são vendidos separadamente pelo Contact Enrichment - Crustdata v3.

POST/v1/run/person_enrichment.crustdata_v3
Requisições
-
30d

Preços

Um preço, em dólares

Provedores
Crustdata- atendidas- de disponibilidade- p50US$ 96,00/mil req.preço fixo

Como chamar

Faça sua primeira requisição

import os, requests

res = requests.post(
    "https://api.getanyapi.com/v1/run/person_enrichment.crustdata_v3",
    headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"},
    json={},
)
print(res.json())
Abrir em
Obter chave grátis
Resposta de exemplo
{
  "data": {
    "connections": 42,
    "currentPositions": [
      {
        "companyDomain": "example.com",
        "companyId": "Acme Inc",
        "companyLinkedinUrl": "https://example.com/page",
        "companyName": "Acme Inc",
        "description": "A short example description of this item.",
        "employmentType": "general",
        "endedUtc": 12.5,
        "functionCategory": "general",
        "location": "example",
        "seniority": "example",
        "startedUtc": 12.5,
        "title": "Example title"
      }
    ],
    "education": [
      {
        "degree": "example",
        "description": "A short example description of this item.",
        "endYear": 2024,
        "fieldOfStudy": "example",
        "school": "example",
        "startYear": 2024
      }
    ],
    "firstName": "Alex",
    "followers": 12500,
    "githubProfiles": [
      {
        "bio": "A short example description of this item.",
        "company": "Acme Inc",
        "confidenceScore": 4.6,
        "followers": 12500,
        "following": 12500,
        "location": "example",
        "name": "Example title",
        "profileUrl": "https://example.com/page",
        "publicRepoCount": 12500
      }
    ],
    "githubUrl": "https://example.com/page",
    "headline": "Example title",
    "image": "https://example.com/image.jpg",
    "jobTitle": "Example title",
    "languages": [
      "en"
    ],
    "lastName": "Rivera",
    "linkedinUrl": "https://example.com/page",
    "location": {
      "city": "San Francisco",
      "continent": "example",
      "country": "US",
      "label": "Example title",
      "state": "CA"
    },
    "matchConfidence": 1024,
    "name": "Example title",
    "pastPositions": [
      {
        "companyDomain": "example.com",
        "companyId": "Acme Inc",
        "companyLinkedinUrl": "https://example.com/page",
        "companyName": "Acme Inc",
        "description": "A short example description of this item.",
        "employmentType": "general",
        "endedUtc": 12.5,
        "functionCategory": "general",
        "location": "example",
        "seniority": "example",
        "startedUtc": 12.5,
        "title": "Example title"
      }
    ],
    "personId": "a1b2c3d4",
    "skills": [
      "example"
    ],
    "summary": "A short example description of this item.",
    "twitterHandle": "alex_rivera",
    "yearsOfExperience": 2024
  },
  "found": true,
  "reason": "not_found"
}
Interface da resposta
interface PersonEnrichmentCrustdataV3Response {
  data: {
    connections?: number;
    currentPositions?: {
      companyDomain?: string;
      companyId?: string;
      companyLinkedinUrl?: string;
      companyName?: string;
      description?: string;
      employmentType?: string;
      endedUtc?: number;
      functionCategory?: string;
      location?: string;
      seniority?: string;
      startedUtc?: number;
      title?: string;
    }[];
    education?: {
      degree?: string;
      description?: string;
      endYear?: number;
      fieldOfStudy?: string;
      school?: string;
      startYear?: number;
    }[];
    firstName?: string;
    followers?: number;
    githubProfiles?: {
      bio?: string;
      company?: string;
      confidenceScore?: number;
      followers?: number;
      following?: number;
      location?: string;
      name?: string;
      profileUrl?: string;
      publicRepoCount?: number;
    }[];
    githubUrl?: string;
    headline?: string;
    image?: string;
    jobTitle?: string;
    languages?: string[];
    lastName?: string;
    linkedinUrl?: string;
    location?: {
      city?: string;
      continent?: string;
      country?: string;
      label?: string;
      state?: string;
    };
    matchConfidence?: number;
    name?: string;
    pastPositions?: {
      companyDomain?: string;
      companyId?: string;
      companyLinkedinUrl?: string;
      companyName?: string;
      description?: string;
      employmentType?: string;
      endedUtc?: number;
      functionCategory?: string;
      location?: string;
      seniority?: string;
      startedUtc?: number;
      title?: string;
    }[];
    personId: string;
    skills?: string[];
    summary?: string;
    twitterHandle?: string;
    yearsOfExperience?: number;
  } | 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 30d
POST /v1/run/person_enrichment.crustdata_v3
curl -X POST https://api.getanyapi.com/v1/run/person_enrichment.crustdata_v3 \
  -H "Authorization: Bearer $ANYAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"linkedinUrl":"https://www.linkedin.com/in/satyanadella"}'
CampoTipoValor de exemplo
Corpo da requisição
emailstringO endereço de e-mail corporativo da pessoa.
linkedinUrlstring"https://www.linkedin.com/in/satyanadella"URL do perfil do LinkedIn, por exemplo https://www.linkedin.com/in/satyanadella. Envie exatamente um entre linkedinUrl ou email.
minSimilarityScorenumberEm uma busca por e-mail, a menor similaridade de correspondência aceita, de 0 a 1. Deixe sem definir para usar o padrão da Crustdata.
Resposta
dataobjectThe enriched person, or null when nothing matched.
data.connectionsintegerLinkedIn connection count.
data.currentPositionsobject[]Roles the person holds now.
data.currentPositions[].companyDomainstringEmployer website domain.
data.currentPositions[].companyIdstringEmployer Crustdata company id, usable as companyId in Company Identify - Crustdata v3.
data.currentPositions[].companyLinkedinUrlstringEmployer LinkedIn company page URL.
data.currentPositions[].companyNamestringEmployer name.
data.currentPositions[].descriptionstringRole description.
data.currentPositions[].employmentTypestringEmployment type, e.g. Full-time.
data.currentPositions[].endedUtcnumberWhen the role ended. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
data.currentPositions[].functionCategorystringJob function.
data.currentPositions[].locationstringWhere the role is based.
data.currentPositions[].senioritystringSeniority level, e.g. CXO.
data.currentPositions[].startedUtcnumberWhen the role started. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
data.currentPositions[].titlestringJob title.
data.educationobject[]Schools attended.
data.education[].degreestringDegree.
data.education[].descriptionstringNotes on the course of study.
data.education[].endYearintegerYear finished.
data.education[].fieldOfStudystringField of study.
data.education[].schoolstringSchool name.
data.education[].startYearintegerYear started.
data.firstNamestringFirst name.
data.followersintegerLinkedIn follower count.
data.githubProfilesobject[]GitHub accounts matched to the person, each with its own match confidence.
data.githubProfiles[].biostringProfile bio.
data.githubProfiles[].companystringCompany as written on the profile.
data.githubProfiles[].confidenceScorenumberConfidence from 0 to 1 that this account belongs to the person.
data.githubProfiles[].followersintegerFollower count.
data.githubProfiles[].followingintegerAccounts followed.
data.githubProfiles[].locationstringLocation as written on the profile.
data.githubProfiles[].namestringDisplay name.
data.githubProfiles[].profileUrlstringGitHub profile URL.
data.githubProfiles[].publicRepoCountintegerPublic repository count.
data.githubUrlstringGitHub profile URL linked from the profile.
data.headlinestringLinkedIn headline.
data.imagestringProfile photo URL.
data.jobTitlestringCurrent job title.
data.languagesstring[]Languages the person lists.
data.lastNamestringLast name.
data.linkedinUrlstringLinkedIn profile URL.
data.locationobjectWhere the person is based.
data.location.citystringCity.
data.location.continentstringContinent.
data.location.countrystringCountry.
data.location.labelstringLocation as written on the profile.
data.location.statestringState or region.
data.matchConfidencenumberConfidence from 0 to 1 that the returned person is the one asked for.
data.namestringFull name.
data.pastPositionsobject[]Roles the person held before.
data.pastPositions[].companyDomainstringEmployer website domain.
data.pastPositions[].companyIdstringEmployer Crustdata company id, usable as companyId in Company Identify - Crustdata v3.
data.pastPositions[].companyLinkedinUrlstringEmployer LinkedIn company page URL.
data.pastPositions[].companyNamestringEmployer name.
data.pastPositions[].descriptionstringRole description.
data.pastPositions[].employmentTypestringEmployment type, e.g. Full-time.
data.pastPositions[].endedUtcnumberWhen the role ended. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
data.pastPositions[].functionCategorystringJob function.
data.pastPositions[].locationstringWhere the role is based.
data.pastPositions[].senioritystringSeniority level, e.g. CXO.
data.pastPositions[].startedUtcnumberWhen the role started. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
data.pastPositions[].titlestringJob title.
data.personIdstringCrustdata person id.
data.skillsstring[]Skills the person lists on LinkedIn.
data.summarystringProfile summary.
data.twitterHandlestringX (Twitter) handle.
data.yearsOfExperienceintegerTotal years of work experience.
foundbooleanFalse when no person matched the LinkedIn URL or email.
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çãoUSDUS$ 0,096
Preço /mil req.USDUS$ 96,00

Dúvidas frequentes

Sobre o endpoint Crustdata v3 da API para Person Enrichment

O endpoint Crustdata v3 da AnyAPI para Person Enrichment retorna dados de Person Enrichment em JSON normalizado com uma chamada POST para /v1/run/person_enrichment.crustdata_v3. Enriqueça uma pessoa a partir da URL de um perfil do LinkedIn ou de um e-mail corporativo: perfil, título, localização, habilidades, cargos atuais e anteriores com o domínio do empregador, formação, nomes de usuário em redes sociais e perfis do GitHub. Dados de contato são vendidos separadamente pelo Contact Enrichment - Crustdata v3. A AnyAPI retorna um schema normalizado, seja qual for a fonte que atende. Custa a partir de US$ 96 por mil requisições, em dólares, sem assinatura e sem mínimo mensal.

Custa a partir de US$ 96 por mil requisições, em dólares, sem assinatura e sem mínimo mensal. Você recarrega uma carteira em dólares e cada chamada desconta dela. Algumas requisições pagas pela carteira que falham geram cobranças de processamento, que repassamos pelo custo, sem margem; a resposta de erro mostra o valor cobrado.

Enriqueça uma pessoa a partir da URL de um perfil do LinkedIn ou de um e-mail corporativo: perfil, título, localização, habilidades, cargos atuais e anteriores com o domínio do empregador, formação, nomes de usuário em redes sociais e perfis do GitHub. Dados de contato são vendidos separadamente pelo Contact Enrichment - Crustdata v3. A resposta é JSON normalizado, com o mesmo envelope que todo endpoint da AnyAPI retorna, então processar um segundo endpoint é só trocar a URL, e nada mais.