The Sanctions Screening API tells you whether a name is on a US sanctions or export-control list
Send a person's, company's or vessel's name and get a verdict of clear, possible match or match from 12 US government lists, with the list, agency and programs of every match. 3 credits per completed screening.

3
Credits per screening
about $0.01 on Starter
12
US government lists in one call
Treasury, Commerce and State
Up to 10
Ranked matches per answer
strongest first, with aliases and addresses
0
Credits when the lists cannot be read
never answered as clear
Twelve US government lists are checked in every screening
The Treasury's sanctions lists, the Commerce Department's export-control lists and the State Department's lists are searched in one call, so a name does not have to be run through three agencies' tools.

A name comes back as a verdict with the list records behind it in one flat payload
One call checks a name against 12 US government lists
The Treasury's sanctions lists, the Commerce Department's export-control lists and the State Department's lists are searched together, from public government data that is republished every day and refreshed here every 6 hours.
- Six Treasury sanctions lists, among them the SDN list
- Four Commerce lists, among them the Entity List
- Two State Department lists
- The date of the last update on every answer
The answer is a verdict with a recommended action
A name comes back clear, as a possible match or as a match, with APPROVE, VERIFY or REVIEW as the recommended action. A strong match is never an approval, so a listed party does not pass as clear in an automated flow.
- outcome: clear, possible_match or match
- primary_action: APPROVE, VERIFY or REVIEW
- Counts of strong and possible matches
- The closest match, its list and its programs
Word order, legal forms and small misspellings do not hide a match
Smith, John is John Smith, Inc and LLC are set aside when other words remain, and a longer word still matches a spelling a letter or two off. A middle initial the list does not carry does not cost the match.
- Case, accents and word order ignored
- Legal forms such as Inc, LLC and GmbH set aside
- Near spellings of longer words matched
- Aliases searched as well as names
Every match carries what you need to confirm who it is
Up to ten matches come back strongest first, each with the matched name, the list and its agency, the programs, aliases, addresses, countries, any date and place of birth, and the date it was listed, so a reviewer can compare it with what the customer gave you.
- Up to ten matches, strongest first
- Up to eight aliases and the alias count
- Addresses, countries and dates of birth
- A link to the list and to the agency's page
A country ranks the matches and never hides one
Add a two-letter country and each match is marked country_match true or false, with matches from that country first. No match is ever removed because the country differs, so a listed party that gave you a different country still shows.
- country_match on every match
- Matches from your country first
- Nothing removed by a mismatch
- Optional, and left out when unknown
A screening that cannot run costs nothing and is never read as clear
Every completed screening bills 3 credits. A name that is refused, lists that cannot be read and a repeat by the same user within 24 hours cost 0, and a failed read is never reported as clear, in the API, the dashboard and bulk jobs.
- Zero credits when refused or unreadable
- Bulk CSV with a name column
- The same credits as every other product
- One API key for all of it
A name goes in and a verdict from 12 US lists comes out
Send a name
POST a person's, company's or vessel's name of 2 to 150 characters, with a two-letter country if you have one. A name that cannot be screened, such as an empty one or one with no Latin letters, is refused with a clear error and costs nothing.
$ POST /api/v1/sanctions-screening
"name": "Sample Trading Company"
"country": "XX"
We search the 12 lists
The name is reduced to its words, so word order, accents and legal forms do not matter, and a near spelling still matches. Every record on the Treasury, Commerce and State lists that shares a word is scored, and the best matches are ranked.
Name reduced to its words
12 US government lists searched
Near spellings and aliases scored
Matches ranked, strongest first
Get the verdict, flat and structured
The outcome, the recommended action and the matches arrive in one JSON payload. Every completed screening bills 3 credits, a clear one included, and a name that cannot be screened bills nothing.
outcomepossible_match
closestSAMPLE TRADING CO
listEntity List
One endpoint screens a name and works like every other 1Lookup call
Same authentication, same credit balance, and the same response envelope as every other 1Lookup product. If you have already integrated one endpoint, this one is a URL change.
curl -X POST https://app.1lookup.io/api/v1/sanctions-screening \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Sample Trading Company", "country": "XX" }'{
"classification": {
"screened": true,
"outcome": "possible_match",
"name_searched": "Sample Trading Company",
"country_searched": "XX",
"hit_count": 1,
"strong_match_count": 0,
"possible_match_count": 1,
"lists_with_hits": ["EL"],
"top_match_name": "SAMPLE TRADING CO",
"top_match_list": "EL (Entity List)",
"top_match_programs": [],
"lists_checked": 12,
"records_checked": 26173,
"list_updated": "2026-10-25",
"list_is_stale": false
},
"insights": {
"sanctions_screening_result": {
"outcome": "possible_match",
"matches_shown": 1,
"matches": [
{
"match_strength": "possible",
"matched_name": "SAMPLE TRADING CO",
"matched_on": "name",
"score": 0.86,
"country_match": true,
"record_type": "entity",
"list_code": "EL",
"list_name": "Entity List",
"agency": "Bureau of Industry and Security",
"programs": [],
"countries": ["XX"],
"addresses": ["1 Example Road, Sampletown, XX"],
"aliases": ["Sample Trade Limited"],
"alias_count": 1,
"listed_since": "2024-01-15"
}
],
"data_source": "us_consolidated_screening_list"
}
},
"recommendations": {
"primary_action": "VERIFY",
"secondary_actions": ["compare_details_with_the_record"],
"user_message": "Sample Trading Company has 1 possible match, closest SAMPLE TRADING CO on the Entity List (Bureau of Industry and Security). Compare the details before you act."
},
"metadata": { "credits_used": 3, "cache_hit": false }
}A column of names goes in and one row per name comes out
Upload a CSV with a name column and download a result file with each name's outcome, match counts and closest match. The four names here are invented.
- 1name
- 2sample hardware supply
- 3sample trading company
- 4example freight company
- 5---
| name | Outcome | Strong Matches | Possible Matches | Closest Match | Closest Match List | Credits Used |
|---|---|---|---|---|---|---|
| sample hardware supply | clear | 0 | 0 | 3 | ||
| sample trading company | possible_match | 0 | 1 | SAMPLE TRADING CO | EL (Entity List) | 3 |
| example freight company | match | 1 | 0 | EXAMPLE FREIGHT COMPANY | DPL (Denied Persons List) | 3 |
| --- | 0 |
Six more columns in the file, among them Name Searched, Country Searched, Lists With Matches, Closest Match Programs, Records Checked and List Updated.
One row in, one row out
Every name becomes one row, so a list of 500 customers is a spreadsheet of 500 rows you can sort by outcome and filter to the ones to review.
A clear name is a billed row
A row that finishes clear is billed like any other, because the clear answer is what you asked for, and the file says how many records were checked.
A name that cannot be screened is a free row
A row with no Latin letters, or one that is empty or too long, comes back as a failed row and costs 0 credits, so cleaning a list never bills for the rows that cannot run.
One call returns a verdict and the closest records for a name
One call turns a name on an application, an invoice or a customer list into an answer from the US government's sanctions and export-control lists: whether anything matches, how strongly, which list and agency it sits on, and what the list records about it, with the raw JSON your code receives beside it.
- Name screenedSample Trading Company
- OutcomePossible match
- Recommended actionVERIFY
- Closest matchSAMPLE TRADING CO
- Match score0.86
- ListEntity List
- AgencyBureau of Industry and Security
- AliasSample Trade Limited
- Address on the list1 Example Road, Sampletown, XX
- Listed since2024-01-15
- Lists checked12
- List updated2026-10-25
{
"classification": {
"screened": true,
"outcome": "possible_match",
"strong_match_count": 0,
"possible_match_count": 1,
"top_match_name": "SAMPLE TRADING CO",
"top_match_list": "EL (Entity List)",
"lists_checked": 12,
"list_updated": "2026-10-25"
},
"insights": {
"sanctions_screening_result": {
"matches": [{ "match_strength": "possible", "score": 0.86, "list_code": "EL" }],
"data_source": "us_consolidated_screening_list"
}
},
"metadata": { "credits_used": 3 }
}Every screening returns the same fields at one flat price
A field a list record does not hold comes back empty and never as a guess, and every completed screening costs the same 3 credits.
Verdict
- screened
- outcome
- hit_count
- strong_match_count
- possible_match_count
- lists_with_hits
Closest match
- top_match_name
- top_match_list
- top_match_programs
Each match
- matches[].match_strength
- matches[].matched_name
- matches[].matched_on
- matches[].score
- matches[].country_match
- matches[].record_type
Listing details
- list_code
- list_name
- agency
- programs
- title
- countries
- addresses
- date_of_birth
- place_of_birth
- aliases
- alias_count
- remarks
- listed_since
- listing_ends
- list_url
- source_url
Coverage
- lists_checked
- records_checked
- list_updated
- list_is_stale
- data_source
Fintech, export and compliance teams screen a name instead of searching three agencies' lists by hand
Fintech and payment teams screening new customers
Screen the name on each application at sign-up, approve a clear one automatically and send a possible match or a match to a reviewer with the list, programs and aliases already attached.
Exporters and freight forwarders checking buyers and consignees
Check the buyer, the consignee and the end user against the Commerce and State lists as well as the Treasury's before an order ships or a quote goes out.
Marketplaces and lenders checking a merchant or a borrower
Add a screening step to onboarding, so a merchant or a borrower whose name matches a listed party is held for review and the rest go through.
Compliance teams screening a customer or vendor list
Upload a CSV with a name column and sort the result by outcome, so a file of thousands of names becomes a short list of the ones to read.
Procurement and accounts payable teams checking a new vendor
Screen the vendor's legal name before the first payment is set up, and keep the answer with the list update date on the vendor record.
Sales and partnership teams checking a reseller or distributor
Run the prospective partner's name before a contract is signed, and take a possible match to compliance with the matched record beside it.
Every completed screening is billed and every screening that cannot run is free
A clear answer, a possible match and a match are each one billed screening. A name that is refused, lists that cannot be read and the same screening asked again by the same user within 24 hours are not charged.

These are the questions people ask before they screen their first name
What does the Sanctions Screening API return?
Send a name, with a two-letter country if you like, and it returns a verdict: clear, possible match or match. With it come how many strong and possible matches there were, the lists they are on, the closest match and its list and programs, the recommended action (approve, verify or review), and up to ten matches ranked strongest first. Each match carries the matched name, the list and its agency, the programs, aliases, addresses, countries, any date of birth and the date it was listed.
Which lists does it check?
Twelve US government lists in one call: six from the Treasury Department (Specially Designated Nationals, Sectoral Sanctions, Chinese Military-Industrial Complex companies, the Palestinian Legislative Council list, menu-based sanctions and correspondent account sanctions), four from the Commerce Department (the Entity List, Denied Persons, the Unverified List and Military End User) and two from the State Department (ITAR debarred and nonproliferation sanctions). They are US government lists only: EU, UN, UK and other lists are not included.
How does it decide between clear, possible match and match?
A name is reduced to its words, so case, accents, word order and legal forms such as Inc or LLC do not matter, and a word of five or more letters also matches a near spelling. It is a match when the name is the same, scores 0.9 or higher, or every word you typed is on a record that has at most a couple more (a second given name, say). It is a possible match when the score is 0.7 or higher and at least three quarters of the words were found. Anything else is clear. A single word is only compared with one-word names, so a lone surname does not match thousands of people.
What does a clear result mean?
That no record on the 12 US government lists matches the name you sent. primary_action is APPROVE, and the answer says how many lists and records were checked and the date the lists were last updated. A possible match returns VERIFY and a match returns REVIEW, because a name alone is never proof of who someone is.
How much does a screening cost?
3 credits per completed screening, about $0.01 on the Starter plan. A screening is billed whatever the answer is, a clear one included, because the answer clear is what the credits buy. A name that is refused, a screening that cannot run because the lists could not be read, and a repeat of the same screening by the same user within 24 hours all cost 0 credits, in the API, the dashboard and bulk jobs.
Where does the list data come from?
From the US Consolidated Screening List, which the International Trade Administration publishes from the lists of the Treasury, Commerce and State departments and republishes every day. We refresh our copy every 6 hours, and every answer says how many records were checked and the date the lists were last updated.
How current is the answer, and can I ask again?
Lists are refreshed every 6 hours, so a new listing reaches a screening within a day. If the list cannot be refreshed, a copy up to 48 hours old is used and the answer says so in list_is_stale. A repeat of the same screening by the same user within 24 hours comes from the cache at no charge.
What happens when the lists cannot be read?
The API answers 503 with a Retry-After header, charges nothing and does not save the answer, so a retry is never a second charge. A failed read is never reported as clear, because an answer of nothing found has to mean the lists were searched.
What names can I send?
A name of 2 to 150 characters with at least one Latin letter or digit, for a person, a company or a vessel, plus an optional two-letter country. Names in other scripts, an empty name, a name that is too long and a country that is not two letters are refused with a clear error before anything is charged. The US lists spell every name, aliases included, in Latin letters.
What does the country do?
It ranks the matches and never removes one. Each match is marked country_match true or false, and a match from the country you typed comes first. Leave it out when you do not know it.
Can I confirm a match with a date of birth or an address?
Not as an input: you send a name and an optional country. Each match returns the dates of birth, places of birth, addresses and countries the list holds, so you can compare them with what your customer gave you and decide whether it is the same party.
Does it keep watching a name after the check?
No. Each screening is a check of the lists as they stand when you ask. Run the name again when you want a new answer; a repeat after 24 hours is billed like any other screening.
Can I screen a list of names at once?
Yes. Upload a CSV with a name column and you get a row per name with its outcome, the strong and possible match counts, the lists with matches and the closest match. Every completed row is billed at the same credits, a clear one included, and a row the parser refuses fails without a charge.
To check a single name before you write any code, run it through the free sanctions list search.
A clear screening covers the lists, and these products check the rest
Here is how screening a name with 1Lookup compares with the other ways to check sanctions lists
Each page sets a rival's plans and prices beside ours and says where the rival does the job better. Every figure carries its source and the date it was checked.