価格の監視
商品と読み取り先を登録して、毎朝「どの会社がいくらで売っているか」を受け取るまで。失敗したソースの扱いを含みます。
サイトの一番前に書いてある仕事です ―― 相場ではなく、どの会社が、いくらで売っているか。 それを毎朝、出所つきで受け取るための手順です。
早期アクセス中です。 一般公開の申し込みはまだ開いていません。ご希望の方は こちらからご連絡ください。
3つの言葉
| 商品 | お客様の型番やSKU。ご自身の税抜価格を添えると、差が自動で出ます |
| ソース | その商品を読みに行く1ページ。どの国から読むかを指定します |
| 掃引(sweep) | 全ソースを1回まわすこと。既定は1日1回です |
ソースが「商品 × ページ × 国」の単位なのは、同じページでもドイツから開くのと東京から開くのとで、返ってくる価格が違うからです。
何を取るかを決める
読むページごとに、価格・販売者・商品名・在庫・通貨のどれを取るかを選びます。 CSSセレクタは任意です ―― 空にすると、多くのショップが既に公開している機械可読な記述から拾います。うまくいかないページでだけ、セレクタを書いてください。
取る項目を決めていないソースは、毎朝読まれて何も返しません。 そして「何も無いページ」と見分けがつきません。画面はこれを警告します。
毎朝の掃引
POST /v1/monitor/sweep
{ "limit": 25 }期限が来たソースを取り、結果を記録します。ソースは取得の前に確保されるので、お客様の cron と当社の実行が重なっても、同じソースが二度掃かれることはありません。
二重の掃引は「行が重複する」問題ではありません。2回目は1回目が記録した掲載を見つけられず、すべてに不在を1つ数えます。 同じ朝に2回走れば、消滅の判定に届きます。
読み取りは POST /v1/extract を通ります。掃引の課金・制限・方針検査は、同じ内容を手で叩いたときと完全に同じです。別料金も別経路もありません。
返ってくるもの
{
"batch_id": "mrun_...",
"sources": 3, "answered": 2,
"seen": 7, "added": 1, "repriced": 2, "gone": 0, "pending": 0,
"excluded": [{ "sourceId": "msrc_...", "status": "refused", "error": "rate limited" }]
}answered が、実際にページを返した数です。 消滅の判定に加わるのはこれだけです ―― 失敗したソースと、在庫が全部売れたソースは、どちらも「何も返さない」から。
失敗したソースの扱い
これがこの製品の中身です。
- 応答しなかったソースの掲載は、一切さわりません。 売れたとも消えたとも数えません
- 1回消えただけでは成約と判定しません。 並び順やページ分割で消えるのは日常です
- 403 や 429 は拒否として記録します。「中身が空の成功」にはしません
空で返すと、読んだ人は「そこには何も無い」と解釈して、原因を別の場所に探しに行きます。実際のメッセージは「速度を落とせ」だったのに。
受け取り方
画面 ―― 今朝の表。1行ごとに販売者・国・税抜価格・前回との差・自社比・取得時刻・為替レートとその公表日・掲載URL。今朝読めなかった行は色が変わり、「last known — not read today」と出ます。
CSV ―― 同じ行に加えて、読めなかったソースも行として入ります (価格は空、read_status は not_read)。価格一覧から黙って落とすと、先週より短いリストが「市場が縮んだ」と読まれるからです。
メール ―― 掃引のあと、動いたものと読めなかったものがある朝だけ届きます。ワークスペースの構成員全員に、1回。
読めなかったソースは価格より先に書かれます ―― 数字を眺めて閉じる人が、その数字の意味を変える一文を必ず先に通るように。
1 source did not answer this morning. Their listings are unchanged. Nothing from them is counted as sold or withdrawn.
>
REFUSED https://... (DE) — rate limited
>
1 price moved:
>
SKU-4471 Retailer B — New York (US) ¥14,600 → ¥13,900 −¥700 https://... read 2026-08-22T02:20:04.000Z · FX 1.0000 (2026-08-20)
全部読めて何も動かなかった朝は送りません。 5日に4日空のメールは振り分けられ、何か言った日に見落とされるからです。ただし失敗があれば、値動きがなくても送ります。
Webhook ―― monitor.sweep_completed が掃引ごとに1回。 not_answered が payload に入っています。同じ batch の再実行では二度鳴りません。
数え方の約束
- 比較は税抜・JPY換算の列だけを読みます。税込と税別を引き算すると符号が反転します
- 税込か税別かはソースごとに宣言が要ります。既定値はありません ―― 既定値は同じ事故の再発経路です
- 為替は適用したレートと、そのレート自体の公表日を持ちます。週末をまたぐと両者は違う日になります
最終更新