Developer API
Porquê copiar e colar nomes entre sistemas quando uma chamada de API faz tudo?
Incorpore verificação de empresas, mapeamento de propriedade, verificação PEP, notícias adversas e sinais de sanções diretamente nos seus fluxos de trabalho existentes.
curl -X POST https://screenveritai.com/api/v1/search \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"entity_name": "Acme Trading LLC",
"entity_type": "company",
"country": "AE",
"search_type": "sanctions_check"
}'
# 202 Accepted
# { "search_id": "SEARCH_ID", "status": "processing",
# "estimated_time_seconds": 15 }The request
One POST call, then your poll loop.
Entity name, type, country, screening type. The call returns 202 with a search_id and an ETA, and the agent works in the background — you poll for the result rather than hold the connection open.
entity_nameRequired, 1-500 characters. Alias-aware matchingentity_type"person", "company" or "any" (default "any")countryOptional context field; does not filter Quick Check matchingsearch_type"sanctions_check", "adverse_media" or "full_search"
The response
Structured JSON. Findings, not a score.
Core-jurisdiction fields and per-source arrays, plus criminal-watchlist and PEP/RCA findings. Review the available markdown, identifiers and source references; the response does not provide a numeric risk score.
{
"id": "SEARCH_ID",
"entity_name": "Acme Trading LLC",
"entity_type": "company",
"status": "completed",
"search_type": "sanctions_check",
"ofac_sanctions": "## OFAC Sanctions Findings\n\n**Status:** *Sanctioned*\n\n**Details:**\n- **Matched entity:** ACME TRADING LLC\n- **Authority:** US Treasury OFAC\n...",
"eu_sanctions": "## EU Sanctions Findings\n\n**Status:** *No relevant listing found*\n...",
"sanctions_sources": [
{ "source_id": "ofac_sanctions", "title": "OFAC Sanctions",
"authority": "US Treasury OFAC", "hit_count": 1 },
{ "source_id": "eu_sanctions", "title": "EU Sanctions",
"authority": "", "hit_count": 0 }
],
"criminal_watchlists": null,
"pep": null,
"news_summary": null,
"final_report": null,
"created_at": "2026-09-04T09:20:03.771000+00:00",
"completed_at": "2026-09-04T09:20:19.088000+00:00"
}"ofac_sanctions"One markdown field per jurisdiction; read the *Status:* line"sanctions_sources"source_id, title, authority, details, hit_count per source"criminal_watchlists"Markdown when matched, null when nothing matched"pep"Markdown when matched, null when nothing matched"news_summary"Adverse-media report on adverse_media and full_search"status"completed when done; error_* on failure
API reference
Three calls cover a screening integration: queue it, poll it, or hand over a file.
POST/api/v1/searchQueue a screening run. Returns immediately with a search_id; the work happens in the background.202 Accepted
curl -X POST https://screenveritai.com/api/v1/search \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"entity_name": "Acme Trading LLC", "entity_type": "company",
"country": "AE", "search_type": "sanctions_check"}'{ "search_id": "SEARCH_ID", "status": "processing",
"message": "Search queued successfully. Poll the GET endpoint for results.",
"estimated_time_seconds": 15 }GET/api/v1/search/{search_id}Poll for the result. Terminal status is completed; failures land in an error_* status.200 OK
curl https://screenveritai.com/api/v1/search/SEARCH_ID \
-H 'X-API-Key: YOUR_API_KEY'{ "id": "SEARCH_ID", "status": "completed", "search_type": "sanctions_check",
"ofac_sanctions": "## OFAC Sanctions Findings ... *Sanctioned* ...",
"eu_sanctions": "... *No relevant listing found* ...",
"sanctions_sources": [{ "source_id": "ofac_sanctions", "hit_count": 1 }],
"criminal_watchlists": null, "pep": null }POST/api/v1/batchUpload a CSV or XLSX with a name column — up to 100 rows and 2 MB. Poll the job, then export the CSV.202 Accepted
curl -X POST https://screenveritai.com/api/v1/batch \
-H 'X-API-Key: YOUR_API_KEY' \
-F 'file=@portfolio.csv'{ "job_id": "JOB_ID", "total_rows": 100, "credits_charged": 100,
"search_type": "sanctions_check", "status": "pending",
"message": "Batch job created successfully. Poll the GET endpoint for status." }Integration patterns
The API sits between data entry and decision — wherever you need a risk signal.
Customer onboarding
- Customer signup
- POST
/api/v1/search - Poll until completed
- Approve / hold
Payment processing
- Transaction init
- POST
/api/v1/search - Poll until completed
- Release / hold
CRM re-screen
- Record updated
- Your scheduler fires
- POST
/api/v1/search - Write result back
Construir internamente vs. integrar a ScreenVeritAI
| Aspeto | Construir internamente | API ScreenVeritAI |
|---|---|---|
| Tempo até à produção | 6-12 meses para reunir listas, construir a correspondência e tratar casos-limite | Dias para integrar — pronto para produção desde a primeira chamada de API |
| Cobertura de listas de sanções | Ingestão manual de cada formato de lista; manutenção contínua de esquemas | Todas as principais fontes, mantidas e atualizadas continuamente |
| Precisão de correspondência | A correspondência aproximada personalizada exige conhecimento de PLN e afinação constante | IA com correspondência aproximada, transliteração, resolução de aliases, algoritmos fonéticos |
| PEP e notícias adversas | Fornecedores separados, integrações separadas, orçamentos separados | Dados de PEP, notícias adversas e UBO na mesma resposta de API |
| Manutenção contínua | Equipa dedicada para atualizações de listas, alterações de esquema, afinação de falsos positivos | Totalmente gerido — atualizações, melhorias e infraestrutura tratadas por nós |
| Registo de auditoria | Construa a sua própria infraestrutura de registos, evidência e retenção | Dossiês de evidência datados, com referências de fontes incluídas |
Quatro passos para compliance incorporado
Obtenha a sua chave de API
Crie uma chave delimitada no seu painel, com permissões de privilégio mínimo: search:read, search:write, batch:read, batch:write.
Integre o endpoint
Uma chamada POST no seu fluxo de onboarding, pagamentos ou CRM — envie o nome, tipo e país da entidade, e receba um ID de tarefa.
Processe os resultados
Consulte o endpoint de resultados por polling para obter JSON estruturado — contexto da empresa, propriedade, PEP, notícias adversas, sinais de sanções e pontuações de risco.
Monitorize e alerte
Configure a monitorização contínua — a API envia alertas quando as listas de sanções são atualizadas ou surgem novas notícias adversas.
Comece em minutos
Uma única chamada de API devolve um resultado de triagem completo.
curl -X POST https://screenveritai.com/api/v1/search \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"entity_name": "Acme Trading LLC", "country": "AE", "search_type": "sanctions_check"}'
# 202 Accepted
# { "search_id": "SEARCH_ID", "status": "processing", "estimated_time_seconds": 15 }curl https://screenveritai.com/api/v1/search/SEARCH_ID \
-H 'X-API-Key: YOUR_API_KEY'
# 200 OK
# { "id": "SEARCH_ID", "status": "completed",
# "ofac_sanctions": "## OFAC Sanctions Findings ... *No relevant listing found* ...",
# "criminal_watchlists": null, "pep": null }Desempenho da API
€0.39
Quick Check por chamada, sem taxa de plataforma
202
Estado HTTP quando uma pesquisa é aceite; o resultado é depois consultado
EU
Alojado na Finlândia; os dados em repouso ficam na UE
FAQ de integração de API
Como autentico os pedidos de API?
Autentique os pedidos de API com uma chave secreta transmitida no cabeçalho X-API-Key. As chaves são criadas a partir do seu painel, com permissões delimitadas e de privilégio mínimo.
A API é síncrona ou assíncrona?
Assíncrona. Submeta um pedido, receba um ID de tarefa, obtenha os resultados por polling. O seu pipeline nunca bloqueia.
Que formato de resposta devolve a API?
JSON estruturado com campos das principais jurisdições e matrizes por fonte, além de resultados de listas de procurados e PEP/RCA. Analise o markdown, os identificadores e as fontes disponíveis. A resposta não fornece uma pontuação numérica de risco.
Que limites de taxa se aplicam?
Atribuídos por plano de subscrição, por chave de API. Os cabeçalhos de resposta incluem a quota restante e o carimbo de reposição.
Posso analisar entidades em lote através da API?
Sim. O endpoint de lote aceita CSV ou XLSX com até 100 linhas por pedido, com resultados disponíveis por linha ou como uma exportação completa.
Como configuro a monitorização contínua via API?
Configure a monitorização depois da triagem inicial. Quando as listas são atualizadas ou surgem novas notícias adversas, a monitorização sinaliza a alteração e alerta-o na aplicação.
Que dados de compliance estão incluídos em cada resultado de triagem?
Correspondências de sanções em todas as principais fontes, estatuto PEP com ligações familiares, notícias adversas com citações multilingues, dados UBO, nível de risco e dossiê de evidência datado.
Quanto tempo demora uma triagem?
Verificação de sanções padrão: segundos. Deep research com notícias adversas e mapeamento de propriedade: menos de dois minutos.
Terminologia da API
- API REST
- API web que utiliza métodos HTTP padrão — compatível com qualquer linguagem ou framework capaz de fazer pedidos HTTP.
- Processamento assíncrono
- A API aceita a tarefa de imediato e processa-a em segundo plano — obtenha os resultados por polling.
- Chave de API
- Token secreto para autenticar pedidos de API, delimitado com permissões específicas para acesso de privilégio mínimo.
- Limite de taxa
- Restringe os pedidos de API por janela de tempo, consoante o plano de subscrição — a quota restante e os carimbos de reposição constam dos cabeçalhos de resposta.
- Resposta estruturada
- JSON legível por máquina, com nomes e tipos de campo consistentes, permitindo análise automatizada e lógica de decisão.
API REST para triagem AML
Integre a triagem de sanções, PEP, listas de vigilância criminal, notícias adversas e KYB/UBO diretamente nos seus fluxos de onboarding, monitorização e transações. A API está em produção: autentique-se com uma chave de API e chame o mesmo motor de triagem utilizado no portal.
Os endpoints estão disponíveis de forma geral, com autenticação por chave de API e limites de taxa por plano. Explore todos os endpoints na documentação OpenAPI interativa em /api/v1/docs.
Introdução rápida
1. Crie uma chave de API
Crie uma chave de API com âmbito definido no seu painel, ou gere uma programaticamente com o token bearer da sua conta para pedidos servidor-a-servidor.
POST/api/v1/keys curl -X POST https://screenveritai.com/api/v1/keys \ -H "Authorization: Bearer <SUPABASE_JWT>" \ -H "Content-Type: application/json" \ -d '{"name":"server-key","permissions":["search:read","search:write"]}'2. Execute a sua primeira pesquisa
Submeta uma entidade com o cabeçalho X-API-Key. A API devolve um id de pesquisa que pode consultar quando o processamento terminar.
POST/api/v1/search curl -X POST https://screenveritai.com/api/v1/search \ -H "X-API-Key: <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{"entity_name":"Acme Ltd","entity_type":"company","search_type":"full_search"}'3. Submeta um lote
Envie um ficheiro CSV/XLSX para analisar várias entidades numa única tarefa e depois consulte as linhas ou exportações quando o lote terminar.
POST/api/v1/batch curl -X POST https://screenveritai.com/api/v1/batch \ -H "X-API-Key: <YOUR_API_KEY>" \ -F "file=@entities.csv"
Endpoints principais
- POST
/api/v1/searchCria um pedido de triagem para uma entidade. Devolve um id de pesquisa e o estado do processamento. Os endpoints de conta, cobertura e estado do serviço também estão disponíveis em /api/v1.
Autenticação: X-API-Key (search:write)
- POST
/api/v1/batchSubmeta ficheiros CSV/XLSX para triagem de alto volume e depois consulte as linhas ou exportações quando as tarefas terminarem.
Autenticação: X-API-Key (batch:write)
- POST
/api/v1/keysCrie e faça a gestão de credenciais de API com permissões delimitadas, limites de taxa por plano e registo de utilização.
Autenticação: token Bearer (conta)
Crypto address checks. Source evidence at € 0,39.
Check an address against OFAC’s published digital-currency identifiers. Add native-USDC issuer-block status on Ethereum in the same request, at the same price.
€ 0,39 per completed address check · prepaid PAYG only
- POST
/api/v1/crypto-address/checks - GET
/api/v1/crypto-address/checks/{id}
- OFAC address match
- Exact address lookup under the requested OFAC currency label, such as ETH, XBT, TRX, USDT or USDC. Evidence includes the publication date, source URL, export hash and matching OFAC record.
- Ethereum USDC
- Set network to ethereum to check native-USDC issuer-block status at a finalized Ethereum mainnet block. The result includes the contract address, block number, block hash and contract response. Omit network for an OFAC-only check.
- Create a check
- POST requires X-API-Key with search:write, an Idempotency-Key of 16–128 ASCII letters, digits, underscores, dots, colons or hyphens, and address, currency and integer max_prepaid_cents fields. Set max_prepaid_cents to 39 to authorize the current price. A completed request returns HTTP 200 synchronously.
- Retrieve and retry
- GET requires search:read and returns your saved check without another charge. If a POST response is lost, reuse the same Idempotency-Key and payload. Keep that key while the outcome is uncertain; create a new key only for a deliberate new check.
- Billing
- Completed checks debit € 0,39 from your EUR prepaid balance. Minimum balance top-up: €5. Subscription allowances do not apply. Source failures are unpaid.
A negative result means no published OFAC match or no native-USDC issuer block in the checked source. It does not establish wallet ownership or clear an address of all risk.
This is an address-level source check. Transaction tracing, exposure scoring and continuous KYT monitoring are outside its scope. Crypto checks use this separate API; they are not available through name-screening batch uploads, portal history or PDF reports.
Porque as equipas utilizam a API
- Integração única para triagem de sanções, PEP, listas de vigilância criminal, notícias adversas e KYB/UBO
- Autenticação por chave de API através do cabeçalho X-API-Key, com chaves delimitadas por permissões para acesso de privilégio mínimo
- Limites de taxa por plano com registo de utilização para governação e controlo de custos
- Endpoints de pesquisa, lote, chaves, conta, cobertura e estado do serviço em /api/v1
- Documentação OpenAPI interativa em /api/v1/docs, mais um esquema OpenAPI legível por máquina
- Resultados estruturados adequados para registos de auditoria, dossiês de caso e decisões a jusante
Integration playbooks
Developer guides
Endpoint contracts and worked examples for sanctions, PEP, criminal watchlists and batch screening.
PEP screening API guide
Implementation patterns for API-key auth, async jobs, and audit logs.
Batch screening workflow
Connect API and file-based flows for high-volume operations.
Workflow template
Map API responses into deterministic screening and escalation decisions.
Criminal watchlist coverage
See the official criminal and wanted-person lists included with sanctions and PEP checks.
Perguntas Frequentes sobre a API
Como autentico os pedidos à API?
Os pedidos de triagem para /api/v1/search e /api/v1/batch autenticam-se com uma chave de API enviada no cabeçalho X-API-Key. Crie chaves no seu painel ou programaticamente através de /api/v1/keys, após autenticação com o token bearer da sua conta.
A API está disponível de forma geral?
Sim. A API v1 está em produção e disponível de forma geral. Autentique-se com uma chave de API, chame os endpoints de pesquisa, lote e gestão de chaves, e explore tudo na documentação OpenAPI interativa em /api/v1/docs.
Posso delimitar as permissões da chave de API?
Sim. As chaves suportam permissões como search:read, search:write, batch:read e batch:write, permitindo aplicar acesso de privilégio mínimo por integração.
Que limites de taxa se aplicam?
Os limites de taxa são atribuídos por nível de API e aplicados por chave de API — o nível rege o débito de pedidos, não a faturação. Os cabeçalhos de resposta incluem o limite, a quota restante e os carimbos de hora de reposição, para que possa gerir os pedidos de forma controlada.
Onde posso testar os endpoints rapidamente?
Utilize a documentação interativa em /api/v1/docs para testes com Swagger e /api/v1/redoc para documentação de referência. O esquema OpenAPI está disponível em /api/v1/openapi.json.
Comece a triar em minutos.
Escolha um plano e comece a triar hoje.