Kansoku
English日本語简体中文

世界の価格調査

相場ではありません。
どの会社が、いくらで売っているか。

いま、その商品を、どの企業が、いくらで売っているか ―― 国ごとに、企業名と掲載URLと取得時刻と為替レート付きでお出しします。リクエストは指定した国のサーバーを経由します。同じページでも、どこから開いたかで表示される価格が違うからです。

実測の事例を読む何を取得しているか

  • 指定した国のアドレスから読みます
  • 消費者の回線は一切使わない
  • robots.txt は文章ではなくコードで守る
どの会社が、いくらで売っているか

表示例 ― 監視中の1商品を、3か国から

販売元・掲載価格・自社との差

  • JP販売店A ― 東京¥12,800自社価格
  • US販売店B ― ニューヨーク¥14,600+14.1%
  • DE販売店C ― ベルリン¥11,900−7.0%
公開前の検査31 / 31 合格
この数字の裏側出品者 ・ 掲載URL ・ 取得時刻 ・ 為替レートとその公表日

5つの理由

AIが出し惜しみしているのではありません。届かないのです。

どれも、聞き方を工夫すれば埋まる差ではなく、AIという仕組みの性質です。

  1. 01

    返ってくるのは「相場」で、「売主」ではない

    いくらか、と聞けば、市場を代表する数字が返ります。それでは動けません。仕入れも値付けも輸出判断も、必要なのはどの会社が・いくらで・どのページで売っているかで、それはAIが答えている質問とは別の質問です。

  2. 02

    自分の国からしか見えない

    ページは、どこからのリクエストかで価格も通貨も在庫も変えて返します。東京から聞けば東京の姿しか返りません。サンパウロから見てくれ、と頼めるプロンプトは存在しません。

  3. 03

    その数字がどこから来たか言わない

    実際に試したとき、AIが挙げた2つの数字はどちらも正しい値でした。片方は買取価格、もう片方は市場指数。回答のどこにもその区別は無く、その違いで差の符号が反転しました。

  4. 04

    「昨日」を持っていない

    ページが昨日何を表示していたかは誰も保存していないので、モデルも思い出せません。昨日からの変化は、後から買うことができません。誰かが記録していた場合にだけ存在します。

  5. 05

    毎回、違う答えが返る

    同じ質問に同じ答えは返りません。要約としては問題なくても、月次で並べて比べる数列としては使えません。

これはAIへの批判ではありません。AIが何のためのものかという説明です。特定のページを、特定の国から、特定の時刻に読み、その記録を残す ―― それは別の仕事です。

2つの入口、1つの基盤

片方はページを読んで返します。もう片方はブラウザごと渡します。

ほとんどの用途は前者だけで足ります。後者は、前者では届かないページのために在ります。

Web Data API

POST /v1/extract

URLと「欲しい形」を渡すと、構造化データが返ります。

ページから何を取るかを記述していただくと、指定された国のアドレスから取得し、安い段から順に抽出を試し、どうやって得たかの記録つきで型のついたデータを返します。

  • 3つの段(css / structured_data / llm)。有料の段は明示的に選ばない限り走りません
  • 一覧は行として返るので、欠けた項目が列をずらすことがありません
  • 全行に出品者・URL・取得時刻・為替レートとその公表日が付きます
  • 税抜価格は取得時に一度だけ確定させます

規模のある監視向け ―― カタログ、出品一覧、検索結果、価格。

Browser API

POST /v1/sessions

選んだ国の、本物のブラウザ。

操作できる描画セッションです。遷移・待機・クリック・スクロール・スクリーンショット。JavaScriptで組み上がるページ、同意フローの奥にあるページ、そして「現地の訪問者に見えている通り」を確かめる必要があるページのために。

  • JavaScript描画。待機条件は指定できます
  • スクリーンショットと描画後のDOMを、後から取り出せる成果物として保存
  • セッションの間、アドレスは固定されます
  • 間隔とrobotsの規則はデータAPIと同一。例外はありません

証跡が要るとき、そして他の手段では読めないページのために。

2つの入口は、1本のキー・1つの請求・1つの監査証跡を共有します。まずデータAPIから始めてください。ブラウザに手を伸ばすのは、他のどの方法でもページが中身を渡さないときだけで十分です。

ChatGPT・Claude・Gemini では、なぜできないのか

AIが返すのは「相場」です。必要なのは、売主と金額とリンクです。

2026年8月20日、対話型AIに同じ商品の日米価格を尋ね、同じ日に同じ商品を実測しました。

質問

この型番は日本と米国でいくらですか。

AIの回答

両市場はほぼ同水準です。

同日・同条件の実測

米国市場は日本より17%上でした。

AIが挙げた2つの数字は、どちらも正しい値です。片方は買取価格、もう片方は市場指数で、回答のどこにもその区別は書かれていませんでした。差の符号が反転し、在庫全体の値付けがそれに従って変わります。

1行が背負うもの

出どころの無い価格は、会議で守れません。

返すすべての行に、どうやって得たかの記録が付きます。別のAPIではなく、切ることもできません。

price_ex_tax_jpy
12,800
seller
掲載されていた出品者そのまま
url
読み取った販売ページ
retrieved_at
2026-08-21T02:20:04.756Z
fx_rate / fx_published_on
適用したレートと、そのレート自体の公表日
level / attempts
値を出した段と、試したすべての段

税抜価格は取得時に一度だけ確定させ、比較はその列しか読みません。税込と税抜を引き算した結果、ある資料は「香港が12.9%安い」と書きました。実際は4.3%でした。

毎朝、届くもの

調べる必要はありません。もう終わっています。

出社したときには、5つが机の上にあります。

01今日の自社の位置商品ごとに、各市場との差。税を揃えた上で
02昨日からの変化誰も保存していないので、後から買えません
03消えた掲載何かが売れたことを示す、もっとも近い公開信号
04誰が売っているか販売元の名前・掲載価格・リンク。平均値ではありません
05その数字の出どころ出品者・URL・取得時刻・為替レートとその公表日

実際の案件で測った結果を見る

ページの読み方

安い段から順に。高い段は使わなくて済みます。

段は列挙した順に走り、後の段は前の段が埋めなかった箇所だけを埋めます。

  1. 01css渡されたセレクタを読む費用なし
  2. 02structured_dataサイトが既に公開している JSON-LD と OpenGraph を読む費用なし
  3. 03llmページをモデルに説明させる

["css", "structured_data"] を渡せば、モデルが呼ばれないことが保証されます。商品ページのほとんどは必要としません ―― 監視する掲載を6倍にしても費用が2倍未満で済むのは、そのためです。

ゲート

数字がシステムを出る前に、31項目の検査を通ります。

どの項目も、実際に何かを捕まえたから在ります。以下はいずれも例外を出さず、それらしい数字を作りました。

  • 周辺アクセサリを商品本体として計上877倍の価格差ができた
  • 型番の末尾1文字が黙って落ちた価格の全く違う上位仕様と標準仕様が、同じ商品として混ざった
  • 一覧から1回消えただけで成約と判定9.3時間で188点が売れたと出た。並び順が変わっただけ

検査が正しい挙動で落ちたときは、検査のほうを直します。緩めません。実際に3つの検査が正常なデータを弾いており、3つとも切らずに修正しました。

取れなかった と 無かった

読み取りに失敗した朝、素朴な仕組みはこう報告します ―― 「競合の在庫が一晩で全部売れました」。

データの上では、取得の失敗と、完売は、まったく同じ形をしています。どちらも0件です。そして、これは人が実際に動いてしまう数字です。

そのまま出すと

相手がサイトを改装した。こちらの読み取りが外れる。返るのは0件。前日との差分は「全掲載が消滅」。原因はこちら側にあるのに、報告は相手の市場の話になります。

実際にやっていること

その情報源が今日ちゃんと答えたかを先に確かめ、答えなかった情報源の掲載は消滅の判定から外します。数にも入れません。さらに、一度消えただけでは成約と判定しません ―― 並び順が変わっただけ、ページが分かれただけで消えることは日常だからです。

拒否は拒否として記録します。403 や 429 は HTTPステータスとして返り、「中身が空の成功」にはなりません。空で返すと「そこには何も無い」と読めてしまい、原因を別の場所に探しに行かせます ―― 実際のメッセージは「速度を落とせ」でした。

どこから読むか

ページは、誰が見に来たかで姿を変えます。

通貨、在庫、並び順、同意バナー、そしてAIがあなたの名前を挙げるかどうか ―― どれも、違う国からでは観測できません。

リクエストごと

国を指定していただきます

リクエストごとに「どの国から読むか」を指定でき、レスポンスにはどの国から読んだかが記録されます。同じページを複数の市場から同時に読んで、並べて比較できます。

抑制

頼まれなくても間隔を空けます

同一ドメイン宛の通信は、こちらがどれだけ速く送っても間隔が空きます。robots.txt は取得して従い、crawl-delay も守ります。禁止されたパスは取得を試みずに拒否します。これを解除する設定はなく、サポートに依頼しても解除できません。

拒否

拒否は、拒否として記録します

403 や 429 は HTTPステータスとして返り、「中身が空の成功」にはなりません。空の結果は「そこには何も無い」と読めてしまい、セレクタを疑いに行かせます。実際のメッセージは「速度を落とせ」でした。

やらないこと

以下はいずれも、方針で戒めているのではなく、コードに存在しません。

これを必要とするお客様は、お断りします。

  • フィンガープリントの偽装をしない ―― クライアントの正体を隠さない
  • CAPTCHA を迂回しない ―― 認証課題は答えであり、その答えは「否」です
  • ログインを迂回しない ―― アカウント無しの訪問者が見られる範囲だけ読む
  • 宣言された制限を超えない ―― アドレスを回して速度制限を避けるのは容量ではなく回避です
  • 読み取り先のページから個人情報を収集しない

原則だけでなく商売の理由もあります。一度拒否された取得元は、二度と読めません。 失うのは当社だけでなく、その情報源を必要としているすべてのお客様です。利害と倫理が同じ方向を向いています。

同じ器械で

その国からでないと答えが出ない、4つの問い。

仕組みは4つとも同じです。変わるのは情報源の一覧だけです。

01

価格と在庫

自社の在庫が今朝どの市場のどこにいるか、昨日から何が動いたか、そしてどの掲載がいつ消えたか。

02

AIの回答に何と書かれているか

対話型AIの答えは国と言語で変わります。名前が挙がるか、どう説明されるかは、その市場の中から聞かないと分かりません。

03

ブランド保護

別の国の消費者が実際に目にしている模倣品の出品、非正規の転売、乗っ取られた広告。

04

表示と法令順守の証跡

どの国で、いつ、ページに何が表示されていたか ―― 主張ではなく証拠として使える記録つきで。

料金はまだ決めていません。

十分な数のお客様に売っていないので、いくらの価値があるか分かりません。表を埋めるために作った数字は、後で撤回することになります。最初のお客様は、価格の決定に関わり、その価格を保てます。

実測の事例を読む取得方針を読む