Integração de APIFELCABrazilAtualizado em 14 de março de 2026· 10 min de leituraAPI Online

Integração da API FELCA — Endpoints de Verificação de Idade para o Brasil

A API FELCA da FlagCheck oferece dois endpoints prontos para produção para conformidade com a Lei FELCA (ECA Digital — Lei 15.211/2025), em vigor desde 17 de março de 2026. Verifique se um usuário brasileiro tem 18+ em menos de 2 segundos, opcionalmente com biometria facial para plataformas de alto risco.

< 2s response🇧🇷 CPF-native🔒 LGPD-safe FELCA compliant🤳 Face liveness🌐 REST / JSON

O que a Lei FELCA Exige (Resumo Rápido)

O ECA Digital determina que qualquer plataforma digital acessível por menores deve implementar verificação de idade confiável — autodeclaração está proibida. Multas de até R$ 50 milhões. A API FELCA cobre os dois cenários obrigatórios:

  • Plataformas padrão (jogos, streaming, redes sociais): verificação via CPF é suficiente.
  • Plataformas de alto risco (apostas esportivas, conteúdo adulto, e-commerce de bebidas): CPF + biometria facial é fortemente recomendado.

Leia nossos guias completos: Lei FELCA Explicada → Conformidade Passo a Passo →

Endpoints da API

URL Base
https://api.flagcheck.com.br
Autenticação
Envie sua chave de API no header X-API-Key .
POST/api/felca/age-check

Verificação de maioridade via CPF. Retorna is_adult, idade e data de nascimento.

Use para: plataformas padrão (jogos, streaming, redes sociais, e-commerce).

Request body
{
"cpf": "111.222.333-44"
}
POST/api/felca/liveness

Maioridade + biometria facial. Retorna is_adult + pontuação de correspondência facial.

Use para: apostas esportivas, conteúdo adulto, delivery de bebidas, fintech.

Request body
{
"cpf": "111.222.333-44",
"selfie": "<base64-encoded-image>"
}

Exemplos de Código

POSTEndpoint 1 — Verificação de Idade (apenas CPF)

cURL
curl -X POST \
https://api.flagcheck.com.br/api/felca/age-check \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"cpf": "111.222.333-44"}'
JavaScriptNode.js / server-side only
// Never expose your API key client-side
const res = await fetch(
'https://api.flagcheck.com.br/api/felca/age-check',
{
method: 'POST',
headers: {
'X-API-Key': process.env.FLAGCHECK_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({ cpf: '111.222.333-44' }),
}
)
const { success, data } = await res.json()
if (!success || !data.is_adult) {
return res.status(403).json({ error: 'Access restricted' })
}
Python
import requests
resp = requests.post(
'https://api.flagcheck.com.br/api/felca/age-check',
headers={
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
json={'cpf': '111.222.333-44'},
)
data = resp.json()
if not data["success"] or not data["data"]["is_adult"]:
raise PermissionError("Access restricted")
# Log for ANPD audit
print(data["meta"]["timestamp"], data["meta"]["request_id"])
PHP
$response = file_get_contents(
'https://api.flagcheck.com.br/api/felca/age-check',
false,
stream_context_create([
'http' => [
'method' => 'POST',
'header' => "X-API-Key: YOUR_API_KEY\r\nContent-Type: application/json\r\n",
'content' => json_encode(['cpf' => '111.222.333-44']),
]
])
);
$data = json_decode($response, true);
if (!$data["success"] || !$data["data"]["is_adult"]) {
http_response_code(403);
die('Access restricted'); // Block the user
}

POSTEndpoint 2 — Liveness (CPF + Selfie)

cURL
curl -X POST \
https://api.flagcheck.com.br/api/felca/liveness \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"cpf": "111.222.333-44", "selfie": "<base64>"}'
JavaScript
// Capture selfie via MediaDevices API or liveness SDK
const selfieBase64 = await captureSelfie() // your implementation
const res = await fetch(
'https://api.flagcheck.com.br/api/felca/liveness',
{
method: 'POST',
headers: {
'X-API-Key': process.env.FLAGCHECK_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
cpf: '111.222.333-44',
selfie: selfieBase64,
})
}
)
const { success, data } = await res.json()
if (!success || !data.is_adult || data.face_match < 0.75) {
return { blocked: true }
}

Respostas da API

Usuário adulto (is_adult: true)

{
"success": true,
"data": {
"is_adult": true,
"age": 32,
"date_of_birth": "1993-05-14",
"document": { "type": "CPF", "valid": true }
},
"meta": { "request_id": "felca_a1b2c3d4", "timestamp": "2026-03-14T10:22:00Z" }
}

🔴 Usuário menor de idade (is_adult: false)

{
"success": true,
"data": {
"is_adult": false,
// age and date_of_birth omitted (LGPD protection for minors)
"document": { "type": "CPF", "valid": true }
},
"meta": { "request_id": "felca_b2c3d4e5", "timestamp": "2026-03-14T10:23:00Z" }
}

🤳 Resposta do liveness

{
"success": true,
"data": {
"is_adult": true,
"age": 28,
"date_of_birth": "1998-02-20",
"face_match": 0.94,
"liveness_score": 0.98,
"document": { "type": "CPF", "valid": true }
},
"meta": { "request_id": "felca_c3d4e5f6", "timestamp": "2026-03-14T10:24:00Z" }
}

Log de Auditoria (Conformidade ANPD)

Para auditorias da ANPD, registre os seguintes campos da resposta — nunca armazene o CPF bruto:

  • 1Hash SHA-256 do CPF (não o CPF bruto)
  • 2Resultado is_adult (booleano)
  • 3meta.timestamp (ISO 8601)
  • 4meta.request_id (para resolução de disputas)
  • 5Seu próprio user_id ou session_id

FELCA Law — in effect March 17, 2026

Pronto para Integrar?

Obtenha sua chave de API e comece a verificar usuários brasileiros hoje. Conforme a Lei FELCA, seguro para a LGPD, pronto para produção.

Perguntas Frequentes

Preciso usar os dois endpoints?
Não. Para a maioria das plataformas, o endpoint age-check sozinho é suficiente para conformidade com a Lei FELCA. O endpoint liveness é recomendado para plataformas de alto risco (apostas, conteúdo adulto) onde você precisa confirmar que o usuário é realmente o titular do CPF.
A API armazena os CPFs?
Não. A FlagCheck processa cada consulta em tempo real e descarta imediatamente. Para seu log de auditoria, armazene apenas um hash SHA-256 do CPF junto com o resultado is_adult e timestamp — isso comprova a conformidade sem expor dados pessoais.
Em qual formato devo enviar o CPF?
A API aceita CPF formatado (111.222.333-44) e sem formatação (11122233344). Somente os dígitos é ligeiramente preferível por robustez.
O que fazer quando is_adult: false?
O usuário é menor de 18 anos. Sua plataforma deve bloquear o acesso ao conteúdo restrito e exibir uma mensagem adequada. A API retorna uma resposta com timestamp para seu log de auditoria. Os campos age e date_of_birth são omitidos em respostas de menores para proteger os dados conforme a LGPD.
Como enviar a selfie para o endpoint de liveness?
Capture a selfie no lado do cliente (mobile ou web) e codifique em Base64. Envie a string Base64 no campo "selfie" do corpo JSON junto com o CPF. Para apps mobile, use a câmera do dispositivo; para web, use a MediaDevices API ou um SDK de liveness.
Qual o SLA / uptime da API?
A API FlagCheck tem meta de 99,9% de disponibilidade com tempos de resposta abaixo de 2 segundos para o endpoint age-check. Respostas de liveness podem levar 2–4 segundos dependendo do tamanho da imagem.

FELCA API Brazil — CPF Age Check + Liveness

POST /api/felca/age-check CPF is_adult Brazil. POST /api/felca/liveness face biometrics Brazil. FELCA age verification API integration. Digital ECA compliance API. Brazil age gate CPF REST API. Lei FELCA API integração. Verificação de idade API CPF Brasil. Integración API FELCA Brasil CPF. is_adult CPF Brazil developer. LGPD compliant age verification API Brazil.