Sanctions Screening API — one endpoint, four official lists
把 27,270 条美国 OFAC、联合国、欧盟、中国商务部的制裁与出口管制名单,接进你自己的 ERP、风控或 KYC 系统。 传一个名称,返回是否命中、命中哪几条、以及可点开核实的官方出处链接。
Screen any counterparty against 27,270 entries from OFAC, the UN, the EU and China MOFCOM from inside your own systems.
Trading & freight companies · banks and trade finance · law firms and compliance consultants · SaaS vendors adding a compliance module.
四个来源四种格式:OFAC 是 CSV、联合国是 XML、欧盟是自家数据库、中国商务部干脆没有接口只有公告网页。 名单还天天在变——本站上一轮刷新 OFAC 就少了 97 条(实体被移出也必须同步,否则会误报)。 这些维护成本是持续的,不是一次性的。
Four sources, four formats, and no API at all on the Chinese side — plus daily churn. It is ongoing maintenance, not a one-off script.
API 是会员专属功能。登录后进「会员」页开通,再到「API 密钥」里点新建,
密钥形如 tp_xxxxxxxx。明文只在创建时显示一次,请当场存进你的密钥管理器。
curl -H "Authorization: Bearer tp_你的密钥" \
"https://tradeprotected.com/api/v1/screen?name=GAZPROM"
{
"query": "GAZPROM",
"matched": true,
"count": 2,
"rows": [
{
"source": "OFAC",
"name": "GAZPROM NEFT",
"type": "entity",
"country": "Russia",
"programs": "UKRAINE-EO13662",
"listed_on": "2014-09-12",
"url": "https://sanctionssearch.ofac.treas.gov/Details.aspx?id=17962"
}
]
}
matched 是布尔值,可以直接拿去做流程判断;rows[].url 指向官方原始记录,
存进你的尽调档案即可作为核查留痕。
单个名称筛查。参数 name(必填,最长 200 字符)。
传 7 位数字视为船舶 IMO 号,自动走船舶精确匹配。
GET /api/v1/screen?name=SOVCOMFLOT
GET /api/v1/screen?name=9209508 # 按 IMO 查船
GET /api/v1/screen?name=GAZPROM&format=csv
批量筛查,单次最多 100 个名称。适合下单前一次性核对买方、卖方、船东、收货人。
curl -X POST -H "Authorization: Bearer tp_你的密钥" \
-H "Content-Type: application/json" \
-d '{"names":["GAZPROM","ACSL","SOVCOMFLOT"]}' \
https://tradeprotected.com/api/v1/screen
名单浏览与全量拉取,给要把名单同步进自己库的场景。
参数:q 关键词、source 来源、type 对象类型、
limit(默认 100,上限 500)、offset 偏移。
GET /api/v1/sanctions?source=CN&limit=500&offset=0&format=csv
各来源的条目数与最近更新时间。同步任务可以先查这个再决定要不要重新拉全量。
{
"sources": [
{
"code": "OFAC",
"name": "US Treasury OFAC — Specially Designated Nationals (SDN)",
"count": 19157,
"updated_at": "2026-07-28T14:42:59.194Z"
}
],
"total": 27270
}
| name | 要筛查的名称,或 7 位 IMO 号。GET /screen 必填 |
|---|---|
| names | 批量筛查的名称数组,POST body,最多 100 个 |
| source | OFAC / UN / EU / EUX / CN,留空为全部 |
| type | entity 公司 / individual 个人 / vessel 船舶 / aircraft 飞机 |
| format | json(默认)/ csv / ndjson |
| limit | 单页条数,默认 100,上限 500 |
| offset | 偏移量,配合 limit 翻页 |
JSON(默认)—— 结构化返回,带 matched、count 等汇总字段,适合程序判断。
CSV —— ?format=csv。带 UTF-8 BOM,Excel 双击打开中文不乱码,
列固定为 source, name, type, country, programs, listed_on, url。适合直接进合规报告附件。
NDJSON —— ?format=ndjson。每行一个独立 JSON 对象,
适合流式管道逐行解析,拉全量时不必把整个响应读进内存。
# 拉中国名单存成 Excel 能直接开的 CSV
curl -H "Authorization: Bearer tp_你的密钥" \
"https://tradeprotected.com/api/v1/sanctions?source=CN&limit=500&format=csv" \
-o cn-list.csv
import requests
KEY = "tp_你的密钥"
r = requests.get(
"https://tradeprotected.com/api/v1/screen",
params={"name": "GAZPROM"},
headers={"Authorization": "Bearer " + KEY},
timeout=20,
)
r.raise_for_status()
data = r.json()
if data["matched"]:
print("命中", data["count"], "条,需人工复核")
for row in data["rows"]:
print(" -", row["source"], row["name"], row["url"])
else:
print("未命中任何制裁名单")
const KEY = process.env.TP_API_KEY;
async function screen(name) {
const url = new URL("https://tradeprotected.com/api/v1/screen");
url.searchParams.set("name", name);
const r = await fetch(url, { headers: { authorization: "Bearer " + KEY } });
if (!r.ok) throw new Error("screen failed: " + r.status);
return r.json();
}
const out = await screen("SOVCOMFLOT");
console.log(out.matched ? "命中 " + out.count + " 条" : "未命中");
names = ["GAZPROM", "ACSL", "SOVCOMFLOT"]
r = requests.post(
"https://tradeprotected.com/api/v1/screen",
json={"names": names},
headers={"Authorization": "Bearer " + KEY},
timeout=60,
)
for item in r.json()["results"]:
flag = "命中" if item["matched"] else "通过"
print(flag, item["query"], item["count"])
每把密钥每日 1000 次调用,UTC 00:00 重置。每次响应都带这两个头:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
一个账号最多同时保有 5 把有效密钥,建议按环境分开(生产 / 测试 / 某个同事), 出问题时可以只吊销一把而不影响其他调用方。
错误统一返回 {"error":{"code":"...","message":"..."}},请按 code 判断而不是文案。
| 401 | missing_key 没传密钥 · invalid_key 密钥无效或已吊销 |
|---|---|
| 403 | membership_required 会员已过期——会员一过期密钥立即失效,续费后无需换新 |
| 429 | quota_exceeded 当日额度用尽 |
| 400 | missing_name / name_too_long / too_many_names 参数问题 |
名单匹配为归一化子串与短语匹配,命中结果是尽职调查的提示,不是法律结论。
同名同姓、音译差异都可能造成误报或漏报,最终判断请以 url 指向的官方原始记录为准。
Matches are due-diligence signals, not legal conclusions. Always verify against the official record linked in each result.
API 包含在会员权益内,没有额外接口费。先免费查几条看看数据质量,再决定要不要接。
The API is included in membership at no extra cost. Try the free search first.
免费试查 · Try it free调用量超过每日 1000 次、需要专属额度或私有化部署? 看企业方案 →