# LGPD e APIs de terceiros: responsabilidade do controlador vs. operador de dados de CPF

> Entenda a diferença entre controlador e operador de dados de CPF ao usar APIs de terceiros e como definir responsabilidades conforme a LGPD.

**Publicado:** 04/01/2026
**Autor:** Redação CPFHub.io
**URL:** https://cpfhub.io/blog/lgpd-apis-terceiros-responsabilidade-controlador-operador-cpf

---


Ao usar uma API de terceiros para consultar dados de CPF, sua empresa assume o papel de controlador e o provedor da API atua como operador — e a LGPD define obrigações distintas para cada um. A CPFHub.io opera como operador transparente, com contrato alinhado à legislação e controles que simplificam o cumprimento das suas responsabilidades como controlador.

## Introdução

Quando uma empresa utiliza uma API de terceiros para consultar dados de CPF, surge uma questão fundamental: quem é o controlador e quem é o operador dos dados? A resposta a essa pergunta define responsabilidades legais, obrigações contratuais e o escopo de proteção exigido por cada parte. A [LGPD](https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm) estabelece papéis claros, mas a prática de integrações via API torna essa definição mais complexa do que parece.

---

## Definições legais

### Controlador (art. 5, VI)

Pessoa natural ou jurídica, de direito público ou privado, a quem competem as decisões referentes ao tratamento de dados pessoais. O controlador:

- Define a finalidade do tratamento.
- Escolhe a base legal.
- Determina quais dados serão coletados e processados.
- Responde perante o titular e a ANPD.

### Operador (art. 5, VII)

Pessoa natural ou jurídica, de direito público ou privado, que realiza o tratamento de dados pessoais em nome do controlador. O operador:

- Executa o tratamento conforme instruções do controlador.
- Não define a finalidade nem a base legal.
- Deve garantir a segurança dos dados durante o processamento.
- Responde solidariamente em caso de tratamento irregular.

---

## Cenários de uso de API de CPF

### Cenário 1: empresa consulta API para onboarding

A empresa (controlador) utiliza a API do CPFHub.io (operador) para validar dados durante o cadastro de novos clientes.

- **Controlador**: a empresa que decide consultar o CPF do cliente.
- **Operador**: o CPFHub.io que executa a consulta e retorna os dados.
- **Finalidade**: definida pela empresa (verificação cadastral).
- **Base legal**: definida pela empresa (execução de contrato).

### Cenário 2: empresa intermediária revende dados

Uma empresa de enriquecimento de dados consulta a API e redistribui os dados para seus clientes.

- **Controlador-controlador conjunto**: tanto a empresa intermediária quanto seus clientes podem ser considerados controladores, dependendo de quem define a finalidade.
- **Responsabilidade ampliada**: ambos respondem solidariamente.

### Cenário 3: desenvolvedor integra API em plataforma SaaS

Um desenvolvedor cria uma plataforma SaaS que utiliza a API de CPF como parte de suas funcionalidades.

- **Controlador**: o cliente final da plataforma SaaS que decide consultar dados de CPF.
- **Operador**: a plataforma SaaS que executa a operação.
- **Sub-operador**: o CPFHub.io que fornece os dados.

---

## Obrigações de cada parte

### Obrigações do controlador

```python
import requests
import json
import logging
from datetime import datetime, timezone

logging.basicConfig(
 filename="controlador_compliance.log",
 level=logging.INFO,
 format="%(asctime)s | %(message)s"
)

class ControladorCPF:
 """Implementa obrigações do controlador ao usar APIs de CPF."""

 def __init__(self, api_key: str):
 self.api_key = api_key

 def consultar_com_compliance(
 self,
 cpf: str,
 base_legal: str,
 finalidade: str,
 consentimento_id: str = None
 ) -> dict:
 """Consulta CPF cumprindo todas as obrigações do controlador."""

 # 1. Definir e documentar finalidade
 registro = {
 "timestamp": datetime.now(timezone.utc).isoformat(),
 "papel": "controlador",
 "acao": "consulta_cpf",
 "base_legal": base_legal,
 "finalidade": finalidade,
 "consentimento_id": consentimento_id,
 "operador": "CPFHub.io"
 }

 # 2. Verificar base legal antes da consulta
 if base_legal == "consentimento" and not consentimento_id:
 registro["status"] = "bloqueado"
 registro["motivo"] = "Consentimento ausente"
 logging.warning(json.dumps(registro))
 return {"error": "Consentimento obrigatório para esta base legal"}

 # 3. Executar consulta via operador (API)
 try:
 response = requests.get(
 f"https://api.cpfhub.io/cpf/{cpf}",
 headers={
 "x-api-key": self.api_key,
 "Accept": "application/json"
 },
 timeout=30
 )

 registro["status_code"] = response.status_code
 registro["tempo_ms"] = response.elapsed.total_seconds() * 1000

 if response.status_code == 200:
 dados = response.json()

 # 4. Minimizar dados conforme finalidade
 dados_filtrados = self._filtrar_por_finalidade(
 dados.get("data", {}), finalidade
 )

 registro["campos_retornados"] = list(dados_filtrados.keys())
 registro["status"] = "sucesso"
 logging.info(json.dumps(registro))

 return {"success": True, "data": dados_filtrados}

 except requests.exceptions.Timeout:
 registro["status"] = "timeout"
 logging.error(json.dumps(registro))
 return {"error": "Timeout na consulta"}

 registro["status"] = "erro"
 logging.info(json.dumps(registro))
 return {"error": "Consulta não retornou dados"}

 def _filtrar_por_finalidade(self, dados: dict, finalidade: str) -> dict:
 """Aplica princípio da necessidade conforme finalidade."""

 filtros = {
 "validacao": ["cpf"],
 "verificacao_identidade": ["cpf", "name"],
 "analise_credito": ["cpf", "name", "birthDate"],
 "onboarding": ["cpf", "name", "birthDate", "gender"]
 }

 campos = filtros.get(finalidade, ["cpf"])
 return {k: v for k, v in dados.items() if k in campos}

# Exemplo de uso
controlador = ControladorCPF(api_key="SUA_API_KEY")

resultado = controlador.consultar_com_compliance(
 cpf="12345678901",
 base_legal="execucao_contrato",
 finalidade="verificacao_identidade"
)
print(json.dumps(resultado, indent=2, ensure_ascii=False))
```

### Teste via cURL

```bash
curl -X GET "https://api.cpfhub.io/cpf/12345678901" \
 -H "x-api-key: SUA_API_KEY" \
 -H "Accept: application/json" \
 --max-time 30
```

---

## Contrato entre controlador e operador

O contrato entre a empresa que consome a API (controlador) e o provedor da API (operador) deve conter cláusulas específicas:

### Cláusulas essenciais

1. **Objeto e finalidade**: descrição clara de quais dados serão processados e para qual fim.
2. **Instruções do controlador**: o operador só pode tratar dados conforme instruções documentadas.
3. **Confidencialidade**: todos os envolvidos devem estar sob obrigação de sigilo.
4. **Medidas de segurança**: controles técnicos e administrativos implementados pelo operador.
5. **Suboperadores**: autorização prévia ou geral para uso de subcontratados.
6. **Assistência ao controlador**: cooperação para atender direitos do titular e obrigações legais.
7. **Notificação de incidentes**: prazo e procedimento para comunicação de vazamentos.
8. **Auditoria**: direito do controlador de verificar a conformidade do operador.
9. **Devolução e eliminação**: destino dos dados ao término da relação.

---

## Responsabilidade solidária

O artigo 42 da LGPD estabelece que o operador responde solidariamente pelos danos causados pelo tratamento quando descumprir as obrigações da legislação ou quando não seguir as instruções lícitas do controlador. Isso significa que ambas as partes podem ser responsabilizadas em caso de incidente.

### Quando o operador se torna controlador

Se o operador (API de dados) passa a utilizar os dados de CPF para finalidades próprias -- como analytics ou venda de dados agregados -- ele deixa de ser operador e assume o papel de controlador, com todas as obrigações correspondentes.

---

## Gestão de sub-operadores

Quando a API de dados utiliza infraestrutura de terceiros (como provedores de cloud), esses terceiros podem ser classificados como sub-operadores. O controlador deve:

- Ser informado sobre quais sub-operadores são utilizados.
- Ter o direito de se opor à inclusão de novos sub-operadores.
- Exigir que os mesmos controles contratuais sejam estendidos aos sub-operadores.

---

## Due diligence ao escolher APIs de dados de CPF

Antes de integrar uma API de dados de CPF, avalie:

- **Conformidade com a LGPD**: o provedor possui política de privacidade e DPO nomeado?
- **Medidas de segurança**: quais controles técnicos estão implementados (criptografia, logs, controle de acesso)?
- **Localização dos dados**: onde os dados são armazenados e processados?
- **SLA de disponibilidade**: qual o compromisso de uptime e tempo de resposta?
- **Transparência**: o provedor divulga sua cadeia de sub-operadores?
- **Histórico**: houve incidentes de segurança no passado?

---

## Boas práticas para a relação controlador-operador

1. **Formalize contratos antes de integrar**: nunca consuma uma API de dados pessoais sem contrato.
2. **Documente instruções**: mantenha registro das instruções dadas ao operador.
3. **Monitore a conformidade**: realize auditorias periódicas no operador.
4. **Minimize dados compartilhados**: envie apenas o CPF para consulta, não dados adicionais.
5. **Registre toda operação**: mantenha logs de cada consulta realizada via API.
6. **Revise periodicamente**: atualize contratos e avaliações conforme mudanças regulatórias.

---

## Perguntas frequentes

### O que é necessário para implementar validação de CPF neste contexto?
A validação de CPF exige uma chamada à API com o número do documento e a chave de autenticação. A CPFHub.io retorna o status do CPF, nome do titular e data de nascimento em ~900ms, permitindo a verificação em tempo real durante o cadastro ou transação.

### A API CPFHub.io funciona para todos os volumes de consulta?
Sim. O plano gratuito oferece 50 consultas por mês sem cartão de crédito — ideal para testes e projetos pequenos. Para volumes maiores, o plano Pro inclui 1.000 consultas mensais por R$149. Se o limite for ultrapassado, a API não bloqueia: cobra R$0,15 por consulta adicional.

### Como garantir conformidade com a LGPD ao usar uma API de CPF?
Use o CPF apenas para a finalidade declarada ao titular, armazene apenas o necessário (não guarde o CPF cru se um token bastar), implemente controle de acesso aos logs de consulta e documente a base legal para o tratamento. A [ANPD](https://www.gov.br/anpd/) orienta que dados de identificação devem ser tratados com o princípio da necessidade.

### Quanto tempo leva para integrar a API CPFHub.io?
A integração básica leva menos de 30 minutos: crie uma conta em cpfhub.io, gere a API key no painel e faça uma chamada GET para `https://api.cpfhub.io/cpf/{CPF}` com o header `x-api-key`. A documentação inclui exemplos em Python, Node.js, PHP, Java e outras linguagens.

### Leia também

- [LGPD: CPF é dado pessoal sensível ou não? Entenda a classificação correta](https://cpfhub.io/blog/lgpd-cpf-e-dado-pessoal-sensivel-ou-nao-entenda-a-classificacao-correta)
- [Vazamento de CPF: responsabilidades da empresa e como prevenir](https://cpfhub.io/blog/vazamento-de-cpf-responsabilidades-da-empresa-e-como-prevenir)
- [KYC no Brasil: quais setores são obrigados a validar CPF por lei](https://cpfhub.io/blog/kyc-no-brasil-quais-setores-sao-obrigados-a-validar-cpf-por-lei)
- [Como atender às exigências do COAF para PLD/FT usando validação de CPF](https://cpfhub.io/blog/como-atender-as-exigencias-do-coaf-para-pld-ft-usando-validacao-de-cpf)

---

## Conclusão

A relação entre controlador e operador no uso de APIs de dados de CPF exige clareza contratual, documentação rigorosa e monitoramento contínuo. Compreender os papéis e responsabilidades de cada parte é fundamental para operar em conformidade com a LGPD e proteger tanto os titulares quanto a sua empresa. Ao escolher um provedor de API, priorize aqueles que já operam com transparência e altos padrões de segurança.

Cadastre-se em [cpfhub.io](https://www.cpfhub.io/) — 50 consultas mensais gratuitas, sem cartão de crédito — e comece hoje mesmo.

