Developer API
Integreer compliancescreening in elke workflow
Uw onboardingpijplijn, betalingsgateway en CRM nemen elke dag al risicobeslissingen. Met de API van ScreenVeritAI kunt u sanctiescreening, PEP-controles, analyse van adverse media (negatieve berichtgeving) en de identificatie van uiteindelijk belanghebbenden (UBO-mapping) rechtstreeks in die workflows integreren — geen handmatige opzoekingen, geen kopiëren-plakken, geen compliancelacunes tussen systemen. Eén API-aanroep activeert dezelfde AI-agent die ons platform aandrijft, en gestructureerde JSON komt terug, klaar voor uw beslissingsengine.
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
Zelf bouwen vs. kopen
| Aspect | Zelf bouwen | ScreenVeritAI API |
|---|---|---|
| Tijd tot productie | 6-12 maanden om lijsten te sourcen, matchinglogica te bouwen en randgevallen af te handelen | Dagen om te integreren; productieklaar vanaf de eerste API-aanroep |
| Sanctielijstdekking | Handmatige inname van elk lijstformaat; doorlopend onderhoud bij schema-wijzigingen | Elke grote bron, doorlopend onderhouden en bijgewerkt |
| Matchingnauwkeurigheid | Custom fuzzy matching vereist NLP-expertise en continue afstemming | AI-agent met fuzzy matching, transliteratie, aliasresolutie en fonetische algoritmen |
| PEP en adverse media | Afzonderlijke dataleveranciers, afzonderlijke integraties, afzonderlijke budgetten | PEP, adverse media en UBO-gegevens opgenomen in hetzelfde API-antwoord |
| Doorlopend onderhoud | Toegewijd engineeringteam voor lijstupdates, schema-wijzigingen en afstemming van false positives | Volledig beheerd — lijstupdates, modelverbeteringen en infrastructuur worden voor u afgehandeld |
| Auditspoor | Bouw uw eigen logging, bewijs-generatie en bewaar-infrastructuur | Bewijspakketten met tijdstempel inclusief bronreferenties en besluitrationale inbegrepen |
Vier stappen naar productie
Uw API-sleutel ophalen
Maak een API-sleutel met beperkte rechten aan vanuit uw ScreenVeritAI-dashboard. Wijs permissies toe — search:read, search:write, batch:read, batch:write — voor least-privilege toegang.
Het endpoint integreren
Voeg een enkele POST-aanroep toe aan uw onboarding-, betalings- of CRM-workflow. Stuur de entiteitsnaam, het type en het land. De API retourneert een taak-ID voor asynchrone resultaatopvraging.
Resultaten verwerken
Poll het resultaten-endpoint voor gestructureerde JSON — bedrijfscontext, eigendom, PEP, adverse media, sanctiesignalen en risicoscores.
Monitoren en waarschuwen
Configureer doorlopende monitoring voor gescreende entiteiten. Wanneer sanctielijsten worden bijgewerkt of nieuwe adverse media opduikt, stuurt de API meldingen zodat uw systeem automatisch herscreening kan triggeren.
Binnen enkele minuten aan de slag
Eén API-aanroep retourneert een volledig screeningresultaat.
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 }API-prestaties
€0.39
Quick Check per aanroep, geen platformkosten
202
HTTP-status wanneer een zoekopdracht is geaccepteerd; daarna haalt u het resultaat op
EU
Gehost in Finland; data in rust blijft in de EU
Veelgestelde vragen over API-integratie
Hoe authenticeer ik API-verzoeken?
Alle API-verzoeken worden geauthenticeerd met een API-sleutel die wordt meegegeven in de X-API-Key header. Sleutels worden aangemaakt vanuit uw ScreenVeritAI-dashboard met beperkte permissies (search:read, search:write, batch:read, batch:write) om least-privilege toegang af te dwingen.
Is de API synchroon of asynchroon?
Asynchroon. U dient een verzoek in, ontvangt een taak-ID en haalt de resultaten op via polling. Uw pipeline blokkeert nooit.
Welk responseformaat retourneert de API?
Gestructureerde JSON met velden voor de belangrijkste jurisdicties en arrays per bron, plus bevindingen uit opsporingslijsten en PEP/RCA. Beoordeel beschikbare markdown, identificatoren en bronverwijzingen. De response bevat geen numerieke risicoscore.
Welke rate limits gelden er?
Rate limits worden toegewezen per abonnementsniveau en afgedwongen per API-sleutel. Response headers bevatten uw huidige limiet, resterend quotum en reset-tijdstempel. Als u hogere doorvoer nodig heeft voor bulkverwerking, accepteert het batch-endpoint CSV-/XLSX-uploads voor screenings met hoog volume.
Kan ik entiteiten in batch screenen via de API?
Ja. Het batch-endpoint accepteert CSV- of XLSX-bestanden met maximaal 100 rijen per verzoek. Elke rij wordt verwerkt als een individuele screening en resultaten zijn opvraagbaar per rij of als een volledige downloadbare export wanneer de taak is afgerond.
Hoe stel ik doorlopende monitoring in via de API?
Configureer monitoring na een initiële screening. Wanneer lijsten worden bijgewerkt of nieuwe adverse media opduikt, signaleert monitoring de wijziging en krijgt u een melding in de app.
Welke compliancegegevens zijn opgenomen in elk screeningresultaat?
Elk resultaat bevat sanctietreffers over elke grote bron, PEP-status met familie- en geassocieerdenconnecties, adverse media-treffers met meertalige bronvermeldingen, UBO-eigendomsgegevens, risiconiveauclassificatie en een bewijspakket met tijdstempel geschikt voor audit en toezichtbeoordeling.
Hoe lang duurt een screening?
Een standaard sanctiecontrole is doorgaans in seconden afgerond. Een diepteonderzoekscreening — inclusief analyse van adverse media en eigendomsmapping — duurt gemiddeld minder dan twee minuten. Het asynchrone model zorgt ervoor dat uw systeem nooit wordt geblokkeerd in afwachting van resultaten.
API-terminologie
- REST API
- Een web-API-architectuur die standaard HTTP-methoden (GET, POST, PUT, DELETE) gebruikt om met resources te communiceren. De API van ScreenVeritAI volgt REST-conventies, waardoor deze compatibel is met elke taal of elk framework dat HTTP-verzoeken kan doen.
- Asynchrone verwerking
- De API accepteert een taak direct en verwerkt die op de achtergrond — haal de resultaten op via polling.
- API-sleutel
- Een geheim token dat wordt gebruikt om server-naar-server API-verzoeken te authenticeren. ScreenVeritAI API-sleutels zijn voorzien van specifieke permissies (search:read, search:write, batch:read, batch:write) om least-privilege toegangspatronen af te dwingen.
- Rate limiting
- Een mechanisme dat het aantal API-verzoeken beperkt dat een client binnen een bepaald tijdsvenster kan doen. Rate limits worden toegewezen per abonnementsniveau en gecommuniceerd via response headers inclusief resterend quotum en reset-tijdstempels.
- Gestructureerde response
- Een machineleesbaar API-responseformaat (JSON) met consistente veldnamen, typen en nesting. Gestructureerde responses maken geautomatiseerde parsing, beslissingslogica en audittrail-generatie mogelijk zonder handmatige data-extractie.
REST API voor AML-screening
Bouw screening op sancties, PEP, opsporingslijsten, adverse media (negatieve berichtgeving) en KYB/UBO rechtstreeks in uw onboarding-, monitoring- en transactieflows. De API is live: authenticeer met een API-sleutel en roep dezelfde screeningengine aan die het portaal gebruikt.
De endpoints zijn algemeen beschikbaar met API-sleutelauthenticatie en rate limits per abonnementsniveau. Verken elk endpoint in de interactieve OpenAPI-documentatie op /api/v1/docs.
Snel starten
1. Maak een API-sleutel aan
Maak in uw dashboard een API-sleutel met beperkte rechten aan, of genereer er programmatisch een met uw account-bearertoken voor server-naar-server-verzoeken.
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. Voer uw eerste zoekopdracht uit
Dien een entiteit in met de X-API-Key header. De API retourneert een search-ID dat u ophaalt zodra de verwerking klaar is.
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. Dien een batch in
Stuur een CSV/XLSX-bestand om meerdere entiteiten in één taak te screenen en haal daarna de rijen of exports op zodra de batch klaar is.
POST/api/v1/batch curl -X POST https://screenveritai.com/api/v1/batch \ -H "X-API-Key: <YOUR_API_KEY>" \ -F "file=@entities.csv"
Kern-endpoints
- POST
/api/v1/searchMaak een screeningverzoek aan voor één entiteit. Retourneert een search-ID en de verwerkingsstatus. Ook endpoints voor account, dekking en health zijn beschikbaar onder /api/v1.
Auth: X-API-Key (search:write)
- POST
/api/v1/batchDien CSV/XLSX-bestanden in voor screening met hoog volume en haal daarna de rijen of exports op zodra de taken klaar zijn.
Auth: X-API-Key (batch:write)
- POST
/api/v1/keysMaak API-credentials aan en beheer ze met beperkte rechten, rate limits per abonnementsniveau en gebruiksregistratie.
Auth: Bearer-token (account)
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.
Waarom teams deze API gebruiken
- Eén integratie voor screening op sancties, PEP, opsporingslijsten, adverse media en KYB/UBO
- API-sleutelauthenticatie via de X-API-Key header, met rechtenbeperkte sleutels voor least-privilege-toegang
- Rate limits per abonnementsniveau met gebruiksregistratie voor governance en kostenbeheersing
- Endpoints voor search, batch, keys, account, dekking en health onder /api/v1
- Interactieve OpenAPI-documentatie op /api/v1/docs plus een machineleesbaar OpenAPI-schema
- Gestructureerde output, geschikt voor audittrails, dossiers en downstream beslissingen
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.
API FAQ
Hoe authenticeer ik API-verzoeken?
Screeningverzoeken aan /api/v1/search en /api/v1/batch authenticeert u met een API-sleutel die u meestuurt in de X-API-Key header. Maak sleutels aan in uw dashboard, of programmatisch via /api/v1/keys nadat u zich met uw account-bearertoken hebt geauthenticeerd.
Is de API algemeen beschikbaar?
Ja. API v1 is live en algemeen beschikbaar. Authenticeer met een API-sleutel, roep de endpoints voor search, batch en sleutelbeheer aan, en verken alles in de interactieve OpenAPI-documentatie op /api/v1/docs.
Kan ik de rechten van een API-sleutel beperken?
Ja. Sleutels ondersteunen permissies zoals search:read, search:write, batch:read en batch:write, zodat u per integratie least-privilege-toegang kunt afdwingen.
Welke rate limits gelden er?
Rate limits worden toegekend per API-niveau en gehandhaafd per API-sleutel — het niveau bepaalt de verzoekdoorvoer, niet de facturering. De response-headers bevatten de limiet, het resterende quotum en reset-tijdstempels, zodat u netjes kunt afremmen.
Waar test ik de endpoints snel?
Gebruik de interactieve documentatie op /api/v1/docs voor Swagger-tests en /api/v1/redoc voor referentiedocumentatie. Het OpenAPI-schema wordt aangeboden op /api/v1/openapi.json.
Begin binnen enkele minuten met screenen.
Kies een plan en start vandaag nog met screenen.