Os preços desta página são de tabela, sem assinatura — plano reduz o valor por consulta, e fonte de repasse cobra o emolumento da UF do alvo. O número que vale é o do POST /v1/orcamento/participacao-societaria, calculado sobre o alvo real e sem cobrar.

Documentação

Receita Federal do Brasil

Participação societária (RFB)

Em que empresas um CPF ou CNPJ consta como sócio, pelo quadro societário publicado pela Receita Federal.

Site oficial da fonte ↗
Em construção
POST /v1/consultas/participacao-societaria v1

Tempo típico

não medido

A partir de

R$ 1,00

por consulta, varia por UF

Visão geral

Responde a pergunta inversa do cartão CNPJ: em vez de "quem são os sócios desta empresa", responde "de que empresas esta pessoa é sócia" — cobertura nacional, incluindo as participações já encerradas.

A base é o quadro de sócios dos dados abertos da Receita Federal, carregado por nós. Não há chamada a origem externa nenhuma no caminho: a consulta é feita no nosso banco.

Atenção: Para pessoa física o vínculo é INDÍCIO, não confirmação — a Receita publica o CPF mascarado. Leia a primeira nota antes de integrar.

Antes de começar

2 crítico · 1 de atenção

Cada item aqui saiu de um caso real que custou dinheiro. Ler isto é mais barato do que descobrir depois.

Crítico

Pessoa física é INDÍCIO, e sem nome não roda

A Receita publica o CPF do sócio mascarado (***342537**). São seis dígitos: milhares de pessoas compartilham a mesma máscara no Brasil.

O casamento é feito por máscara MAIS nome completo, e por isso confianca volta sempre INDICIO. Tratar como confirmado — e afirmar num laudo que fulano é sócio de uma empresa — é o erro caro deste contrato.

Alvo PF sem nome faz a consulta ser recusada antes de cobrar. É deliberado: devolver os homônimos de máscara seria pior que não responder.

Para CNPJ não há máscara nenhuma, e o vínculo é exato.

Crítico

A resposta é do MÊS PASSADO, e diz qual

O arquivo da Receita é mensal, e entre a publicação e a movimentação real há cerca de 40 dias. O campo competencia diz exatamente a que mês a resposta se refere.

Alvo em litígio recente é justamente o caso em que essa defasagem decide: uma saída de sociedade feita no mês passado ainda não está aqui. Para isso existe a consulta paga de vínculos societários, que traz data de fim — as duas coexistem de propósito.

Atenção

Saída é detectada por diferença

O arquivo não tem data de saída de sócio. Ela é calculada comparando dois snapshots mensais, então saida_detectada_em é o MÊS em que a linha sumiu — nunca a data do ato societário.

Serve para saber que saiu, não para provar quando saiu.

Requisição

Autenticação por token no cabeçalho. Parâmetro obrigatório que falta é recusado antes de qualquer cobrança — não vira consulta paga que volta vazia.

cpf_cnpj string obrigatório

CPF (11 dígitos) ou CNPJ (14 dígitos) do sócio procurado. Com ou sem máscara.

nome string opcional

Atenção: OBRIGATÓRIO na prática quando o alvo é pessoa física: a base traz o CPF mascarado, e sem o nome completo não há como desempatar. Sem ele a consulta é recusada sem cobrar, em vez de devolver os homônimos de máscara.

curl -X POST https://api.oficialdata.com.br/v1/consultas/participacao-societaria \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "cpf_cnpj": "12345678909",
    "nome": "MARIA DE SOUZA LIMA"
}'

O HTTP é sempre 200 quando a requisição chegou. O resultado real está em code, no corpo — trate code, nunca o status.

Resposta

Dentro de data[]: 10 campos em 1 blocos.

10

Campo que a origem não informou volta null — nunca 0 nem string vazia. Um zero inventado vira "nada consta" num laudo.

data[] object
10 campos
status string

Positiva quando há participação, Negativa quando não há.

nada_consta boolean

true quando o alvo não aparece em nenhum quadro societário da competência carregada.

confianca string

Atenção: INDICIO para pessoa física (casamento por máscara + nome). Não existe valor que a faça voltar CONFIRMADO.

competencia string

Atenção: O mês do arquivo da Receita que está carregado. É a data a que a resposta se refere — não é hoje.

total_ativas integer

Participações vigentes na competência.

total_encerradas integer

Participações que sumiram entre dois snapshots — saída detectada por diferença, com resolução mensal.

total_registros integer

Soma das duas.

detalhadas[] array

Uma entrada por empresa ativa: CNPJ, razão social, qualificação do sócio e data de entrada.

encerradas[] array

Idem para as encerradas, com saida_detectada_em — o MÊS em que a linha desapareceu do arquivo, não a data do ato.

mensagem string

Frase pronta para tela e laudo, já com a competência.

Códigos de erro

O mesmo mapa que o motor usa em produção. As colunas de estorno e retentativa fazem parte do contrato: nem toda falha devolve o dinheiro, e você tem direito de saber quais antes de integrar.

Classe Códigos Significa Estorna Retenta
sucesso 200 A origem respondeu e entregou.
nao_encontrado 612 A origem respondeu: nada consta para este alvo. Não Não
indeterminado 611 A origem não conseguiu emitir pela internet. Não é irregularidade. Não Não
erro_participante 608 619 620 A origem recusou os DADOS do pedido. Não Sim
retry 600 605 609 610 613 614 615 618 Instabilidade momentânea da origem ou do transporte. Sim Sim
fatal 601 602 603 604 606 607 617 621 622 Defeito de integração — nosso, não seu. Sim Não

A pegadinha do estorno: erro_participante é a única classe que não devolve o dinheiro — nela a origem respondeu, recusando os dados do pedido. Falha nossa é fatal e sempre estorna.

Permanentes: 602 e 603 não se curam sozinhos — não vale retentar. A fonte sai do ar na hora e um humano é avisado.

Preço por UF

É emolumento de cartório, fixado por lei estadual. Orçar antes de disparar em lote não é boa prática, é requisito.

Mais barata

R$ 1,00

BR

Mediana

R$ 1,00

1 UFs vendáveis

Mais cara

R$ 1,00

BR — 1,0× a mais barata

Estes são os preços da sua conta. O valor é o emolumento do cartório mais a nossa margem, e a margem varia conforme o seu plano — planos maiores pagam menos por consulta.

BR

1,00

Limites e desempenho

Números medidos em produção. Onde está "não medido", é porque não medimos — e um número chutado aqui viraria SLA que ninguém verificou.

Tempo típico

não medido

p95

não medido

Teto por hora

Timeout máximo

De onde vem o tempo: dos ~s típicos, cerca de 85% é a origem varrendo os cartórios. Essa parte é intocável — não há otimização nossa que a reduza.

Sobre o teto: a origem exige sessão única por conta, então as corridas são serializadas. O número acima é o limite real de uma conta, não uma cota comercial. Volume acima disso exige combinar antes — não adianta paralelizar do seu lado.

Versionamento

O contrato de resposta é v1, e a versão viaja em header.api_version em toda resposta.

  • Campo novo opcional pode entrar a qualquer momento e não muda a versão. Seu parser precisa ignorar campo que não conhece.
  • Remover campo, renomear campo ou mudar tipo é versão nova, publicada em paralelo, com prazo de desligamento anunciado da anterior.
  • Nunca alteramos o significado de um campo existente mantendo o nome. Se o significado muda, o nome muda junto.

Quer ser dos primeiros a integrar?

A ordem de liberação segue a demanda real. Diga o volume que você espera e em quais UFs.

Falar com a gente →