United Nations API: Check sanctions
Checks a person or organisation name against the current UN Security Council Consolidated List and returns ranked possible matches.
Unofficial. Not affiliated with or endorsed by United Nations.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Name, required
name Person or organisation name to check, for example Al-Shabaab.
Al-Shabaab
2 characters or more.
- Type optional
type Kind of listing, for example entity; defaults to any.
any (default)
One of
any,individual,entity.- Max Results optional
max_results Maximum number of matches to return, for example 20 (up to 100).
20 (default)
Whole number from 1 to 100.
- Nationality optional
nationality Optionally restrict individuals to this listed country of nationality, for example Somalia; entries without a listed nationality are excluded.
(default)
Input as JSON
{ "name": "Al-Shabaab"}Output
{ "matches": [ { "name": "AL-SHABAAB", "type": "entity", "aliases": [ "AL-SHABAB", "SHABAAB", "THE YOUTH" ], "addresses": [], "entry_link": "https://scsanctions.un.org/r#:~:text=SOe.001" , "listed_date": "2010-04-12", "nationality": null, "date_of_birth": null, "place_of_birth": null, "reason_summary": null, "sanctions_regime": "Al-Shabaab (Somalia)", "un_reference_number": "SOe.001" } ], "summary": "1 possible match found on the UN Security Council Consolidated List dated 2026-10-22.", "match_found": true, "list_generation_date": "2026-10-22"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"scsanctions.un.org/check_sanctions","input":{"name":"Al-Shabaab"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "scsanctions.un.org/check_sanctions" , "input": { "name": "Al-Shabaab" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "scsanctions.un.org/check_sanctions" , "input": { "name": "Al-Shabaab" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run scsanctions.un.org/check_sanctions# with {"name":"Al-Shabaab"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "minLength": 2, "description": "Person or organisation name to check, for example Al-Shabaab." }, "type": { "enum": [ "any", "individual", "entity" ], "type": "string", "default": "any", "description": "Kind of listing, for example entity; defaults to any." }, "max_results": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "description": "Maximum number of matches to return, for example 20 (up to 100)." }, "nationality": { "type": "string", "default": "", "description": "Optionally restrict individuals to this listed country of nationality, for example Somalia; entries without a listed nationality are excluded." } }}Output schema
{ "type": "object", "required": [ "match_found", "summary", "list_generation_date", "matches" ], "properties": { "matches": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "enum": [ "individual", "entity" ], "type": "string" }, "aliases": { "type": "array", "items": { "type": "string" } }, "addresses": { "type": "array", "items": { "type": "string" } }, "entry_link": { "type": "string" }, "listed_date": { "type": [ "string", "null" ] }, "nationality": { "type": [ "string", "null" ] }, "date_of_birth": { "type": [ "string", "null" ] }, "place_of_birth": { "type": [ "string", "null" ] }, "reason_summary": { "type": [ "string", "null" ] }, "sanctions_regime": { "type": "string" }, "un_reference_number": { "type": "string" } } } }, "summary": { "type": "string" }, "match_found": { "type": "boolean" }, "list_generation_date": { "type": "string" } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
scsanctions.un.org/check_sanctions- Returns
- match flag, summary, list date, matches with name, type, reference, regime, aliases, nationality, birth data, addresses, reason
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method scsanctions.un.org/check_sanctions with the inputs above.
Ask your agent
- Is there a UN Security Council sanctions listing for Hezbollah Financial Network? Check it and show me any ranked matches with regime and reason.
- Screen the name Viktor Bout against the UN consolidated sanctions list, individuals only, and list aliases and birth details.
- Check whether the entity Al-Qaida in the Islamic Maghreb appears on the UN sanctions list and return up to 10 matches.
- Run a UN sanctions check on individuals named Mohammed Al-Hassan with Somalia as the listed nationality, limiting results to 5.
- On un.org, look up any UN Security Council listing for the organisation Harakat al-Shabaab Mujahideen and tell me the list date and addresses.
See more
Checks a name against the current UK Sanctions List and returns possible matches in the site's best-match order, with designation details. Results may include entries that only mention the name in their reasons, so check each entry before identifying anyone.
gov.uk/check_sanctionsChecks a person or organisation name against the EU consolidated financial sanctions list (asset freezes) on the EU Sanctions Map, returning likely matches with their regime, aliases, listing details and linked legal act. Name similarity is a screening aid, not identity confirmation.
sanctionsmap.eu/check_sanctionsScreens a name against the OFAC SDN and non-SDN sanctions lists. Returns scored entries with identifying details. Similar names are potential matches, not confirmed identities.
sanctionssearch.ofac.treas.gov/check_sanctionsLists EU Sanctions Map regimes concerning a country, with measures, EUR-Lex legal acts, amendment dates and listed person and entity counts.
sanctionsmap.eu/get_country_sanctionsFinds U.S. nonprofits by organization name, optionally filtered by state and city, with the latest reported revenue and assets.
projects.propublica.org/search_nonprofitsLooks up an organization in the IRS Tax Exempt Organization Search by name or EIN. It reports whether donations are deductible, whether the organization was automatically revoked, and its recent Form 990 filings.
irs.gov/check_charity_statusFinds known vulnerabilities (CVEs) in the NVD that match a product or vendor name, newest first. Each CVE is flagged when it is in CISA's known exploited catalog.
nvd.nist.gov/search_vulnerabilitiesReturns current UK government (FCDO) travel warnings, entry requirements for British passport holders, safety, health and emergency information for a country. Summaries are shortened; follow the link for full details.
gov.uk/get_travel_advice