Uma chamada para verificar cada vendedor. Registro, proprietários, AML — juntos.
Puxe o registro da empresa, mostre cada beneficiário final, execute o KYC em cada um. $2.00 por vendedor, $0.33 por proprietário. 500 verificações gratuitas todos os meses.
Confiado por mais de 2.000 organizações em todo o mundo.
O que um marketplace deve
Conheça a empresa. Saiba quem a possui. Antes que a listagem seja publicada.
A Lei de Serviços Digitais da UE e o novo pacote AML tornam a verificação do vendedor uma
obrigação legal. A Didit a envia como um único fluxo de trabalho: consulta de registro, extração de proprietário,
KYC em cada proprietário e OCR de documentos — tudo conectado ao mesmo
registro do vendedor. $2.00 por vendedor, $0.33 por proprietário. 500 verificações gratuitas todos os
meses.
Como funciona
Do cadastro ao usuário verificado em quatro etapas.
Passo 01
Crie o fluxo de trabalho
Escolha as verificações que deseja — ID, prova de vida, correspondência facial, sanções, endereço, idade, telefone, e-mail, perguntas personalizadas. Arraste-as para um fluxo no painel ou publique o mesmo fluxo em nossa API. Ramifique em condições, execute testes A/B, sem necessidade de código.
Passo 02
Integre
Incorpore nativamente com nosso SDK Web, iOS, Android, React Native ou Flutter. Redirecione para uma página hospedada. Ou simplesmente envie um link ao seu usuário — por e-mail, SMS, WhatsApp, em qualquer lugar. Escolha o que se adapta à sua pilha.
Passo 03
O usuário passa pelo fluxo
A Didit hospeda a câmera, as dicas de iluminação, a transferência móvel e a acessibilidade. Enquanto o usuário está no fluxo, pontuamos mais de 200 sinais de fraude em tempo real e verificamos cada campo em relação a fontes de dados autorizadas. Resultado em menos de dois segundos.
Passo 04
Você recebe os resultados
Webhooks assinados em tempo real mantêm seu banco de dados sincronizado no momento em que um usuário é aprovado, recusado ou enviado para revisão. Consulte a API sob demanda. Ou abra o console para inspecionar cada sessão, cada sinal e gerenciar casos do seu jeito.
Construído para marketplaces · Preço de infraestrutura
Um fluxo de trabalho. $2.00 por vendedor.
A verificação de vendedor regulamentado em marketplace não é uma única checagem — é uma receita de consulta de registro, extração de proprietário, KYC por proprietário, triagem AML, OCR de documentos e monitoramento contínuo. Alterne cada módulo por fluxo de trabalho.
Extraído diretamente da fonte oficial do país — Companies House (Reino Unido), Mercantil (ES), Handelsregister (DE), Junta Comercial (BR) e mais de 200 outros registros. Nome legal, número de registro, status, data de incorporação. Sem raspagem, sem dados desatualizados.
Registros governamentais diretos, sem raspagem.$2.00 por KYB
02 · Extração de proprietário beneficiário
Cada proprietário acima de 25%.
A extração do Beneficiário Final (UBO) revela cada indivíduo que possui um quarto ou mais do vendedor, pronto para KYC de ciclo fechado. Puxa diretores e acionistas da fonte de registro para que a lista seja comprovável, não auto-atestada.
Cada UBO recebe uma /v3/session/ vinculada para KYC por $0.33.
03 · KYC por proprietário
Identidade de ciclo fechado para cada proprietário.
Cada proprietário beneficiário recebe uma sessão KYC hospedada — Verificação de ID, Liveness Passiva, Face Match 1:1, Análise de Dispositivo + IP, AML — por $0.33 por proprietário. O resultado é vinculado ao registro KYB principal para que uma única aprovação libere todo o vendedor.
Sanções, Pessoas Politicamente Expostas (PEP) e listas de mídia adversa — atualizadas diariamente, em 14 idiomas. Acertos abrem um caso automaticamente e bloqueiam o vendedor antes da liberação. Abrange a empresa e todos os proprietários.
14 idiomas · atualização diária de delta$0.20 / indivíduo
05 · Coleta de documentos + OCR
Um pacote de evidências, assinado.
Certificado de incorporação, registro fiscal, comprovante de endereço comercial — coletados através do fluxo hospedado e lidos com OCR. Verificados em relação ao registro para que um upload adulterado falhe antes de chegar ao seu log de auditoria.
Certificado de incorporaçãoAuto-OCR · correspondência de registro
Registro de imposto / IVANúmero validado contra autoridade
Comprovante de endereço comercialConta de consumo, banco, carta de registro
Extrato bancário (últimos 90 dias)Opcional · verificação do proprietário
Um pacote de evidências, assinado e com carimbo de data/hora.
06 · Monitoramento contínuo
Permaneça verificado após o onboarding.
AML contínuo diário no vendedor e em cada proprietário ($0.07/usuário/ano), monitoramento do status do registro para dissoluções, alertas quando um proprietário muda acima do limite de 25%, lembretes de expiração de documentos. O vendedor permanece em conformidade enquanto vender.
O kyc_session_url de cada proprietário se conecta ao KYB pai.docs →
Integração pronta para agente
Envie o KYB do vendedor do marketplace em um único prompt.
Cole no Claude Code, Cursor, Codex, Devin, Aider ou Replit Agent. Preencha sua pilha. O agente constrói o fluxo de trabalho, dispara a sessão por vendedor, impulsiona o KYC vinculado por proprietário e conecta o webhook.
didit-integration-prompt.md
You are integrating Didit into a marketplace that lists third-party sellers (Etsy, Shopify, Faire, Amazon Handmade, OnBuy archetype). EU Digital Services Act Article 30 and the new EU Anti-Money Laundering (AML) package require you to verify the seller (KYB) before any listing goes live, and to keep that verification fresh while they sell.
Four obligations on every seller:
1. Pull the company's registry record (legal name, registration number, status, incorporation date) from the authoritative government source.
2. Extract every Ultimate Beneficial Owner (UBO) — anyone owning 25% or more — and run a closed-loop KYC on each one.
3. Screen the company AND every UBO against sanctions, Politically Exposed Persons (PEP), and adverse-media lists.
4. Collect the corporate evidence (certificate of incorporation, tax registration, proof of business address) and watch the seller continuously for status changes, UBO turnover, AML hits, and document expiry.
Pricing (verified live):
- KYB session (registry + company AML + documents + key-people flow): $2.00 per seller, pay-per-call
- Linked KYC per UBO: $0.33 per UBO (ID + Passive Liveness + Face Match + IP + AML)
- Ongoing AML monitoring: $0.07 per user per year
- First 500 KYC verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with HMAC SHA-256 verification using the X-Signature-V2 header and your webhook secret.
- A workflow_id for KYB from the Workflow Builder. The workflow's type (KYC or KYB) drives the session shape — no explicit business flag is needed on the request.
- A workflow_id for KYC bundled with ID + Passive Liveness + Face Match + IP + AML, used for the linked UBO sessions.
STEP 1 — Create the KYB session
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<your KYB workflow id>",
"vendor_data": "<your seller id, max 256 chars>",
"callback_url": "https://<your-app>/sellers/kyb/callback",
"expected_country": "GB",
"metadata": {
"seller_id": "<your internal seller id>",
"marketplace_segment": "handmade"
}
}
Response: 201 Created with the hosted session URL. Email it to the seller or embed it in your onboarding UI. Behind the scenes, Didit runs:
- kyb_registry — live registry lookup against the country's authoritative source
- kyb_company_aml — sanctions / PEP / adverse media on the company
- kyb_documents — document collection + Optical Character Recognition (OCR) (incorporation, TIN, proof of address)
- kyb_key_people — UBO + director extraction with linked-KYC sessions
STEP 2 — Read the signed webhook on KYB completion
Didit POSTs to your callback. KYB SESSION statuses are UPPER_SNAKE_CASE:
Body (excerpted):
{
"session_id": "<uuid>",
"session_kind": "business",
"vendor_data": "<your seller id>",
"status": "APPROVED",
"decision": {
"company": {
"legal_name": "Maker Goods Ltd.",
"registration_number": "1029847",
"country_code": "GB",
"registry_status": "ACTIVE"
},
"features": [
{ "node_id": "kyb_registry", "status": "APPROVED" },
{ "node_id": "kyb_company_aml", "status": "APPROVED", "total_hits": 0 },
{ "node_id": "kyb_documents", "status": "APPROVED" },
{ "node_id": "kyb_key_people", "status": "APPROVED",
"key_people": [
{ "uuid": "<uuid>", "name": "Sara Ortega", "role": "director", "is_ubo": true, "ownership_percentage": 60, "kyc_status": "Approved", "kyc_session_url": "https://verify.didit.me/..." },
{ "uuid": "<uuid>", "name": "Niels Janssen", "role": "shareholder", "is_ubo": true, "ownership_percentage": 30, "kyc_status": "Approved", "kyc_session_url": "https://verify.didit.me/..." }
]
}
]
}
}
SESSION status enum (KYB · UPPER_SNAKE_CASE):
NOT_STARTED | IN_PROGRESS | AWAITING_USER | APPROVED | DECLINED | IN_REVIEW | RESUBMITTED | ABANDONED | EXPIRED
FEATURE status enum (inside decision.features[].status · UPPER_SNAKE_CASE):
NOT_FINISHED | APPROVED | DECLINED | IN_REVIEW | RESUB_REQUESTED | AWAITING_USER
Note: kyc_status on key_people IS Title Case ("Approved" / "Declined" / "Pending") — those are KYC sessions linked from inside the KYB feature, not KYB features themselves.
Verify the X-Signature-V2 header BEFORE reading the body — HMAC SHA-256 of the raw bytes with your webhook secret.
STEP 3 — Linked KYC on each UBO is automatic
When the seller completes the hosted KYB flow and submits the UBO list, Didit spawns a child KYC session per UBO using the KYC workflow you configured on the KYB workflow. Each child session has its own session_id and its own hosted URL on the kyc_session_url field inside the key-people block.
You don't need to call POST /v3/session/ again for the UBOs — they're stitched to the parent KYB session automatically. You DO need to drive each UBO through their hosted KYC URL (email it, SMS it, embed it in your seller dashboard).
Per-UBO KYC session status is Title Case With Spaces (KYC convention):
Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned
Linked-KYC pricing: $0.33 per UBO.
STEP 4 — Retrieve the decision
GET https://verification.didit.me/v3/session/{sessionId}/decision/
Headers:
x-api-key: <your api key>
Returns the full KYB decision payload — company block, AML hits, document OCR, every UBO with their kyc_status and kyc_session_url. Use this for audit-pack export and for re-rendering the seller status in your admin UI.
STEP 5 — Decide
Branch logic:
APPROVED → activate the seller, allow listings.
IN_REVIEW → keep listings off, wait for analyst webhook update.
DECLINED → refuse onboarding, log the decision_reason_code.
AWAITING_USER → nudge the seller to complete the pending step (typically UBO list submission).
Pre-DSA Article 30: store the trader information (legal name, registration number, address, contact) in your trader-information record alongside the decision payload.
STEP 6 — Ongoing monitoring is automatic when enabled
Enable Ongoing AML on the seller and on each UBO ($0.07/user/year). The session status updates automatically as new sanctions hits land, dissolutions are filed in the registry, or document expirations approach. Your webhook fires on every state change.
No separate endpoint to call — the same workflow drives it.
WEBHOOK EVENT NAMES
- status.updated — session status changed (filter on data.session_kind === "business" for KYB).
- data.updated — session data changed (registry refresh, key-people submission, document upload, ongoing AML hit).
- business.status.updated — the linked Business entity changed.
- business.data.updated — Business entity data changed.
Verify X-Signature-V2 on every payload. The webhook secret is per-environment — sandbox key is separate from production.
CONSTRAINTS
- KYB session statuses use UPPER_SNAKE_CASE (APPROVED, IN_REVIEW, DECLINED). KYC session statuses use Title Case (Approved, In Review, Declined). They live in different APIs — don't mix them in the same code path.
- Default record retention is 5 years post-relationship per the EU AML package; some jurisdictions go higher.
- You cannot replace the registry lookup with a self-attested form — DSA Article 30 requires the data to come from an authoritative source.
Read the docs:
- https://docs.didit.me/business-verification/integration-guide
- https://docs.didit.me/business-verification/statuses
- https://docs.didit.me/business-verification/webhooks
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/sessions-api/retrieve-session
- https://docs.didit.me/integration/webhooks
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 KYC verifications free every month, no credit card.
Precisa de mais contexto? Consulte a documentação completa do módulo.docs.didit.me →
Conforme por design
Abra um novo país com um clique. Nós fazemos o trabalho difícil.
Abrimos as subsidiárias locais, garantimos as licenças, realizamos os testes de penetração, obtemos as certificações e nos alinhamos com cada nova regulamentação. Para enviar verificações em um novo país, basta ativar uma chave. Mais de 220 países ativos, auditados e testados trimestralmente — o único provedor de identidade que um governo de um estado membro da UE formalmente considerou mais seguro do que a verificação presencial.
Por sessão KYB — registro, AML, documentos, fluxo de pessoas-chave.
$0.00
Por KYC vinculado em cada beneficiário efetivo acima de 25%.
0+
Países com cobertura de registro governamental ativo.
0
Verificações KYC gratuitas todos os meses, em todas as contas.
Três níveis, uma lista de preços
Comece grátis. Pague pelo uso. Escale para o Enterprise.
500 verificações gratuitas todos os meses, para sempre. Pague conforme o uso para produção. Contratos personalizados, residência de dados e SLAs (Service Level Agreements) no Enterprise.
Grátis
Grátis
$0 / mês. Não é necessário cartão de crédito.
Pacote KYC gratuito (Verificação de ID + Prova de Vida Passiva + Correspondência Facial + Análise de Dispositivo e IP) — 500 / mês, todos os meses
Comece grátis → pague apenas quando uma verificação for executada → desbloqueie o Enterprise para um contrato personalizado, SLA ou residência de dados.