Discover/Treas API
live

Treas APIsanctionssearch.ofac.treas.gov

Search OFAC SDN and consolidated non-SDN sanctions lists by name or ID. Retrieve entity details, aliases, addresses, and identification documents for KYC screening.

This API takes change requests — .
Endpoint health
monitored
get_entity_details
search_sanctions
Checks pendingself-healing
Endpoints
2
Updated
2h ago

What is the Treas API?

This API exposes 2 endpoints against the US Treasury OFAC sanctions database, covering both the Specially Designated Nationals (SDN) list and consolidated non-SDN lists. Use search_sanctions to run fuzzy-matched queries by name, ID number, country, program code, or address, then call get_entity_details with the returned entity ID to pull full records including aliases, identification documents, nationalities, and remarks for KYC and compliance workflows.

This call costs2 credits / call— charged only on success
Try it
Filter by city name.
Filter by list type. Omitted returns results from all lists.
Name to search for (person, entity, or vessel name). At least one of name or id_number must be provided.
Filter by entity type. Omitted returns all types.
Filter by state abbreviation or province name.
Filter by street address.
Filter by country name as listed on the OFAC site (e.g. 'Russia', 'Iran', 'China'). Omitted returns all countries.
Filter by sanctions program code (e.g. 'RUSSIA-EO14024', 'IRAN', 'SDGT'). The site supports many program codes; omitted returns all programs.
ID number or digital currency address to search for. At least one of name or id_number must be provided.
Minimum fuzzy match score (0-100). Lower values return more approximate matches.
api.parse.bot/scraper/75ff35f9-bc2f-451f-a305-adda7948e13d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/75ff35f9-bc2f-451f-a305-adda7948e13d/search_sanctions?name=vladimir+putin&type=Individual&min_score=80' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace sanctionssearch-ofac-treas-gov-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: OFAC Sanctions Search — screen a name and drill into entity details."""
from parse_apis.sanctionssearch_ofac_treas_gov_api import (
    OFACSanctions, EntityType, EntityNotFound,
)

client = OFACSanctions()

# Search for individuals matching a name, with a relaxed fuzzy threshold.
for hit in client.entity_summaries.search(
    name="vladimir putin", type=EntityType.INDIVIDUAL, min_score=90, limit=5
):
    print(hit.name, hit.score, hit.programs, hit.list)

# Drill into the top match's full record via the summary→detail navigation.
top = client.entity_summaries.search(name="rosneft", min_score=90, limit=1).first()
if top is not None:
    entity = top.details()
    print(entity.details.last_name, entity.details.first_name)
    print("DOB:", entity.details.date_of_birth)
    print("Program:", entity.details.program)

    for alias in entity.aliases:
        print("  alias:", alias.name, f"({alias.category})")

    for addr in entity.addresses:
        print("  address:", addr.address, addr.city, addr.country)

    # Point lookup by the same entity_id discovered above.
    try:
        refreshed = client.entities.get(entity_id=entity.entity_id)
        print("Refreshed:", refreshed.details.last_name)
    except EntityNotFound:
        print("Entity no longer on the sanctions list")

print("exercised: entity_summaries.search / details / entities.get")
All endpoints · 2 totalmissing one? ·

Search the OFAC sanctions list by name or ID number with optional filters for entity type, program, country, list, address, city, and state. Returns fuzzy-matched results above the specified minimum name score threshold. Each result includes the matched name variant, entity type, sanctioning program(s), list membership, and match score. The same entity may appear multiple times with different name variants (aliases), each sharing the same entity_id. Makes two round trips: one to fetch the form state and one to submit the search. Results are not paginated; OFAC returns all matches in a single response.

Input
ParamTypeDescription
citystringFilter by city name.
liststringFilter by list type. Omitted returns results from all lists.
namestringName to search for (person, entity, or vessel name). At least one of name or id_number must be provided.
typestringFilter by entity type. Omitted returns all types.
statestringFilter by state abbreviation or province name.
addressstringFilter by street address.
countrystringFilter by country name as listed on the OFAC site (e.g. 'Russia', 'Iran', 'China'). Omitted returns all countries.
programstringFilter by sanctions program code (e.g. 'RUSSIA-EO14024', 'IRAN', 'SDGT'). The site supports many program codes; omitted returns all programs.
id_numberstringID number or digital currency address to search for. At least one of name or id_number must be provided.
min_scoreintegerMinimum fuzzy match score (0-100). Lower values return more approximate matches.
Response
{
  "type": "object",
  "fields": {
    "results": "Array of matching sanctions entries, each with entity_id, name, address, type, programs, list, and score",
    "total_found": "Total number of matches found by OFAC"
  },
  "sample": {
    "data": {
      "results": [
        {
          "list": "SDN",
          "name": "John Doe",
          "type": "Individual",
          "score": 100,
          "address": "123 Main St, Springfield, IL 62704",
          "programs": "RUSSIA-EO14024",
          "entity_id": "35096"
        },
        {
          "list": "SDN",
          "name": "Jane Doe",
          "type": "Individual",
          "score": 90,
          "address": "123 Main St, Springfield, IL 62704",
          "programs": "TCO",
          "entity_id": "23229"
        }
      ],
      "total_found": 14
    },
    "status": "success"
  }
}

About the Treas API

Searching the OFAC Sanctions Database

The search_sanctions endpoint accepts a name or id_number as the primary search term and returns an array of matching entries with fuzzy scoring. Each result includes entity_id, name, address, type, programs, list, and a score indicating match quality. You can narrow results using optional filters: country (e.g. Russia, Iran), program (e.g. RUSSIA-EO14024, SDGT, IRAN), type for entity classification, and geographic filters city, state, and address. The total_found field reports the total match count from OFAC regardless of how many entries are returned in the current response.

Retrieving Full Entity Records

Once you have an entity_id from search results, get_entity_details returns a structured record in a single call. The details object includes type, last_name, first_name, title, date_of_birth, place_of_birth, list, program, nationality, citizenship, and remark. The aliases array provides each known name variant with a type, category (strong or weak), and the alias name itself. The identifications array lists known documents with type, id_number, country, issue_date, and expire_date. The addresses array covers all known locations with address, city, state_province, postal_code, and country.

Coverage and List Scope

The API covers the two main OFAC screening surfaces: the SDN list and the consolidated non-SDN lists. The list parameter in search_sanctions lets you restrict queries to one of these sources. Program codes on OFAC span dozens of sanctions regimes — passing a specific program code like IRAN or SDGT narrows results to entities designated under that regime. Scores are fuzzy-match thresholds, so you can tune sensitivity to reduce false positives in automated screening pipelines.

Reliability & maintenance

The Treas API is a managed, monitored endpoint for sanctionssearch.ofac.treas.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sanctionssearch.ofac.treas.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official sanctionssearch.ofac.treas.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • KYC screening of customers or counterparties against OFAC SDN and non-SDN lists before onboarding
  • Automated transaction monitoring that flags payments to entities matching known aliases or ID numbers
  • Compliance dashboards that surface entity nationality, citizenship, and program details for review workflows
  • Sanctions research on a specific program (e.g. RUSSIA-EO14024) to enumerate all designated entities and addresses
  • Document verification pipelines that cross-reference passport or national ID numbers against the identifications array
  • Vessel or aircraft name checks using the name search with type filtering for maritime or aviation compliance
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does OFAC publish an official developer API for sanctions search?+
OFAC publishes downloadable SDN and consolidated list files in XML, CSV, and fixed-width formats at https://ofac.treas.gov/ofac-sanctions-list-service. It also offers a basic name-check web service, but the data structure and query flexibility differ from what this API exposes.
What does the score field in search_sanctions results represent?+
The score reflects how closely a result's name matches the query string under fuzzy matching. Higher scores indicate stronger name similarity. You can use this to filter results in your application — for example, surfacing only results above a threshold like 85 to reduce false positives in automated screening.
Does search_sanctions return results from both the SDN list and consolidated non-SDN lists by default?+
Yes. When the list parameter is omitted, the endpoint queries across all available lists. You can restrict to a specific list by passing the list parameter with the relevant list type identifier.
Does the API return historical or delisted entities, or enforcement actions and penalties?+
Not currently. The API covers entities currently present on the OFAC sanctions lists, including their aliases, addresses, and identification documents. Historical delisting records and OFAC civil penalty data are not included. You can fork this API on Parse and revise it to add an endpoint targeting that data.
Are there pagination controls for large result sets from search_sanctions?+
The total_found field indicates the full count of matches OFAC found, but the current endpoint does not expose explicit pagination parameters like page number or offset. If your query returns a high match count, applying additional filters such as country, program, or type is the practical way to reduce and segment results.
Page content last updated . Spec covers 2 endpoints from sanctionssearch.ofac.treas.gov.
Related APIs in Government PublicSee all →
offshoreleaks.icij.org API
Search for entities, individuals, and their financial connections across major offshore leak investigations including the Panama Papers and Pandora Papers. Explore detailed relationship graphs, browse officer records, and analyze bulk datasets to uncover offshore financial activities and networks.
apps.dos.ny.gov API
Access data from apps.dos.ny.gov.
file.dos.pa.gov API
Access data from file.dos.pa.gov.
fbi.gov API
Search and retrieve profiles of individuals listed on the FBI's Most Wanted pages, including charges, physical descriptions, aliases, reward amounts, and photographs. Browse by category, search by name, or look up a specific person by ID.
arc-sos.state.al.us API
Search and retrieve detailed information about Alabama business entities, including their registration status, agents, officers, and incorporators. Verify if a business exists and look up specific company details by name or associated contacts.
usaspending.gov API
Access data from usaspending.gov.
businesssearch.ohiosos.gov API
Search for registered businesses in Ohio and retrieve detailed information like entity names, registration status, and corporate details from the Ohio Secretary of State's office. Quickly look up company information to verify business registrations or find details about Ohio-based entities.
violationtracker.goodjobsfirst.org API
Search corporate violations and regulatory penalties across companies, industries, and agencies to research misconduct records and enforcement actions. Get detailed information about specific violations, parent company compliance histories, and regulatory agency enforcement patterns.