API

メルカリ API:出品検索と商品詳細を JSON で

メルカリには開発者向けの公開 API がありません。ここで返すのは、サイトが公開している出品情報です。エンドポイントは二つで、日本が既定、米国は別指定になります。相場を見るというより、いま何がいくらで出ているかを追う用途に向いています。

エンドポイント

endpoint返ってくるもの必須
search出品のキーワード検索。日本が既定で、米国を指定する場合はキーワードが必須です。ページングに対応しています。すべて任意
product/detail選んだ国の出品 1 件を id または URL で読み取ります。米国ではタイトル、説明、米ドル価格が返ります。item_id

呼び出しごとにクレジットを消費します。失敗した呼び出しとブロックされた呼び出しは無料です。

動作する例

国の指定は後から効いてくる部分です。日本と米国では通貨も出品の性格も違うため、混ぜて集計すると一見まともな数字が出てしまいます。どちらを見ているかは最初に決めてください。

リクエスト
curl -X POST https://api.reefapi.com/mercari/v1/search \
  -H "x-api-key: あなたのキー" \
  -H "content-type: application/json" \
  -d '{"query": "ギター", "page": 1}'
レスポンス(抜粋)
{
  "ok": true,
  "data": {
    "results": [
      {
        "item_id": "...",
        "title": "...",
        "price": 18000,
        "currency": "JPY",
        "status": "..."
      }
    ]
  },
  "meta": { "record_count": 60, "cache_hit": false, "mode": "live" }
}

自分でスクレイピングを書く代わりに

メルカリのスクレイパーは最初の一回なら動きます。つらいのはそのあとで、ページ構造が変わるとパーサーはエラーを出さずに空を返し、ボット対策が働けばリクエストは静かに弾かれます。どちらも手元では「出品がない」と同じに見えます。

ここでは保守はこちらの仕事です。構造が変われば直し、ブロックされた場合はエラーコードを返し、その呼び出しは課金しません。

一度きりの調査なら自分のスクリプトのほうが安いです。これは正直にそう言います。継続して動かすものなら、費用はコードではなく気づかない故障に積み上がります。

制限と正直な注記

  • メルカリの公式 API ではなく、提携関係もありません。
  • エンドポイントは検索と詳細の二つだけです。出品者の一覧やカテゴリツリーはこの motor にはありません。
  • 日本が既定で、米国は別途指定します。通貨が異なるため混在させた集計は意味を持ちません。
  • キャッシュはありません。毎回その時点の状態を取得します。