TradeProtected一次産品貿易コンプライアンス

制裁照会 API

エンドポイント一つで、四つの公式リスト

米国 OFAC、国連、EU、中国商務部の制裁および輸出管理データ 28,172 件を、自社の ERP、リスク管理、KYC システムに組み込めます。名称を送ると、該当の有無、どの記録に当たったか、そして確認用の公式文書へのリンクが返ります。

28,172リスト収録件数
4公式ソース
毎日更新頻度
4出力形式

想定している利用者

自前で作らない方がよい理由

四つのソース、四つの形式——OFAC は CSV、国連は XML、EU は独自のデータベース、中国商務部に至っては API がなく公告ページだけです。

そしてリストは毎日変わります。直近の更新では OFAC が 97 件減りました(削除も同期しないと偽陽性が出ます)。

この保守コストは一度きりではなく、ずっと続きます。

導入は三段階

1. API プランに登録し、キーを作成する

この API には API プラン(US$19.9/月、メンバーシップの全機能を含みます)が必要です。

ログイン後、メンバーシップのタブから登録し、API キーの項目でキーを作成してください。キーは tp_xxxxxxxx の形式です。

平文のキーは作成時に一度しか表示されません——その場ですぐシークレット管理に保存してください。

2. リクエストを送る

curl -H "Authorization: Bearer tp_YOUR_KEY"   "https://tradeprotected.com/api/v1/screen?name=GAZPROM"

3. レスポンスを読む

{
  "matched": true,
  "count": 2,
  "rows": [
    {
      "source": "OFAC",
      "name": "GAZPROM NEFT",
      "type": "entity",
      "programs": "RUSSIA-EO14024",
      "listed_on": "2022-02-24",
      "url": "https://sanctionssearch.ofac.treas.gov/..."
    }
  ]
}

matched は真偽値なのでそのまま分岐に使えます。rows[].url は公式記録を指すので、確認の証跡として保管してください。

エンドポイント

GET/api/v1/screen

単件の照会。パラメータ name(必須、最大 200 文字)。7 桁の数字は船舶の IMO 番号とみなし、完全一致で照合します。

POST/api/v1/screen

一括照会。1 回の呼び出しで最大 100 件。取引の前に買主・売主・船主・荷受人をまとめて確認するのに便利です。

GET/api/v1/sanctions

リストの検索と全件ダウンロード。自前でコピーを保持する場合に使います。パラメータ:qsourcetypelimit(既定 100、最大 500)、offset

GET/api/v1/sources

ソース別の収録件数と最終更新日。同期ジョブが事前に問い合わせれば、不要な全件ダウンロードを避けられます。

パラメータ

name照会する名称、または 7 桁の IMO 番号。GET /screen では必須
names一括照会用の名称の配列。POST のボディに入れ、最大 100 件
sourceOFAC / UN / EU / EUX / CN。空欄はすべてを意味します
typeentity / individual / vessel / aircraft
formatjson(既定)/ xlsx(Excel)/ csv / ndjson
limit1 ページあたりの行数。既定 100、最大 500
offsetオフセット。limit と組み合わせてページ送りします

使い方は三通り

同じデータを、コード量の少ない順に三通りの方法で利用できます:

方法 1:自社サイトに埋め込む

以下のスニペットをコーポレートサイトの任意のページに貼ると、当社のデータを使った制裁リスト検索窓が表示されます。装飾を抑えた見た目なので、既存のレイアウトになじみます。顧客に自己確認の手段を提供したいフォワーダー、法律事務所、業界団体に向いています。

<iframe src="https://tradeprotected.com/embed?key=tp_YOUR_KEY&lang=ja"
        style="width:100%;height:420px;border:1px solid #e4eaf1;border-radius:12px"
        loading="lazy"></iframe>

キーを自社ドメインに限定する

埋め込みコードに含まれるキーは公開されます——ページのソースを見れば誰でも読めます。ですからメンバーシップ → API キーで、そのキーに許可ドメイン(例:yourcompany.com)を設定してください。コピーされても他のサイトでは動きません。Google Maps などのフロントエンド用キーと同じ考え方です。

埋め込み用のキーとサーバーから呼ぶキーは分けることをおすすめします。前者は自社ドメインに限定し、後者は制限なしのまま自社サーバーにだけ置きます。1 アカウントで同時に 5 本まで持てるので、環境ごとに分けるには十分です。

方法 3:表計算ソフトに書き出す

format パラメータを足すだけです。検索系のエンドポイントはすべて対応しています。

# 中国商務部のリストを Excel に書き出す
curl -H "Authorization: Bearer tp_YOUR_KEY"   "https://tradeprotected.com/api/v1/sanctions?source=CN&limit=500&format=xlsx"   -o cn-list.xlsx

# 単件照会の結果を表計算ファイルとして記録に残す
curl -H "Authorization: Bearer tp_YOUR_KEY"   "https://tradeprotected.com/api/v1/screen?name=GAZPROM&format=xlsx"   -o gazprom.xlsx

# IMO 番号で船舶を検索する
curl -H "Authorization: Bearer tp_YOUR_KEY"   "https://tradeprotected.com/api/v1/screen?name=9209508"

コード例

Python

import requests

KEY = "tp_YOUR_KEY"
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("MATCH", data["count"], "件該当——要人手確認")
    for row in data["rows"]:
        print(row["source"], row["name"], row["url"])

Node.js

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 ? "MATCH " + out.count : "clear");

一括照会(Python)

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 = "MATCH" if item["matched"] else "clear"
    print(flag, item["query"], item["count"])

利用量とエラーコード

キー 1 本あたり 1 日 1000 回、UTC 00:00 にリセットされます。すべてのレスポンスに次の 2 つのヘッダーが付きます:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999

1 アカウントで有効なキーを 5 本まで持てます。環境ごと(本番 / 検証 / 特定の担当者)に分けておけば、他の利用先に影響を与えずに 1 本だけ失効させられます。

エラー

エラーは常に {"error":{"code":"...","message":"..."}} を返します。分岐はメッセージ本文ではなく code で行ってください。

401missing_key キーが送られていない · invalid_key キーが無効または失効している
403membership_required 未登録または期限切れ。プランが切れるとキーは動作を停止し、更新すれば再発行なしでそのまま復帰します
429quota_exceeded 1 日の利用量を使い切った
400missing_name / name_too_long / too_many_names パラメータの問題

重要なご注意

照合は部分文字列と正規化した語句に基づくため、該当はデューデリジェンス上の手がかりであって、法的な結論ではありません。同名異人や翻字の違いは偽陽性も偽陰性も生みます。最終的な判断は url が指す公式記録に基づいて行ってください。

API プランにはメンバーシップの全機能に加え、データ API、埋め込みウィジェット、Excel 書き出しが含まれます。

同等の照会 API は、年間契約で数千ドルからというのが一般的です。当社は月額で、いつでも解約できます。まずは無料で何件か照会し、データを評価してから組み込んでください。

無料で試す

1 日 1000 回を超える利用、専用枠、オンプレミス設置が必要ですか? 法人向けプランを見る →

他の言語:English · 中文 · Русский · Español · 한국어 · العربية