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.

    POST/api/v1/searchbash
    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 matching
    • entity_type"person", "company" or "any" (default "any")
    • countryOptional context field; does not filter Quick Check matching
    • search_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.

    GET/api/v1/search/{search_id}200 OK
    {
      "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"
    }
    No relevant listing found / nullSanctioned / potential matchPer-source hit_countStatus and search_type
    • "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
    Requestbash
    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"}'
    Response202 Accepted
    { "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
    Requestbash
    curl https://screenveritai.com/api/v1/search/SEARCH_ID \
      -H 'X-API-Key: YOUR_API_KEY'
    Response200 OK
    { "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
    Requestbash
    curl -X POST https://screenveritai.com/api/v1/batch \
      -H 'X-API-Key: YOUR_API_KEY' \
      -F 'file=@portfolio.csv'
    Response202 Accepted
    { "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

      1. Customer signup
      2. POST/api/v1/search
      3. Poll until completed
      4. Approve / hold
    • Payment processing

      1. Transaction init
      2. POST/api/v1/search
      3. Poll until completed
      4. Release / hold
    • CRM re-screen

      1. Record updated
      2. Your scheduler fires
      3. POST/api/v1/search
      4. Write result back

    Développer en interne vs intégrer ScreenVeritAI

    Développer en interne vs intégrer ScreenVeritAI
    AspectDéveloppement interneAPI ScreenVeritAI
    Délai de mise en production6 à 12 mois pour sourcer les listes, construire la correspondance et gérer les cas limitesQuelques jours d'intégration ; opérationnel dès le premier appel d'API
    Couverture des listes de sanctionsIngestion manuelle de chaque format de liste ; maintenance continue lors des changements de schémaChaque source majeure, maintenue et mise à jour en continu
    Précision de la correspondanceLa correspondance approximative sur mesure exige une expertise NLP et un réglage constantIA avec correspondance approximative, translittération, résolution d'alias et algorithmes phonétiques
    PPE et médias défavorablesFournisseurs de données séparés, intégrations séparées, budgets séparésPPE, 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 positifsEntièrement géré — mises à jour, améliorations et infrastructure prises en charge pour vous
    Piste d'auditConstruire votre propre infrastructure de journalisation, de preuves et de conservationDossiers de preuves horodatés avec références de sources inclus

    Quatre étapes vers la production

    1. 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.

    2. 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.

    3. 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.

    4. 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.

    Cribler une entitébash
    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 }
    Vérifier le résultatbash
    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. 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/keyscurl
      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. 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/searchcurl
      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. 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/batchcurl
      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/search

      Cré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/batch

      Soumettez 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/keys

      Cré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

    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.