A API do LinkedIn que funciona inteiramente com dados públicos

Um GET retorna perfil, empresa, posts ou vagas em JSON.

Sem contas nem cookies 1 crédito por chamada bem-sucedida Perfis inacessíveis são grátis
O ENDPOINT

Um endpoint, seis tipos de dados

Tudo fica em GET /v1/linkedin. Escolha o que buscar com type, passe uma URL ou palavras-chave, e o resultado volta sob uma chave com o nome do tipo.

A maioria das ferramentas dessa área vende uma API de perfil do LinkedIn, uma API de empresa e uma API de vagas como produtos separados, com preços separados. Aqui é uma única API de dados do LinkedIn com uma regra de cobrança: uma chamada bem-sucedida é um crédito, um resultado vazio ou inacessível é grátis.

typeO que voltaEntrada
profileO perfil público completo: nome, headline, histórico profissional, formação, número de seguidores e mais. O tipo padrão.url (uma URL linkedin.com/in/...)
refreshA empresa e a escola atuais com seus ids numéricos do LinkedIn, mais companyState. A chamada enxuta e de baixa latência, feita para manter um banco de dados atualizado.url
companyA página pública da empresa. Adicione employees=true para a lista de funcionários.url (uma URL linkedin.com/company/...)
postsPosts públicos, até 100 por chamada. Adicione comments=true para os comentários de cada post.url (perfil ou empresa)
jobsVagas públicas, até 50 por chamada, com paginação via start.keywords mais location opcional, ou uma url de vaga
search (beta)Busca de pessoas. Adicione enrich=true para obter o perfil completo de cada pessoa na mesma chamada.keywords

Repare na regra de entrada: profile, company e posts recebem url, nunca um termo de busca. Se você só tem um nome, encontre a pessoa primeiro com type=search (beta), e depois passe a URL do perfil que você recebe de volta.

curl "https://crustapi.com/v1/linkedin?type=profile&url=https://www.linkedin.com/in/williamhgates" \ -H "x-api-key: YOUR_KEY"
OBTIDO AO VIVO DA API, 4 DE AGOSTO DE 2026

Uma resposta real, não uma maquete

Este é o JSON exato que o curl acima retornou, cortado para caber na largura. Ele voltou em 800 ms e custou 1 crédito.

// trimmed for width: image URLs, null and empty fields, duplicate id and // date-text fields, parsed location detail, peopleAlsoViewed, and this // key's creditsRemaining removed { "type": "linkedin-profile", "url": "https://www.linkedin.com/in/williamhgates", "tookMs": 800, "accessible": true, "profile": { "id": "williamhgates", "name": "Bill Gates", "firstName": "Bill", "lastName": "Gates", "headline": "Chair, Gates Foundation and Founder, Breakthrough Energy", "currentTitle": "Co-chair", "currentCompany": "Gates Foundation", "companyState": "public", "about": "Chair of the Gates Foundation. Founder of Breakthrough Energy. Co-founder of Microsoft. Voracious reader. Avid traveler. Active blogger.", "followerCount": 40559134, "location": { "linkedinText": "Seattle, Washington, United States, US" }, "experience": [ { "position": "Co-chair", "companyName": "Gates Foundation", "companyLinkedinUrl": "https://www.linkedin.com/company/gates-foundation", "startDate": { "year": 2000 }, "endDate": { "text": "Present" } }, { "position": "Founder", "companyName": "Breakthrough Energy", "companyLinkedinUrl": "https://www.linkedin.com/company/breakthrough-energy", "startDate": { "year": 2015 }, "endDate": { "text": "Present" } }, { "position": "Co-founder", "companyName": "Microsoft", "companyLinkedinUrl": "https://www.linkedin.com/company/microsoft", "startDate": { "year": 1975 }, "endDate": { "text": "Present" } } ], "education": [ { "schoolName": "Harvard University", "schoolLinkedinUrl": "https://www.linkedin.com/school/harvard-university", "startDate": { "year": 1973 }, "endDate": { "year": 1975 } }, { "schoolName": "Lakeside School", "schoolLinkedinUrl": "https://www.linkedin.com/school/lakeside-school" } ], "influencer": true, "topVoice": true, "website": "https://gatesnot.es/sourcecode-li", "memberIdentifier": "251749025", "publicIdentifier": "williamhgates", "linkedinUrl": "https://www.linkedin.com/in/williamhgates" } }

Dois campos que vale notar. accessible diz se o perfil tem uma página pública ou não. Quando é false, profile fica null, um note explica o porquê, e a chamada não é cobrada.

memberIdentifier é o id numérico permanente de membro do LinkedIn. Ele sobrevive a mudanças de nome e de URL personalizada, então é a chave de junção certa para um banco de dados.

O REGISTRO COMPLETO

Quais dados você recebe?

O registro público inteiro, estruturado. O mesmo formato em toda chamada, então seu parser é escrito uma vez só.

Identidadenome · headline · localização · foto · URL do perfilIdsmemberIdentifier · publicIdentifierExperiênciacargo atual · histórico completo de experiência · URLs de empresas · datasFormaçãoeducação · escolas · diplomasSinaisabout · followerCount · influencer · topVoiceContatoworkEmail com emailStatus, opcional

O campo de email é opcional: adicione email=true a uma chamada de perfil e a resposta acrescenta workEmail e emailStatus. O status é verified, pattern-likely ou unknown, então você pode filtrar pelos endereços confirmados.

O email vem junto como um campo na chamada de perfil, não é um produto separado.

O QUE NÃO É RETORNADO

Campos que só existem atrás de um login ficam de fora, de propósito. Listas de conexões, conexões em comum e quem visitou um perfil nunca aparecem na página deslogada, então não estão na resposta. É essa fronteira que permite a API rodar sem contas e sem nada seu em risco.

Faça sua primeira chamada no próximo minuto
3.000 créditos grátis por mês, sem cartão.
Começar →
OS AJUSTES

Parâmetros que importam

Um punhado de opções em linguagem simples. Todo o resto tem um padrão sensato.

ParâmetroAplica-se aO que faz
urlprofile, refresh, company, posts, jobsUma URL do linkedin.com. Obrigatória para profile, company e posts. jobs aceita uma URL de vaga no lugar de keywords.
keywordssearch (beta), jobsO que buscar. Obrigatória para search; obrigatória para jobs a menos que você passe uma URL de vaga.
locationjobsFiltro de cidade ou região para a busca de vagas.
limitjobs, posts, search (beta)Quantos resultados. jobs: padrão 25, máx 50. posts: padrão 50, máx 100. search: padrão 10, máx 15.
startjobsDeslocamento de resultados para paginação.
emailprofileAcrescenta workEmail e emailStatus (verified, pattern-likely ou unknown) ao perfil.
enrichsearch (beta)Retorna o perfil completo de cada pessoa na mesma chamada. Cobra 1 crédito por perfil completo retornado, em vez de 1 por chamada.
employeescompanyInclui a lista de funcionários na página da empresa.
commentspostsInclui os comentários de cada post.
memberrefreshTambém retorna memberIdentifier. Opcional porque é uma leitura mais lenta; o id nunca muda, então busque uma vez e guarde.
headlineprofilePara perfis cujo companyState é restricted, tenta recuperar a headline pública do próprio membro. Sem garantia, mais ou menos um em vinte.
EM ESCALA

Atualização em lote, 100 perfis por requisição

Manter um banco de dados atualizado não deveria exigir uma ida e volta HTTP por linha. Envie até 100 URLs de perfil em um único POST e receba os resultados na ordem de entrada.

curl -X POST "https://crustapi.com/v1/linkedin/batch" \ -H "x-api-key: YOUR_KEY" -H "content-type: application/json" \ -d '{"urls": ["williamhgates", "https://www.linkedin.com/in/satyanadella"], "type": "refresh"}'

As regras foram feitas para execuções grandes: os resultados voltam na mesma ordem em que você os enviou, uma linha que falha nunca derruba o lote, e uma URL malformada volta como um erro por linha, em vez de uma cobrança. A cobrança é igual à do endpoint único: um crédito por linha bem-sucedida, linhas inacessíveis grátis.

type pode ser refresh (o padrão, empresa e escola atuais com ids numéricos) ou profile (o registro completo). member: true adiciona memberIdentifier nas linhas de refresh.

TRÊS PASSOS

Como começar?

Do zero ao seu primeiro JSON de perfil em cerca de um minuto:

  1. 1

    Crie uma conta grátis. Você recebe 3.000 créditos por mês, sem precisar de cartão.

  2. 2

    Copie sua chave no painel. Ela está na primeira tela depois que você entra.

  3. 3

    Rode o curl acima com qualquer URL de perfil. O perfil público volta como JSON.

PREÇOS

Quanto custa a API de LinkedIn?

Toda chamada bem-sucedida é 1 crédito, seja qual for o tipo. Um perfil privado ou inacessível retorna null com um note e não é cobrado, e um resultado de busca vazio é grátis.

PacoteCréditosVocê paga
Plano gratuito3.000 por mêsUS$ 0, sem cartão
25.000 chamadas25.000US$ 49 (US$ 1,96 por 1.000)
100.000 chamadas100.000US$ 149 (US$ 1,49 por 1.000)
500.000 chamadas500.000US$ 549 (US$ 1,10 por 1.000)
2,5 milhões de chamadas2.500.000US$ 1.999 (US$ 0,80 por 1.000)

Os pacotes seguem até 250 milhões de créditos por US$ 100.000, o que dá US$ 0,40 por 1.000. Preços sem impostos.

Os créditos são pré-pagos e nunca expiram. Uma exceção à regra: a busca de pessoas (beta) com enrich=true cobra 1 crédito por perfil completo que retorna.

PARA QUEM É

Quem usa a API de LinkedIn?

Relacionados: Fazer scraping do LinkedIn sem login · Scraper de perfil do LinkedIn · Alternativa ao Bright Data para LinkedIn · Alternativa ao Proxycurl

ANTES DE PERGUNTAR

Perguntas frequentes

Um endpoint, GET /v1/linkedin, que retorna dados públicos do LinkedIn em JSON limpo. Defina type como profile, refresh, company, posts, jobs ou search (beta). Perfis, empresas e posts recebem uma URL do linkedin.com; vagas e busca de pessoas recebem keywords. Toda chamada bem-sucedida é 1 crédito.

Não. Ela lê apenas a versão pública e deslogada de cada página, então não há cookie para colar, nem sessão para entregar, nem nenhuma conta sua envolvida. Campos que só existem atrás de um login, como listas de conexões, ficam de propósito fora do produto.

Um crédito por chamada bem-sucedida, para todos os tipos. A exceção é a busca de pessoas (beta) com enrich=true, que cobra 1 crédito por perfil completo retornado. Um perfil privado ou inacessível retorna null com um note e não é cobrado, e resultados vazios são grátis. O plano gratuito é de 3.000 créditos por mês, sem cartão.

Nome, headline, localização, about, número de seguidores, o histórico completo de experiência com links de empresas e datas, formação, a foto, e identificadores estáveis, incluindo memberIdentifier, o id numérico permanente de membro do LinkedIn. Adicione email=true para acrescentar workEmail com um emailStatus de verified, pattern-likely ou unknown.

Use type=refresh, que retorna a empresa e a escola atuais com seus ids numéricos com baixa latência, e envie os perfis por POST /v1/linkedin/batch, até 100 URLs por requisição com os resultados na ordem de entrada. Linhas que falham nunca derrubam o lote e linhas inacessíveis são grátis.

A coleta pública e deslogada já derrotou repetidamente alegações de fraude informática e de quebra de contrato. Nós cuidamos da coleta, e o que você recebe são dados que são públicos para qualquer um ver. Não usamos contas falsas nem logins.

FUNCIONA COM O SEU STACK

Aponte para um perfil e veja

Comece com os 3.000 créditos grátis por mês, sem precisar de cartão. Um GET retorna o perfil público em JSON limpo, e um perfil que não está acessível não custa nada. Nenhuma conta sua faz parte da requisição.

Ganhe 3.000 créditos grátis
Sem necessidade de cartão de crédito