Developer API
Warum Namen zwischen Systemen kopieren, wenn ein API-Aufruf alles erledigt?
Betten Sie Firmenverifizierung, die Abbildung der Eigentümerstruktur, PEP-Checks, Adverse Media (belastende Medienberichte) und Sanktionssignale direkt in Ihre bestehenden Workflows ein.
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
Selbst entwickeln vs. ScreenVeritAI integrieren
| Aspekt | Eigenentwicklung | ScreenVeritAI-API |
|---|---|---|
| Zeit bis zur Produktion | 6–12 Monate, um Listen zu beschaffen, das Matching zu bauen und Sonderfälle abzudecken | Tage bis zur Integration — produktionsreif ab dem ersten API-Aufruf |
| Sanktionslistenabdeckung | Manuelle Einbindung jedes Listenformats; laufende Pflege bei Schemaänderungen | Jede wichtige Quelle, kontinuierlich gepflegt und aktualisiert |
| Matching-Genauigkeit | Eigenes Fuzzy-Matching erfordert NLP-Know-how und ständiges Nachjustieren | KI mit Fuzzy-Matching, Transliteration, Alias-Auflösung und phonetischen Algorithmen |
| PEP und Adverse Media | Getrennte Anbieter, getrennte Integrationen, getrennte Budgets | PEP, Adverse Media und UBO-Daten in derselben API-Antwort |
| Laufende Wartung | Eigenes Team für Listen-Updates, Schemaänderungen und das Nachjustieren von Fehlalarmen | Vollständig verwaltet — Updates, Verbesserungen und Infrastruktur übernehmen wir für Sie |
| Prüfpfad | Eigene Infrastruktur für Logging, Nachweise und Aufbewahrung aufbauen | Revisionssichere Nachweispakete mit Quellenangaben inklusive |
In vier Schritten zu eingebetteter Compliance
API-Schlüssel erstellen
Erstellen Sie im Dashboard einen Schlüssel mit eingegrenztem Berechtigungsumfang nach dem Least-Privilege-Prinzip: search:read, search:write, batch:read, batch:write.
Endpoint integrieren
Ein einziger POST-Aufruf in Ihrem Onboarding-, Zahlungs- oder CRM-Workflow — senden Sie Name, Typ und Land und erhalten eine Job-ID zurück.
Ergebnisse verarbeiten
Fragen Sie den Ergebnis-Endpoint per Polling ab und erhalten Sie strukturiertes JSON — Unternehmenskontext, Eigentümerstruktur, PEP, Adverse Media, Sanktionssignale und Risiko-Scores.
Überwachen und benachrichtigen
Richten Sie kontinuierliches Monitoring ein — die API benachrichtigt Sie, sobald Sanktionslisten aktualisiert werden oder neue Adverse Media auftauchen.
In wenigen Minuten startklar
Ein einziger API-Aufruf liefert ein vollständiges Screening-Ergebnis.
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-Leistung
€0.39
Quick Check pro Aufruf, keine Plattformgebühr
202
HTTP-Status bei angenommener Suche; das Ergebnis wird per Polling abgeholt
EU
Gehostet in Finnland; ruhende Daten bleiben in der EU
FAQ zur API-Integration
Wie authentifiziere ich API-Anfragen?
Authentifizieren Sie API-Anfragen mit einem geheimen Schlüssel im X-API-Key-Header. Schlüssel erstellen Sie in Ihrem Dashboard mit gezielt eingegrenzten Berechtigungen.
Ist die API synchron oder asynchron?
Asynchron. Sie senden eine Anfrage, erhalten eine Job-ID und rufen die Ergebnisse per Polling ab. Ihre Pipeline wird nie blockiert.
Welches Antwortformat liefert die API?
Strukturiertes JSON mit Feldern für zentrale Jurisdiktionen und Arrays pro Quelle sowie Fahndungslisten- und PEP/RCA-Befunden. Prüfen Sie verfügbaren Markdown, Identifikatoren und Quellenverweise. Die Antwort enthält keinen numerischen Risikoscore.
Welche Rate-Limits gelten?
Sie werden je Tarifstufe und pro API-Schlüssel vergeben. Die Antwort-Header enthalten das verbleibende Kontingent und den Reset-Zeitstempel.
Kann ich Entitäten per API im Batch prüfen?
Ja. Der Batch-Endpoint akzeptiert CSV- oder XLSX-Dateien mit bis zu 100 Zeilen pro Anfrage; die Ergebnisse rufen Sie pro Zeile oder als vollständigen Export ab.
Wie richte ich laufendes Monitoring per API ein?
Konfigurieren Sie das Monitoring nach dem ersten Screening. Sobald Listen aktualisiert werden oder neue Adverse Media auftauchen, markiert das Monitoring die Änderung und benachrichtigt Sie in der App.
Welche Compliance-Daten enthält jedes Screening-Ergebnis?
Sanktionstreffer über jede wichtige Quelle, PEP-Status samt Familienverbindungen, Adverse Media mit mehrsprachigen Quellenangaben, UBO-Daten, Risikoklasse und ein revisionssicheres Nachweispaket zum Prüfzeitpunkt.
Wie lange dauert ein Screening?
Eine Standard-Sanktionsprüfung: Sekunden. Eine Tiefenrecherche mit Adverse Media und Abbildung der Eigentümerstruktur: unter zwei Minuten.
API-Terminologie
- REST-API
- Web-API auf Basis der Standard-HTTP-Methoden — kompatibel mit jeder Sprache und jedem Framework, das HTTP-Anfragen stellen kann.
- Asynchrone Verarbeitung
- Die API nimmt einen Auftrag sofort an und verarbeitet ihn im Hintergrund — Ergebnisse rufen Sie per Polling ab.
- API-Schlüssel
- Geheimes Token zur Authentifizierung von API-Anfragen, mit gezielten Berechtigungen nach dem Least-Privilege-Prinzip versehen.
- Rate-Limiting
- Begrenzt die Zahl der API-Anfragen pro Zeitfenster je nach Tarifstufe — verbleibendes Kontingent und Reset-Zeitstempel stehen in den Antwort-Headern.
- Strukturierte Antwort
- Maschinenlesbares JSON mit einheitlichen Feldnamen und Typen — ermöglicht automatisches Parsen und Entscheidungslogik.
REST-API für AML-Screening
Binden Sie Sanktions-, PEP-, Fahndungslisten-, Adverse-Media- und KYB/UBO-Screening direkt in Ihre Onboarding-, Monitoring- und Transaktionsabläufe ein. Die API ist live: Authentifizieren Sie sich mit einem API-Schlüssel und nutzen Sie dieselbe Screening-Engine wie das Portal.
Die Endpoints sind allgemein verfügbar — mit API-Key-Authentifizierung und Rate-Limits je Tarifstufe. Erkunden Sie jeden Endpoint in der interaktiven OpenAPI-Dokumentation unter /api/v1/docs.
Schnellstart
1. API-Schlüssel erstellen
Erstellen Sie im Dashboard einen API-Schlüssel mit eingegrenztem Berechtigungsumfang oder generieren Sie ihn programmatisch mit Ihrem Konto-Bearer-Token für Server-zu-Server-Anfragen.
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. Erste Suche ausführen
Übergeben Sie eine Entität im X-API-Key-Header. Die API gibt eine Such-ID zurück, die Sie nach Abschluss der Verarbeitung abrufen.
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. Batch übermitteln
Senden Sie eine CSV-/XLSX-Datei, um viele Entitäten in einem Auftrag zu prüfen, und rufen Sie Zeilen oder Exporte ab, sobald der Batch abgeschlossen ist.
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/searchErstellt eine Screening-Anfrage für eine Entität. Gibt eine Such-ID und den Verarbeitungsstatus zurück. Konto-, Abdeckungs- und Health-Endpoints sind ebenfalls unter /api/v1 verfügbar.
Auth: X-API-Key (search:write)
- POST
/api/v1/batchNimmt CSV-/XLSX-Dateien für hochvolumiges Screening entgegen; Zeilen oder Exporte rufen Sie ab, sobald die Aufträge abgeschlossen sind.
Auth: X-API-Key (batch:write)
- POST
/api/v1/keysErstellt und verwaltet API-Zugangsdaten mit eingegrenzten Berechtigungen, Rate-Limits je Tarifstufe und Nutzungsverfolgung.
Auth: Bearer-Token (Konto)
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.
Warum Teams die API nutzen
- Eine einzige Integration für Sanktions-, PEP-, Fahndungslisten-, Adverse-Media- und KYB/UBO-Screening
- API-Key-Authentifizierung über den X-API-Key-Header, mit berechtigungsbeschränkten Schlüsseln für Zugriff nach dem Least-Privilege-Prinzip
- Rate-Limits je Tarifstufe mit Nutzungsprotokollierung für Governance und Kostenkontrolle
- Such-, Batch-, Keys-, Konto-, Abdeckungs- und Health-Endpoints unter /api/v1
- Interaktive OpenAPI-Dokumentation unter /api/v1/docs sowie ein maschinenlesbares OpenAPI-Schema
- Strukturierte Ausgabe, geeignet für Prüfprotokolle, Fallakten und nachgelagerte Entscheidungen
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
Wie authentifiziere ich API-Anfragen?
Screening-Anfragen an /api/v1/search und /api/v1/batch authentifizieren Sie über einen API-Schlüssel im X-API-Key-Header. Erstellen Sie Schlüssel im Dashboard oder programmatisch über /api/v1/keys, nachdem Sie sich mit Ihrem Konto-Bearer-Token authentifiziert haben.
Ist die API allgemein verfügbar?
Ja. API v1 ist live und allgemein verfügbar. Authentifizieren Sie sich mit einem API-Schlüssel, rufen Sie die Such-, Batch- und Key-Management-Endpoints auf und erkunden Sie alles in der interaktiven OpenAPI-Dokumentation unter /api/v1/docs.
Kann ich die Berechtigungen eines API-Schlüssels eingrenzen?
Ja. Schlüssel unterstützen Berechtigungen wie search:read, search:write, batch:read und batch:write, sodass Sie pro Integration Zugriff nach dem Least-Privilege-Prinzip durchsetzen.
Welche Rate-Limits gelten?
Rate-Limits werden je API-Stufe vergeben und pro API-Schlüssel durchgesetzt — die Stufe bestimmt den Anfrage-Durchsatz, nicht die Abrechnung. Die Antwort-Header enthalten das Limit, das verbleibende Kontingent und die Reset-Zeitstempel, sodass Sie sauber drosseln können.
Wo kann ich die Endpoints schnell testen?
Nutzen Sie die interaktive Dokumentation unter /api/v1/docs für Swagger-Tests und /api/v1/redoc für die Referenzdokumentation. Das OpenAPI-Schema wird unter /api/v1/openapi.json bereitgestellt.
In wenigen Minuten startklar.
Tarif wählen und noch heute mit dem Screening beginnen.