API développeur
Pourquoi copier-coller des noms entre vos systèmes quand un seul appel d'API suffit ?
Votre pipeline d'entrée en relation, votre passerelle de paiement et votre CRM prennent déjà des décisions de risque chaque jour. L'API de ScreenVeritAI vous permet d'intégrer le criblage des sanctions, les contrôles PPE, l'analyse des médias défavorables et la cartographie de l'actionnariat directement dans ces processus — sans recherches manuelles, sans copier-coller, sans lacunes de conformité entre les systèmes. Un seul appel d'API déclenche le même moteur qui alimente notre plateforme, et un JSON structuré est renvoyé, prêt pour votre moteur de décision.
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
Développer en interne vs intégrer ScreenVeritAI
| Aspect | Développement interne | API ScreenVeritAI |
|---|---|---|
| Délai de mise en production | 6 à 12 mois pour sourcer les listes, construire la correspondance et gérer les cas limites | Quelques jours d'intégration ; opérationnel dès le premier appel d'API |
| Couverture des listes de sanctions | Ingestion manuelle de chaque format de liste ; maintenance continue lors des changements de schéma | Chaque source majeure, maintenue et mise à jour en continu |
| Précision de la correspondance | La correspondance approximative sur mesure exige une expertise NLP et un réglage constant | IA avec correspondance approximative, translittération, résolution d'alias et algorithmes phonétiques |
| PPE et médias défavorables | Fournisseurs de données séparés, intégrations séparées, budgets séparés | PPE, médias défavorables et données de bénéficiaires effectifs dans la même réponse d'API |
| Maintenance continue | Équipe dédiée aux mises à jour de listes, aux changements de schéma et au réglage des faux positifs | Entièrement géré — mises à jour, améliorations et infrastructure prises en charge pour vous |
| Piste d'audit | Construire votre propre infrastructure de journalisation, de preuves et de conservation | Dossiers de preuves horodatés avec références de sources inclus |
Quatre étapes vers la production
Obtenir votre clé d'API
Créez une clé d'API à portée définie depuis votre tableau de bord ScreenVeritAI. Attribuez les permissions — search:read, search:write, batch:read, batch:write — pour un accès à moindre privilège.
Intégrer l'endpoint
Ajoutez un seul appel POST à votre processus d'entrée en relation, de paiement ou CRM. Envoyez le nom de l'entité, le type et le pays. L'API renvoie un identifiant de tâche pour la récupération asynchrone des résultats.
Traiter les résultats
Interrogez l'endpoint de résultats pour obtenir du JSON structuré — contexte de l'entreprise, actionnariat, PPE, médias défavorables, signaux de sanctions et scores de risque.
Surveiller et alerter
Configurez la surveillance continue pour les entités criblées. Lorsque les listes de sanctions sont mises à jour ou que de nouveaux médias défavorables font surface, l'API envoie des alertes pour que votre système puisse déclencher un recriblage automatiquement.
Démarrez en quelques minutes
Un seul appel d'API renvoie un résultat de criblage complet.
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 }Performance de l'API
€0.39
Quick Check par appel, sans frais de plateforme
202
Statut HTTP lorsqu'une recherche est acceptée ; le résultat est ensuite interrogé
EU
Hébergé en Finlande ; les données au repos restent dans l'UE
FAQ — Intégration API
Comment authentifier les requêtes API ?
Toutes les requêtes API sont authentifiées à l'aide d'une clé d'API transmise dans l'en-tête X-API-Key. Les clés sont créées depuis votre tableau de bord ScreenVeritAI avec des permissions définies (search:read, search:write, batch:read, batch:write) pour appliquer un accès à moindre privilège.
L'API est-elle synchrone ou asynchrone ?
Asynchrone. Soumettez une demande, recevez un identifiant de tâche, récupérez les résultats par interrogation. Votre pipeline ne se bloque jamais.
Quel format de réponse l'API renvoie-t-elle ?
JSON structuré avec des champs pour les principales juridictions et des tableaux par source, ainsi que les constats des listes de recherche et PPE/RCA. Examinez le markdown, les identifiants et les sources disponibles. La réponse ne fournit pas de score de risque numérique.
Quelles limites de débit s'appliquent ?
Les limites de débit sont attribuées par palier d'abonnement et appliquées par clé d'API. Les en-têtes de réponse incluent votre limite actuelle, le quota restant et l'horodatage de réinitialisation. Si vous avez besoin d'un débit plus élevé pour le traitement en masse, l'endpoint de lots accepte des imports CSV/XLSX pour le criblage à haut volume.
Puis-je cribler des entités par lot via l'API ?
Oui. L'endpoint de lots accepte des fichiers CSV ou XLSX jusqu'à 100 lignes par requête. Chaque ligne est traitée comme un criblage individuel, et les résultats sont récupérables par ligne ou sous forme d'export complet téléchargeable lorsque la tâche est terminée.
Comment configurer la surveillance continue via l'API ?
Configurez la surveillance après le criblage initial. Lorsque les listes sont mises à jour ou que de nouveaux médias défavorables font surface, la surveillance signale le changement et vous alerte in-app.
Quelles données de conformité sont incluses dans chaque résultat de criblage ?
Chaque résultat inclut les correspondances de sanctions sur chaque source majeure, le statut PPE avec les connexions familiales et d'associés, les médias défavorables avec citations de sources multilingues, les données d'actionnariat (bénéficiaires effectifs), la classification par niveau de risque et un dossier de preuves horodaté adapté à l'audit et à l'examen réglementaire.
Combien de temps dure un criblage ?
Une vérification de sanctions standard se termine généralement en quelques secondes. Un criblage avec recherche approfondie — incluant l'analyse des médias défavorables et la cartographie de l'actionnariat — prend en moyenne moins de deux minutes. Le modèle asynchrone garantit que votre système n'est jamais bloqué en attendant les résultats.
Terminologie API
- API REST
- Une API web qui utilise les méthodes HTTP standard (GET, POST, PUT, DELETE) pour interagir avec les ressources. L'API de ScreenVeritAI suit les conventions REST, ce qui la rend compatible avec tout langage ou framework capable d'effectuer des requêtes HTTP.
- Traitement asynchrone
- L'API accepte la tâche immédiatement et la traite en arrière-plan — récupérez les résultats par interrogation.
- Clé d'API
- Un jeton secret utilisé pour authentifier les requêtes API serveur à serveur. Les clés d'API de ScreenVeritAI sont dotées de permissions spécifiques (search:read, search:write, batch:read, batch:write) pour appliquer des modèles d'accès à moindre privilège.
- Limite de débit
- Un mécanisme qui restreint le nombre de requêtes API qu'un client peut effectuer dans une fenêtre de temps donnée. Les limites de débit sont attribuées par palier d'abonnement et communiquées via les en-têtes de réponse incluant le quota restant et les horodatages de réinitialisation.
- Réponse structurée
- Un format de réponse API lisible par machine (JSON) avec des noms de champs, types et imbrications cohérents. Les réponses structurées permettent l'analyse automatisée, la logique de décision et la génération de pistes d'audit sans extraction manuelle de données.
API REST pour le criblage LCB-FT
Intégrez le criblage des sanctions, des PPE, des listes criminelles, des médias défavorables et KYB/UBO directement dans vos flux d'entrée en relation, de surveillance et de transaction. L'API est en production : authentifiez-vous avec une clé d'API et appelez le même moteur de criblage que celui du portail.
Les endpoints sont généralement disponibles avec authentification par clé d'API et limites de débit par palier. Explorez chaque endpoint dans la documentation OpenAPI interactive à /api/v1/docs.
Démarrage rapide
1. Créer une clé d'API
Créez une clé d'API à portée limitée depuis votre tableau de bord, ou générez-en une par programmation avec votre jeton bearer de compte pour des requêtes serveur à serveur.
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. Exécuter votre première recherche
Soumettez une entité avec l'en-tête X-API-Key. L'API renvoie un identifiant de recherche que vous récupérez une fois le traitement terminé.
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. Soumettre un lot
Envoyez un fichier CSV/XLSX pour cribler plusieurs entités en une seule tâche, puis récupérez les lignes ou exports une fois le lot terminé.
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 principaux
- POST
/api/v1/searchCrée une demande de criblage pour une entité. Renvoie un identifiant de recherche et un statut de traitement. Les endpoints de compte, de couverture et de santé sont également disponibles sous /api/v1.
Auth : X-API-Key (search:write)
- POST
/api/v1/batchSoumettez des fichiers CSV/XLSX pour un criblage à fort volume, puis récupérez les lignes ou exports une fois les tâches terminées.
Auth : X-API-Key (batch:write)
- POST
/api/v1/keysCréez et gérez des identifiants API avec permissions à portée limitée, limites de débit selon le palier, et suivi d'utilisation.
Auth : jeton Bearer (compte)
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.
Pourquoi les équipes utilisent l'API
- Une seule intégration pour le criblage des sanctions, des PPE, des listes criminelles, des médias défavorables et KYB/UBO
- Authentification par clé d'API via l'en-tête X-API-Key, avec clés à portée limitée pour un accès à moindre privilège
- Limites de débit par palier avec journalisation d'utilisation pour la gouvernance et la maîtrise des coûts
- Endpoints de recherche, de lots, de clés, de compte, de couverture et de santé sous /api/v1
- Documentation OpenAPI interactive à /api/v1/docs, plus un schéma OpenAPI lisible par machine
- Sortie structurée adaptée aux journaux d'audit, dossiers de cas et décisions en aval
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.
FAQ API
Comment authentifier les requêtes API ?
Les requêtes de criblage vers /api/v1/search et /api/v1/batch s'authentifient avec une clé d'API envoyée dans l'en-tête X-API-Key. Créez des clés depuis votre tableau de bord, ou par programmation via /api/v1/keys après authentification avec le jeton bearer de votre compte.
L'API est-elle généralement disponible ?
Oui. L'API v1 est en production et généralement disponible. Authentifiez-vous avec une clé d'API, appelez les endpoints de recherche, de lots et de gestion des clés, et explorez tout dans la documentation OpenAPI interactive à /api/v1/docs.
Puis-je limiter la portée des permissions de clé d'API ?
Oui. Les clés prennent en charge des permissions telles que search:read, search:write, batch:read et batch:write afin que vous puissiez appliquer un accès à moindre privilège par intégration.
Quelles limites de débit s'appliquent ?
Les limites de débit sont attribuées par palier d'API et appliquées par clé d'API — le palier détermine le débit des requêtes, pas la facturation. Les en-têtes de réponse incluent la limite, le quota restant et les horodatages de réinitialisation afin que vous puissiez ralentir proprement.
Où puis-je tester rapidement les endpoints ?
Utilisez la documentation interactive à /api/v1/docs pour des tests Swagger et /api/v1/redoc pour une documentation de référence. Le schéma OpenAPI est servi à /api/v1/openapi.json.
Commencez à cribler en quelques minutes.
Choisissez une formule et lancez votre premier criblage dès aujourd'hui.