API para desarrolladores
¿Para qué copiar y pegar nombres entre sistemas si una sola llamada API lo hace todo?
Incorpore verificación de empresas, mapeo de propiedad, comprobación PEP, medios adversos y señales de sanciones directamente en sus flujos de trabajo 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
Construirlo en casa frente a integrar ScreenVeritAI
| Aspecto | Construirlo en casa | API de ScreenVeritAI |
|---|---|---|
| Tiempo hasta producción | 6-12 meses para conseguir listas, construir la coincidencia y cubrir casos límite | Días para integrar — listo para producción desde la primera llamada |
| Cobertura de listas de sanciones | Incorporación manual de cada formato de lista; mantenimiento continuo del esquema | Todas las fuentes principales mantenidas y actualizadas de forma continua |
| Precisión de la coincidencia | La coincidencia difusa a medida exige experiencia en PLN y ajuste constante | IA con coincidencia difusa, transliteración, resolución de alias y algoritmos fonéticos |
| PEP y medios adversos | Proveedores separados, integraciones separadas, presupuestos separados | Datos de PEP, medios adversos y UBO en la misma respuesta de la API |
| Mantenimiento continuo | Un equipo dedicado a actualizar listas, cambiar esquemas y ajustar falsos positivos | Gestionado por completo — actualizaciones, mejoras e infraestructura de nuestra cuenta |
| Pista de auditoría | Construya su propia infraestructura de registro, evidencia y conservación | Dosieres de evidencia con fecha y hora, con referencias de fuente incluidas |
Cuatro pasos hacia el cumplimiento integrado
Obtenga su clave de API
Cree una clave con alcance limitado desde su panel, con permisos de mínimo privilegio: search:read, search:write, batch:read, batch:write.
Integre el endpoint
Una sola llamada POST en su flujo de incorporación, pagos o CRM — envíe el nombre de la entidad, el tipo y el país, y reciba un ID de trabajo.
Procese los resultados
Sondee el endpoint de resultados para obtener JSON estructurado — contexto de la empresa, propiedad, PEP, medios adversos, señales de sanciones y puntuaciones de riesgo.
Monitorice y reciba alertas
Configure la monitorización continua — la API envía alertas cuando se actualizan las listas de sanciones o aparecen nuevos medios adversos.
Empiece en minutos
Una sola llamada a la API devuelve un resultado de cribado 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 }Rendimiento de la API
€0.39
Quick Check por llamada, sin cuota de plataforma
202
Estado HTTP cuando se acepta una búsqueda; después se consulta el resultado
EU
Alojado en Finlandia; los datos en reposo permanecen en la UE
Preguntas frecuentes sobre la integración por API
¿Cómo autentico las solicitudes a la API?
Autentique las solicitudes a la API con una clave secreta en la cabecera X-API-Key. Las claves se crean desde su panel con permisos limitados y de mínimo privilegio.
¿La API es síncrona o asíncrona?
Asíncrona. Envíe una solicitud, obtenga un ID de trabajo y recupere los resultados mediante sondeo. Su pipeline nunca se bloquea.
¿Qué formato de respuesta devuelve la API?
JSON estructurado con campos para las jurisdicciones principales y matrices por fuente, además de hallazgos de listas de búsqueda y PEP/RCA. Revise el markdown, los identificadores y las fuentes disponibles. La respuesta no ofrece una puntuación numérica de riesgo.
¿Qué límites de solicitudes se aplican?
Se asignan según el nivel de suscripción por clave de API. Las cabeceras de respuesta incluyen la cuota restante y la hora de reinicio.
¿Puedo cribar entidades por lotes mediante la API?
Sí. El endpoint de lotes acepta CSV o XLSX con hasta 100 filas por solicitud, y los resultados se pueden recuperar por fila o como una exportación completa.
¿Cómo configuro la monitorización continua mediante la API?
Configure la monitorización tras el cribado inicial. Cuando se actualicen las listas o surjan nuevos medios adversos, la monitorización señala el cambio y le avisa en la app.
¿Qué datos de cumplimiento incluye cada resultado de cribado?
Coincidencias de sanciones en todas las fuentes principales, estatus PEP con conexiones familiares, medios adversos con citas multilingües, datos UBO, nivel de riesgo y un dosier de evidencia con fecha y hora.
¿Cuánto tarda un cribado?
Una comprobación de sanciones estándar: segundos. Una investigación profunda con medios adversos y mapeo de propiedad: menos de dos minutos.
Terminología de la API
- API REST
- API web que usa métodos HTTP estándar — compatible con cualquier lenguaje o framework capaz de hacer solicitudes HTTP.
- Procesamiento asíncrono
- La API acepta un trabajo de inmediato y lo procesa en segundo plano — recupere los resultados mediante sondeo.
- Clave de API
- Token secreto para autenticar las solicitudes a la API, con alcance limitado a permisos concretos de mínimo privilegio.
- Limitación de solicitudes
- Restringe el número de solicitudes a la API por ventana de tiempo según el nivel de suscripción — la cuota restante y la hora de reinicio van en las cabeceras de respuesta.
- Respuesta estructurada
- JSON legible por máquina con nombres y tipos de campo consistentes, que permite el análisis automatizado y la lógica de decisión.
API REST para el cribado PBC/FT
Incorpore el cribado de sanciones, PEP, listas de vigilancia criminal, medios adversos y KYB/UBO directamente en sus flujos de incorporación, monitorización y transacciones. La API está en producción: autentíquese con una clave API y llame al mismo motor de cribado que usa el portal.
Los endpoints están disponibles de forma general con autenticación por clave API y límites de solicitudes por nivel. Explore cada endpoint en la documentación OpenAPI interactiva en /api/v1/docs.
Guía rápida
1. Cree una clave de API
Cree una clave de API con alcance limitado desde su panel, o genere una mediante programación con el token de portador de su cuenta para solicitudes de 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. Ejecute su primera búsqueda
Envíe una entidad con la cabecera X-API-Key. La API devuelve un ID de búsqueda que recupera cuando termina el procesamiento.
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. Envíe un lote
Envíe un archivo CSV/XLSX para cribar muchas entidades en un solo trabajo, y recupere las filas o las exportaciones cuando el lote termine.
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 principales
- POST
/api/v1/searchCrea una solicitud de cribado para una entidad. Devuelve un ID de búsqueda y el estado del procesamiento. También hay disponibles endpoints de cuenta, cobertura y estado bajo /api/v1.
Autenticación: X-API-Key (search:write)
- POST
/api/v1/batchEnvía archivos CSV/XLSX para cribado de alto volumen, y recupera filas o exportaciones cuando los trabajos terminan.
Autenticación: X-API-Key (batch:write)
- POST
/api/v1/keysCrea y gestiona credenciales de API con permisos de alcance limitado, límites de solicitudes según el nivel y seguimiento de uso.
Autenticación: token de portador (cuenta)
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.
Por qué los equipos usan la API
- Una sola integración para el cribado de sanciones, PEP, listas de vigilancia criminal, medios adversos y KYB/UBO
- Autenticación por clave API mediante la cabecera X-API-Key, con claves de alcance limitado para un acceso de mínimo privilegio
- Límites de solicitudes por nivel con registro de uso para gobernanza y control de costes
- Endpoints de búsqueda, lotes, claves, cuenta, cobertura y estado bajo /api/v1
- Documentación OpenAPI interactiva en /api/v1/docs, además de un esquema OpenAPI legible por máquina
- Salida estructurada apta para registros de auditoría, expedientes de casos y decisiones posteriores
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.
Preguntas frecuentes sobre la API
¿Cómo autentico las solicitudes a la API?
Las solicitudes de cribado a /api/v1/search y /api/v1/batch se autentican con una clave de API enviada en la cabecera X-API-Key. Cree las claves desde su panel, o mediante programación a través de /api/v1/keys tras autenticarse con el token de portador de su cuenta.
¿Está la API disponible de forma general?
Sí. La API v1 está en producción y disponible de forma general. Autentíquese con una clave de API, llame a los endpoints de búsqueda, lotes y gestión de claves, y explore todo en la documentación OpenAPI interactiva en /api/v1/docs.
¿Puedo limitar el alcance de los permisos de una clave de API?
Sí. Las claves admiten permisos como search:read, search:write, batch:read y batch:write, para que pueda aplicar un acceso de mínimo privilegio por integración.
¿Qué límites de solicitudes se aplican?
Los límites se asignan por nivel de API y se aplican por clave de API — el nivel rige el rendimiento de solicitudes, no la facturación. Las cabeceras de respuesta incluyen el límite, la cuota restante y la hora de reinicio, para que pueda ajustar su ritmo de forma ordenada.
¿Dónde puedo probar los endpoints rápidamente?
Use la documentación interactiva en /api/v1/docs para pruebas con Swagger y /api/v1/redoc para la documentación de referencia. El esquema OpenAPI se sirve en /api/v1/openapi.json.
Empiece a verificar en minutos.
Elija un plan y empiece a verificar hoy mismo.