Tinplate 42 Edge APIs

Compliance & Business Live on RapidAPI & Zyla POST /v1/sanctions-screener

Sanctions, Watchlist & Embargo Entity Screener API — Fuzzy KYB/AML Pre-Screening

Screen beneficiaries, vendors, BICs, and wallets against embargo rules and fuzzy sanctions watchlists. Screen company and individual names, countries, BIC/SWIFT codes, and crypto wallets against embargoed jurisdictions, sanctioned banks, and fuzzy Jaro-Winkler + token-set watchlist matching.

Try It Live in Your Browser · No API Key Required

1. Interactive Sandbox & Sample JSON Output

200 OK · Ready

Editable Request JSON (POST /v1/sanctions-screener)

Live 200 OK Response Envelope

{
  "ok": true,
  "data": {
    "clear": false,
    "verdict": "block",
    "risk_score": 100,
    "normalized_query": "vtb bank",
    "phonetic_key": "FTPPNK",
    "jurisdiction_risk": {
      "country_code": "RU",
      "level": "high_sanctioned",
      "flags": [
        "EU_SECTORAL_SANCTIONS",
        "OFAC_RUSSIA_SANCTIONS"
      ]
    },
    "total_matches": 1,
    "matches": [
      {
        "entry_id": "OFAC-SDN-VTB-001",
        "matched_name": "VTB Bank Public Joint Stock Company",
        "entity_type": "company",
        "lists": [
          "OFAC_SDN",
          "EU_FSF",
          "UK_OFSI"
        ],
        "match_method": "exact_identifier",
        "similarity_score": 1,
        "program": "RUSSIA-EO14024 / EU Regulation 833/2014"
      }
    ]
  },
  "meta": {
    "request_id": "req_sanc_01",
    "ms": 1
  }
}

2. Quickstart Code Examples

Full TypeScript & Python SDK →
curl -X POST "https://api.tinplate.dev/v1/sanctions-screener" \
  -H "Content-Type: application/json" \
  -H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
  -d '{"entity_name":"VTB Bank PJSC","entity_type":"company","country_code":"RU","identifiers":{"bic":"VTBRRUMM"},"similarity_threshold":0.84}'
import { TinplateClient } from "@tinplate/sdk"; // npm install @tinplate/sdk

const tinplate = new TinplateClient({
  rapidApiKey: process.env.RAPIDAPI_KEY!,
});

const { data, meta } = await tinplate.call("/v1/sanctions-screener", {
  "entity_name": "VTB Bank PJSC",
  "entity_type": "company",
  "country_code": "RU",
  "identifiers": {
    "bic": "VTBRRUMM"
  },
  "similarity_threshold": 0.84
});
console.log(`[${meta.ms} ms]`, data);
import requests

response = requests.post(
    "https://api.tinplate.dev/v1/sanctions-screener",
    headers={
        "Content-Type": "application/json",
        "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    },
    json={
  "entity_name": "VTB Bank PJSC",
  "entity_type": "company",
  "country_code": "RU",
  "identifiers": {
    "bic": "VTBRRUMM"
  },
  "similarity_threshold": 0.84
}
)
print(response.json())
const response = await fetch("https://api.tinplate.dev/v1/sanctions-screener", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
  },
  body: JSON.stringify({
  "entity_name": "VTB Bank PJSC",
  "entity_type": "company",
  "country_code": "RU",
  "identifiers": {
    "bic": "VTBRRUMM"
  },
  "similarity_threshold": 0.84
}),
});
const result = await response.json();
console.log(result);
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "tinplate_sanctions_screener",
    "arguments": {
      "entity_name": "VTB Bank PJSC",
      "entity_type": "company",
      "country_code": "RU",
      "identifiers": {
        "bic": "VTBRRUMM"
      },
      "similarity_threshold": 0.84
    }
  }
}
OpenAPI 3.0.3 Schema Contract

Request Parameters & Response Schema Reference

Request Body Parameters (POST /v1/sanctions-screener)

Parameter Type & Constraints Description
entity_namerequired string
minLen: 2, maxLen: 512
Company, organization, vessel, or individual name to screen.
entity_typeoptional "any" | "company" | "individual" | "vessel"
default: "any"
Field 'entity_type'
country_codeoptional string
minLen: 2, maxLen: 2
Optional 2-letter ISO country code to evaluate jurisdiction embargo and FATF risk.
identifiersoptional object Optional structured financial or corporate identifiers for exact watchlist matching.
custom_watchlistoptional object[] Optional caller-provided watchlist entries to fuzzy-screen alongside built-in EU/OFAC/UN/UK designations.
similarity_thresholdoptional number
min: 0.5, max: 1, default: 0.84
Minimum normalized Jaro-Winkler / phonetic similarity score (0.50..1.00) to report a name match.

Response data Object Fields (200 OK)

Field Type Description
clear boolean Field 'clear'
verdict "clear" | "review" | "block" Field 'verdict'
risk_score number Field 'risk_score'
normalized_query string Field 'normalized_query'
phonetic_key string Field 'phonetic_key'
jurisdiction_risk object Field 'jurisdiction_risk'
total_matches integer Field 'total_matches'
matches object[] Field 'matches'

3. What Sanctions, Watchlist & Embargo Entity Screener API Detects & Validates

Honest Engineering Boundaries

4. Known Limitations & Test Verification

Release Version: v1.0.7 · Last Verified / Benchmarked: 14 November 2026 · Latency Note: Sub-millisecond figures measure in-Worker V8 compute time (typical client HTTPS network RTT to the nearest Cloudflare PoP is 15–65 ms) · See Full Portfolio Benchmarks & Corpora →

5. Marketplace Plans & Payload Quotas

Plan Monthly Price Included Requests Rate Limit Max Request Payload Best For
BASIC $0.00 / month 500 / month (hard limit) 10 req / min 64 KB Evaluation, local development & CI smoke tests
PRO $9.99 / month 15,000 / month 60 req / min 128 KB Solo developers & production apps
ULTRA $29.99 / month 100,000 / month 300 req / min 256 KB Growing SaaS & multi-agent pipelines
MEGA $79.99 / month 500,000 / month 1,000 req / min 256 KB High-volume enterprise workloads

6. Frequently Asked Questions

Can I pass my own internal watchlist or high-risk vendor list?

Yes—pass up to 500 entries in custom_watchlist and the engine applies the same legal-suffix stripping and Jaro-Winkler + token-subset matching.

Why does legal suffix stripping matter for KYB screening?

Standard string distance fails when 'Rosneft Oil Company PJSC' is compared against 'Rosneft'. Stripping corporate suffixes prevents trivial evasion.

Zero Payload Logging

7. Data Handling, Privacy & Marketplace Proxy Disclosure

Screened entity names and identifiers are evaluated in memory and never logged or retained.

Worker Zero-Logging Guarantee: Cloudflare Workers Observability and invocation logging are disabled in configuration (observability.enabled = false, head_sampling_rate = 0, invocation_logs = false). Payloads are processed strictly in volatile V8 memory and never logged or stored by Tinplate.

Marketplace Proxies vs. Direct Bearer Key: Requests sent via RapidAPI or Zyla API Hub pass through those marketplaces' proxy infrastructure (subject to their respective privacy policies). Security-sensitive workloads requiring end-to-end zero-intermediary processing can connect directly to https://api.tinplate.dev using a Direct Bearer Key (Authorization: Bearer <API_KEY>). Read our full Privacy Notice and OpenAPI 3.0.3 JSON Schema.

Related Tinplate APIs

🏦 POST /v1/eu-vat-iban/iban Live on Hub

EU VAT & IBAN/BIC Validator API

Validate IBANs, BIC/SWIFT codes, and EU/UK VAT numbers with live EU VIES lookup.

🏛️ POST /v1/eu-id-validator Tier 1

European Corporate Tax, LEI, EORI & National ID Validator API

Validate LEI, EORI, SIREN/SIRET, Steuer-ID, Codice Fiscale, NIF/CIF, NIP, BSN, CRN & EIN checksums.

🇭🇺 POST /v1/hu-business-validator Compliance & Business

Hungarian Business Document & NAV Validator API

Validate Hungarian adószám, cégjegyzékszám, GIRO bank accounts, and NAV invoice rules.