{
  "lang": "ja",
  "ページ": "https://x402-catalog-history.ai-business-surface.workers.dev/ja/lei-lookup-api",
  "title": "LEI lookup api — GLEIF 照会を 0.005 USDC で1回、402 は 23,908 B（実測）",
  "h1": "LEI lookup api を払う前に — /lei の 402・400・無料プレビューの有無",
  "description": "LEI lookup api を探している買い手向けに、2026-10-19 の /lei を支払いなしで測りました。402 は 23,908 B・payment-required ヘッダ 4,604 B・161〜496 ms で、宣言価格は 0.005 USDC（5000 atomic）。q が1文字（190 B）と300文字（192 B）は課金前に 400 invalid_q で止まり、案内文は「2〜100文字、何も取得せず支払いも要求しない」。一方 q を空にすると 402 で、preview=1 を付けても 402 のままでした（無料プレビューなし）。/lei/sample は 404・3,200 B。納品記録は 1 件・最終 2026-10-16T12:36:35Z・success_24h=0 です。",
  "検索語": "LEI lookup api",
  "読者の問い": "LEI lookup api は、払う前に何が分かるのか。無料で試せるプレビューはあるのか。",
  "実測日": "2026-10-19 JST",
  "実測": {
    "caption": "/lei の無課金実測（2026-10-19 JST・公開URL・支払いなし）",
    "columns": [
      "リクエスト",
      "応答",
      "本文",
      "応答時間",
      "備考"
    ],
    "rows": [
      [
        "GET /lei",
        "402",
        "23,908 B",
        "227 ms",
        "ヘッダ 4,604 B・0.005 USDC"
      ],
      [
        "GET /lei?name=Apple%20Inc",
        "402",
        "23,908 B",
        "496 ms",
        "name は仕様のパラメータではない"
      ],
      [
        "GET /lei?preview=1",
        "402",
        "23,908 B",
        "161 ms",
        "無料プレビューは無い"
      ],
      [
        "GET /lei?q=",
        "402",
        "23,908 B",
        "587 ms",
        "空の q も課金前に止まらない"
      ],
      [
        "GET /lei?q=A",
        "400",
        "190 B",
        "498 ms",
        "invalid_q（1文字）"
      ],
      [
        "GET /lei?q=xxx…（300文字）",
        "400",
        "192 B",
        "165 ms",
        "invalid_q（300文字）"
      ],
      [
        "GET /lei/sample",
        "404",
        "3,200 B",
        "145 ms",
        "サンプル経路は無い"
      ]
    ],
    "note": "402 の4通りは本文 23,908 B・ヘッダ 4,604 B で同サイズ。宣言価格は本文 price.amount_usd=0.005・amount_atomic=5000。400 の案内文は「q must be between 2 and 100 characters; received 1. Nothing was fetched and no payment is requested.」。応答時間は逐次 wall clock で、コールドスタートは未分離。"
  },
  "見出し": [
    "結論: 0.005 USDC の1回照会。無料プレビューは無い",
    "実測: 402 は4通りとも 23,908 B",
    "400 で止まる境界 — 1文字と300文字",
    "無料プレビューは無い — preview=1 も 402",
    "納品記録は 1 件、直近24時間は 0",
    "この実測で分からないこと",
    "次の一歩"
  ],
  "本文": [
    {
      "見出し": "結論: 0.005 USDC の1回照会。無料プレビューは無い",
      "html": "<p><code>/lei</code> は <strong>0.005 USDC（5,000 atomic）で GLEIF の LEI レコードを1回返す</strong>経路です。未払いの GET は <strong>402・本文 23,908 B・<code>payment-required</code> ヘッダ 4,604 B・161〜496 ms</strong>。今回の実測で分かったのは、<strong>無料で確かめられるのは「生きている・価格・入力の長さの範囲」まで</strong>で、<strong><code>?preview=1</code> を付けても 402 のまま</strong>、<strong>無料サンプル経路も無い</strong>ことです。</p><p>もう一つの実測は、<strong>入力の長さは課金前に検証される</strong>ことです。<code>q</code> が1文字と300文字のときは <strong>400・190〜192 B</strong> で、本文に <strong>「2〜100文字。何も取得せず、支払いも要求しない」</strong>と明記されていました。<strong>無効な長さで払ってしまう事故は、402 の手前で防げます</strong>。</p>"
    },
    {
      "見出し": "実測: 402 は4通りとも 23,908 B",
      "html": "<table>\n<thead><tr><th>リクエスト</th><th>応答</th><th>本文</th><th>payment-required ヘッダ</th><th>応答時間</th></tr></thead>\n<tbody>\n<tr><td><code>/lei</code></td><td>402</td><td>23,908 B</td><td>4,604 B</td><td>227 ms</td></tr>\n<tr><td><code>?name=Apple Inc</code></td><td>402</td><td>23,908 B</td><td>4,604 B</td><td>496 ms</td></tr>\n<tr><td><code>?preview=1</code></td><td>402</td><td>23,908 B</td><td>4,604 B</td><td>161 ms</td></tr>\n<tr><td><code>?q=</code></td><td>402</td><td>23,908 B</td><td>4,604 B</td><td>587 ms</td></tr>\n</tbody>\n</table>\n<p>4通りとも<strong>本文 23,908 B・ヘッダ 4,604 B で同サイズ</strong>でした。宣言価格は本文の <code>price.amount_usd=0.005</code>、<code>amount_atomic=5000</code>、<code>asset=USDC</code>、<code>network=base</code>。<strong>同じ 0.005 USDC を、パラメータを変えても同じ 402 で返します</strong>。</p><p>注意すべきは <code>?name=Apple Inc</code> です。仕様上の検索パラメータは <code>q</code> で、<strong><code>name</code> は読まれていません</strong>（だから 402 の本文も変わらない）。<strong>間違ったパラメータ名でも 402 が返る</strong>ので、「402 が返った＝自分のクエリが正しい」とは言えません。</p>"
    },
    {
      "見出し": "400 で止まる境界 — 1文字と300文字",
      "html": "<p>支払いを伴わない入力を3通り投げました。<strong>1文字と300文字は課金前に 400</strong>、<strong>空文字は 402</strong> です。</p>\n<table>\n<thead><tr><th>送った q</th><th>応答</th><th>本文</th><th>応答時間</th><th>error</th></tr></thead>\n<tbody>\n<tr><td><code>A</code>（1文字）</td><td>400</td><td>190 B</td><td>498 ms</td><td><code>invalid_q</code></td></tr>\n<tr><td><code>xxx…</code>（300文字）</td><td>400</td><td>192 B</td><td>165 ms</td><td><code>invalid_q</code></td></tr>\n<tr><td>空（<code>?q=</code>）</td><td>402</td><td>23,908 B</td><td>587 ms</td><td>なし</td></tr>\n</tbody>\n</table>\n<p>400 の本文は <strong>「q must be between 2 and 100 characters; received 1. Nothing was fetched and no payment is requested.」</strong>。仕様の範囲（2〜100文字）と一致し、<strong>上流の GLEIF を読む前に拒否</strong>しています。応答は 400 なので、買い手は<strong>無料でクエリの形を検証できます</strong>。</p><p>一方で<strong>空の q は 400 ではなく 402</strong> でした。長さ0は「2文字未満」ですが、実装は<strong>「q が無い」と同じ扱い</strong>にしているようです。<strong>空文字を「有効な入力」と誤解して払わない</strong>ようにしてください。1文字と300文字だけが課金前の信号です。</p>"
    },
    {
      "見出し": "無料プレビューは無い — preview=1 も 402",
      "html": "<p><code>/price</code> や <code>/random</code> には <code>?preview=1</code> で 200 を返す無料プレビューがありますが、<strong><code>/lei</code> にはありません</strong>。<code>?preview=1</code> は <strong>402・23,908 B</strong> で、<code>preview</code> という語は課金条件を変えませんでした。</p><p>無料サンプル経路も無く、<code>/lei/sample</code> は <strong>404・3,200 B・145 ms</strong>（<code>not_found</code>）。<strong>払う前に見えるのは 402 の本文・ヘッダと、無料の <code>/openapi.json</code> に書かれた仕様だけ</strong>です。</p><p>その仕様は無料で読めます。<code>/openapi.json</code> の <code>/lei</code> には、<strong><code>q</code> が会社名でも20文字の LEI でもよい</strong>こと、返る形が <code>{query, count, total_matches, results[{lei, legal_name, entity_status, registration_status, jurisdiction, legal_address{city, region, country, postal_code}}], source{name: GLEIF, api, fetched_at}}</code> であることが書かれています。<strong>これは仕様であって、実際の 200 本文の実測ではありません</strong>。</p>"
    },
    {
      "見出し": "納品記録は 1 件、直近24時間は 0",
      "html": "<p>同時刻の <code>/status.json</code> は <strong>200・23,089 B・8,310 ms・53 経路</strong>。<code>/lei</code> は <strong>価格 0.005 USDC・納品 1 件・最終成功 2026-10-16T12:36:35.143Z・<code>success_24h=0</code>・<code>last_status=200</code>・<code>data_status=observed</code></strong> でした。</p><p><strong>402 が返る＝今も納品されている、ではありません</strong>。今回の 402 は 4/4 で返りましたが、<strong>納品記録は 1 件だけ</strong>で、直近 24 時間の成功は 0 件です。<strong>「今払えるか」は 402 で、「過去に納品されたか」は /status.json で</strong>分けて見てください。</p><p>なお <code>/status.json</code> の 8,310 ms は集計処理のコストで、<code>/lei</code> の 161〜496 ms とは別物です。</p>"
    },
    {
      "見出し": "この実測で分からないこと",
      "html": "<ul>\n<li><strong>有料の 200 本文は未取得</strong>。0.005 USDC を払っていないため、<code>results</code> の実際の中身・<code>total_matches</code> の値・<code>source.fetched_at</code> の形式・<code>entity_status</code> の取り得る値は<strong>未確認</strong>です。数字はすべて 400/402/404 の手前までです。</li>\n<li><strong>GLEIF の値が正しいかは検証していません</strong>。仕様では「呼び出し時点の GLEIF 公開 API から読む」と書かれていますが、これは自己申告です。</li>\n<li><strong>複数一致の挙動は未確認</strong>。<code>count</code> と <code>total_matches</code> が分かれている仕様ですが、<code>count</code> が何件で打ち切られるかは 200 を取るまで分かりません。</li>\n<li><strong>2文字ちょうど・100文字ちょうどは未測定</strong>。400 になったのは 1 文字と 300 文字だけで、境界の内側が通ることは確認していません。</li>\n<li><strong>検索順位は未測定</strong>。この記事は検索語 <code>LEI lookup api</code> をタイトルに置いただけで、順位は測っていません。</li>\n</ul>"
    },
    {
      "見出し": "次の一歩",
      "html": "<p>同じ 0.005 USDC 帯は <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/ja/cheap-utilities\"><code>/ja/cheap-utilities</code></a>（gas・random・news との比較）、402 の読み方は <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/ja/is-x402-endpoint-alive\"><code>/ja/is-x402-endpoint-alive</code></a>、買う順序は <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/ja/x402-usage\"><code>/ja/x402-usage</code></a>、納品されないときは <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/ja/x402-payment-not-delivering\"><code>/ja/x402-payment-not-delivering</code></a> に実測でまとめています。仕様は <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/openapi.json\"><code>/openapi.json</code></a>、納品記録は <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/status.json\"><code>/status.json</code></a> で無料で読めます。</p>"
    }
  ],
  "一覧": "https://x402-catalog-history.ai-business-surface.workers.dev/ja"
}
