Skip to main content
The Sanctions module checks whether a company’s tax identifier (RUT or CNPJ) appears on major international sanctions lists, including OFAC SDN and the UN Security Council Consolidated List.
Matching is identifier-first and exact only. If the RUT or CNPJ does not appear in a sanctions list, is_sanctioned returns false. No fuzzy name matching is performed — this eliminates false positives by design.

What it returns

For a given tax identifier, the API returns:
  • Whether the company appears on any sanctions list (is_sanctioned)
  • Full match details: list name, sanctioned entity name, programs, and matched ID value
  • Which lists were checked and when they were last updated

Supported lists

ListIssuerCoverage
SDN — Specially Designated NationalsOFAC (US Treasury)Global — primary list for LATAM entities
Consolidated Sanctions ListUN Security CouncilGlobal — Al-Qaida, Taliban, DPRK, and others
Lists are downloaded at server startup and refreshed every 24 hours automatically.

Supported countries

CountryIdentifierNotes
Chile 🇨🇱RUT (e.g. 76354771-K)Business entities only — personal RUTs blocked
Brazil 🇧🇷CNPJ (e.g. 12.345.678/0001-90)Business entities only — MEIs blocked

Request

POST /v1/sanctions
{
  "identifier": "76354771-K",
  "country": "CL"
}

Parameters

FieldTypeRequiredDescription
identifierstringCompany tax ID. RUT for Chile, CNPJ for Brazil. Formatting optional.
countrystringISO 3166-1 alpha-2 country code. Supported: CL, BR.

Response

{
  "identifier": "76354771-K",
  "country": "CL",
  "is_sanctioned": false,
  "matches": [],
  "lists_checked": ["OFAC_SDN", "UN_CONSOLIDATED"],
  "lists_updated_at": {
    "OFAC_SDN": "2026-04-14T08:00:00+00:00",
    "UN_CONSOLIDATED": "2026-04-14T08:00:05+00:00"
  },
  "checked_at": "2026-04-14T12:00:00+00:00"
}

Response fields

FieldTypeDescription
identifierstringThe queried tax identifier
countrystringCountry code
is_sanctionedbooleantrue only on exact identifier match
matchesarrayList of matches (empty if not sanctioned)
matches[].list_namestringOFAC_SDN or UN_CONSOLIDATED
matches[].entry_namestringName of the sanctioned entity as it appears in the list
matches[].programsarraySanctions programs (e.g. ["SDNTK"])
matches[].matched_id_typestringID type matched (e.g. "RUT", "CNPJ")
matches[].matched_id_valuestringOriginal identifier value from the list
matches[].uidstringList-specific unique entry ID
lists_checkedarrayNames of all lists checked
lists_updated_atobjectISO datetime of last refresh per list, or null if unavailable
checked_atstringISO datetime of this specific check

Matching logic

The API normalizes both the input identifier and the identifiers stored in the sanctions lists before comparing:
  1. Strips dots, hyphens, slashes, and spaces
  2. Uppercases the result
  3. Compares exactly
Example: 76.354.771-K, 76354771-K, and 76354771K all normalize to 76354771K and will match against each other.

Important disclaimer

A result of is_sanctioned: false means the identifier was not found in the checked lists. It does not constitute a comprehensive AML clearance. Your compliance program should define when and how to use this check as part of a broader due diligence process.

Data freshness

Lists are refreshed every 24 hours. The lists_updated_at field in every response shows the exact datetime of the last successful refresh per list. If a list failed to load (network issue), its value will be null — you should treat that list as unchecked.

Error responses

StatusDescription
422Invalid or malformed identifier
422Personal RUT or Brazilian MEI — not supported
422Country not supported
403Missing API key or module not in plan

Pricing

PlanPriceIncludes
Sanctions$49/month500 checks
Overage$0.10 per extra check
Pay-as-you-go$0.15 per check

API Reference

Full request/response schema with interactive examples.