メインコンテンツまでスキップ

search / item

result = c.search(
keyword="iPhone 13",
category_id=3833,
item_condition=["目立った傷や汚れなし"], # ラベル or id
sort="新しい順",
# 相場用: 売切込み
# on_sale_only=False,
# status=[1, 2], # on_sale + sold_out など constants.Status
)

戻り値(概要)

dry_run

{
"mode": "dry_run",
"url": "https://api.mercari.jp/...",
"headers": { "DPoP": "...", "X-PLATFORM": "android", "...": "..." },
"request_json": { "search_condition": { "...": "..." } },
"body_hex": "..."
}

live

{
"mode": "live",
"status": 200,
"items": [ { "item_id": "m...", "name": "...", "price": 12345, "...": "..." } ],
"count": 100,
"auth": { "guest_ready": true, "mode": "dpop_only" }
}

フィルタ組み立ての詳細は mercari.builder.build_search_dict / constants を参照。

高度な JSON 貼り付けadvanced-searchsearch_from_condition)。

dry_run の意味は concepts/dry-run

item

# クラシック C2C (m + 数字)
detail = c.item("m12345678901")

# ショップ商品 ID は shops API に自動ルーティング
detail = c.item("2JU3Md3BPJcmiYVPcva25H")

# source: "api" | "shops" | "web" | "auto"
detail = c.item("m123", source="auto")

dry_run=True のときは URL / ヘッダ形(DPoP 含む)を返します。ライブ時は normalized に平坦化した商品 dict が入ります。