API dla deweloperów

    Wbuduj screening compliance w dowolny workflow

    Twój pipeline onboardingowy, bramka płatnicza i CRM już codziennie podejmują decyzje dotyczące ryzyka. API ScreenVeritAI pozwala wbudować screening sankcyjny, weryfikację PEP, analizę negatywnych doniesień medialnych i mapowanie UBO bezpośrednio w te procesy — bez ręcznych wyszukiwań, bez kopiowania, bez luk compliance między systemami. Jedno wywołanie API uruchamia tego samego agenta AI, który napędza naszą platformę, a ustrukturyzowany JSON wraca gotowy dla Twojego silnika decyzyjnego.

    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

    Budować czy kupić

    Budować czy kupić
    AspektBudowa wewnętrznaAPI ScreenVeritAI
    Czas do produkcji6–12 miesięcy na pozyskanie list, budowę logiki dopasowywania i obsługę przypadków brzegowychDni na integrację; gotowe do produkcji od pierwszego wywołania API
    Pokrycie list sankcyjnychRęczne pozyskiwanie każdego formatu listy; ciągła konserwacja przy zmianach schematówKażde główne źródło, utrzymywane i aktualizowane na bieżąco
    Dokładność dopasowaniaWłasne dopasowanie rozmyte wymaga ekspertyzy NLP i ciągłego dostrajaniaAgent AI z dopasowaniem rozmytym, transliteracją, rozwiązywaniem aliasów i algorytmami fonetycznymi
    PEP i negatywne doniesienia medialneOsobni dostawcy danych, osobne integracje, osobne budżetyPEP, negatywne doniesienia medialne i dane UBO zawarte w tej samej odpowiedzi API
    Bieżąca konserwacjaDedykowany zespół inżynieryjny do aktualizacji list, zmian schematów i strojenia fałszywych pozytywówW pełni zarządzane — aktualizacje list, ulepszenia modeli i infrastruktura obsługiwane za Ciebie
    Ścieżka audytuBudowa własnego logowania, generowania dowodów i infrastruktury przechowywaniaPakiety dowodowe z datą i godziną z referencjami źródłowymi i uzasadnieniem decyzji w zestawie

    Cztery kroki do produkcji

    1. Uzyskaj klucz API

      Utwórz klucz API z ograniczonymi uprawnieniami z poziomu panelu ScreenVeritAI. Przypisz uprawnienia — search:read, search:write, batch:read, batch:write — dla dostępu z minimalnym zakresem uprawnień.

    2. Zintegruj endpoint

      Dodaj pojedyncze wywołanie POST do procesu onboardingu, płatności lub CRM. Wyślij nazwę podmiotu, typ i kraj. API zwraca ID zadania do asynchronicznego pobierania wyników.

    3. Przetwórz wyniki

      Odpytuj endpoint wyników o ustrukturyzowany JSON — kontekst firmy, struktura właścicielska, PEP, negatywne doniesienia medialne, sygnały sankcyjne i oceny ryzyka.

    4. Monitoruj i alertuj

      Skonfiguruj bieżący monitoring dla zweryfikowanych podmiotów. Gdy listy sankcyjne zostaną zaktualizowane lub pojawią się nowe negatywne doniesienia medialne, API wysyła alerty, aby Twój system mógł automatycznie uruchomić ponowną weryfikację.

    Zacznij w kilka minut

    Jedno wywołanie API zwraca pełny wynik screeningu.

    Zweryfikuj podmiotbash
    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 }
    Sprawdź wynikbash
    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 }

    Wydajność API

    • €0.39

      Quick Check za jedno sprawdzenie, bez opłaty za platformę

    • 202

      Status HTTP po przyjęciu wyszukiwania; wynik odpytujesz cyklicznie

    • EU

      Hosting w Finlandii; dane w spoczynku nie opuszczają UE

    FAQ — integracja API

    Jak uwierzytelniać żądania API?

    Wszystkie żądania API są uwierzytelniane kluczem API przekazywanym w nagłówku X-API-Key. Klucze tworzy się z poziomu panelu ScreenVeritAI z ograniczonymi uprawnieniami (search:read, search:write, batch:read, batch:write) wymuszającymi dostęp z minimalnym zakresem uprawnień.

    Czy API jest synchroniczne czy asynchroniczne?

    Asynchronicznie. Prześlij żądanie, otrzymaj ID zadania, wyniki pobieraj przez odpytywanie. Twój pipeline nigdy się nie blokuje.

    W jakim formacie API zwraca odpowiedzi?

    Ustrukturyzowany JSON z polami głównych jurysdykcji i tablicami wyników poszczególnych źródeł oraz ustaleniami z list poszukiwanych i PEP/RCA. Przejrzyj dostępny markdown, identyfikatory i źródła. Odpowiedź nie zawiera liczbowej oceny ryzyka.

    Jakie limity żądań obowiązują?

    Limity żądań są przypisywane według poziomu subskrypcji i egzekwowane per klucz API. Nagłówki odpowiedzi zawierają aktualny limit, pozostałą liczbę żądań i czas resetu. Jeśli potrzebujesz wyższej przepustowości do przetwarzania masowego, endpoint wsadowy akceptuje przesyłanie plików CSV/XLSX do screeningu dużych wolumenów.

    Czy mogę weryfikować podmioty wsadowo przez API?

    Tak. Endpoint wsadowy akceptuje pliki CSV lub XLSX z maksymalnie 100 wierszami na żądanie. Każdy wiersz jest przetwarzany jako indywidualny screening, a wyniki można pobierać per wiersz lub jako kompletny eksport po zakończeniu zadania.

    Jak skonfigurować bieżący monitoring przez API?

    Skonfiguruj monitoring po wstępnym screeningu. Gdy listy zostaną zaktualizowane lub pojawią się nowe negatywne doniesienia medialne, monitoring oznacza zmianę i powiadamia Cię w aplikacji.

    Jakie dane compliance zawiera każdy wynik screeningu?

    Każdy wynik zawiera trafienia sankcyjne w każdym głównym źródle, status PEP z powiązaniami rodzinnymi i współpracownikami, trafienia negatywnych doniesień medialnych z wielojęzycznymi cytowaniami źródeł, dane własności UBO, klasyfikację poziomu ryzyka i pakiet dowodowy z datą i godziną odpowiedni do audytu i przeglądu regulacyjnego.

    Jak długo trwa screening?

    Standardowa weryfikacja sankcyjna zazwyczaj kończy się w sekundach. Pogłębiony screening — obejmujący analizę negatywnych doniesień medialnych i mapowanie własności — trwa średnio poniżej dwóch minut. Model asynchroniczny oznacza, że Twój system nigdy nie jest blokowany w oczekiwaniu na wyniki.

    Terminologia API

    REST API
    Architektura API webowego wykorzystująca standardowe metody HTTP (GET, POST, PUT, DELETE) do interakcji z zasobami. API ScreenVeritAI stosuje konwencje REST, dzięki czemu jest kompatybilne z dowolnym językiem programowania lub frameworkiem zdolnym do wykonywania żądań HTTP.
    Przetwarzanie asynchroniczne
    API natychmiast przyjmuje zadanie i przetwarza je w tle — wyniki pobierasz przez odpytywanie.
    Klucz API
    Tajny token używany do uwierzytelniania żądań API między serwerami. Klucze API ScreenVeritAI mają określone uprawnienia (search:read, search:write, batch:read, batch:write) wymuszające wzorce dostępu z minimalnym zakresem uprawnień.
    Ograniczenie liczby żądań (rate limiting)
    Mechanizm ograniczający liczbę żądań API, które klient może wykonać w określonym oknie czasowym. Limity są przypisywane według poziomu subskrypcji i komunikowane przez nagłówki odpowiedzi zawierające pozostały limit i czas resetu.
    Ustrukturyzowana odpowiedź
    Format odpowiedzi API czytelny maszynowo (JSON) ze spójnymi nazwami pól, typami i zagnieżdżeniem. Ustrukturyzowane odpowiedzi umożliwiają automatyczne parsowanie, logikę decyzyjną i generowanie ścieżki audytu bez ręcznej ekstrakcji danych.

    REST API do screeningu AML

    Wbuduj screening sankcyjny, PEP, list przestępczych, negatywnych mediów oraz KYB/UBO wprost w swoje procesy onboardingu, monitoringu i transakcji. API już działa: uwierzytelnij się kluczem API i wywołaj ten sam silnik screeningowy, z którego korzysta portal.

    Endpointy są ogólnodostępne, z uwierzytelnianiem kluczem API i limitami zapytań według poziomu. Poznaj każdy endpoint w interaktywnej dokumentacji OpenAPI pod adresem /api/v1/docs.

    Szybki start

    1. 1. Utwórz klucz API

      Utwórz klucz API o ograniczonym zakresie z poziomu panelu albo wygeneruj go programowo, używając tokenu bearer swojego konta, do żądań serwer-serwer.

      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. Uruchom pierwsze wyszukiwanie

      Prześlij podmiot z nagłówkiem X-API-Key. API zwraca identyfikator wyszukiwania, który pobierasz po zakończeniu przetwarzania.

      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. Wyślij zadanie wsadowe

      Prześlij plik CSV/XLSX, aby sprawdzić wiele podmiotów w jednym zadaniu, a po jego zakończeniu pobierz wiersze lub eksporty.

      POST/api/v1/batchcurl
      curl -X POST https://screenveritai.com/api/v1/batch \
        -H "X-API-Key: <YOUR_API_KEY>" \
        -F "file=@entities.csv"

    Kluczowe endpointy

    • POST/api/v1/search

      Tworzy żądanie screeningu dla jednego podmiotu. Zwraca identyfikator wyszukiwania i status przetwarzania. W ramach /api/v1 dostępne są także endpointy konta, zakresu danych i stanu usługi.

      Uwierzytelnianie: X-API-Key (search:write)

    • POST/api/v1/batch

      Przesyłaj pliki CSV/XLSX do screeningu na dużą skalę, a po zakończeniu zadań pobieraj wiersze lub eksporty.

      Uwierzytelnianie: X-API-Key (batch:write)

    • POST/api/v1/keys

      Twórz poświadczenia API i zarządzaj nimi — z uprawnieniami o ograniczonym zakresie, limitami zapytań zależnymi od poziomu i śledzeniem zużycia.

      Uwierzytelnianie: token Bearer (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.

    Dlaczego zespoły korzystają z API

    • Jedna integracja dla screeningu sankcyjnego, PEP, list przestępczych, negatywnych mediów oraz KYB/UBO
    • Uwierzytelnianie kluczem API przez nagłówek X-API-Key, z kluczami o ograniczonym zakresie dla dostępu na zasadzie minimalnych uprawnień
    • Limity zapytań według poziomu z logowaniem zużycia na potrzeby nadzoru i kontroli kosztów
    • Endpointy wyszukiwania, wsadowe, kluczy, konta, zakresu danych i stanu usługi w ramach /api/v1
    • Interaktywna dokumentacja OpenAPI pod /api/v1/docs oraz maszynowo czytelny schemat OpenAPI
    • Ustrukturyzowany wynik odpowiedni do logów audytowych, akt spraw i dalszych decyzji

    Integration playbooks

    FAQ o API

    Jak uwierzytelniać żądania API?

    Żądania screeningu do /api/v1/search i /api/v1/batch uwierzytelniasz kluczem API przesyłanym w nagłówku X-API-Key. Klucze twórz w panelu albo programowo przez /api/v1/keys, po uwierzytelnieniu się tokenem bearer swojego konta.

    Czy API jest ogólnodostępne?

    Tak. API v1 działa i jest ogólnodostępne. Uwierzytelnij się kluczem API, wywołuj endpointy wyszukiwania, wsadowe i zarządzania kluczami, a wszystko poznasz w interaktywnej dokumentacji OpenAPI pod /api/v1/docs.

    Czy mogę ograniczyć zakres uprawnień klucza API?

    Tak. Klucze obsługują uprawnienia takie jak search:read, search:write, batch:read i batch:write, dzięki czemu wymusisz dostęp na zasadzie minimalnych uprawnień dla każdej integracji.

    Jakie limity zapytań obowiązują?

    Limity zapytań są przypisywane według poziomu API i egzekwowane na klucz API — poziom określa przepustowość żądań, a nie rozliczenia. Nagłówki odpowiedzi zawierają limit, pozostały przydział i znaczniki czasu resetu, dzięki czemu możesz płynnie ograniczyć tempo żądań.

    Gdzie mogę szybko przetestować endpointy?

    Skorzystaj z interaktywnej dokumentacji pod /api/v1/docs do testów w Swaggerze oraz /api/v1/redoc dla dokumentacji w stylu referencyjnym. Schemat OpenAPI jest udostępniany pod /api/v1/openapi.json.

    Zacznij screening w kilka minut.

    Wybierz plan i zacznij sprawdzać już dziś.