Japan Used Camera Market

io.github.Enu27由 GitHub 账号 Enu27 发布v0.2.0更新于 Nov 4, 2026

Search, price stats, price history and change alerts for Japan's used camera shops via Apify.

概览

AI 生成的概览

通过 Apify Actor 搜索、比价并追踪日本二手相机店的相机与镜头商品,需自备 Apify 令牌。

可以做什么
  • 按关键词、品牌、成色等级和价格区间,搜索 Fujiya、Sanpou、Naniwa 与 Hard Off 的当前二手相机和镜头商品
  • 按机型汇总当前在售价格,给出数量与最低、中位、最高价(日元和美元),并按店铺和统一成色等级细分
  • 从已存储的快照读取按机型、店铺和成色划分的每日价格历史,可指定天数
  • 在 Apify 账户中创建监控任务和定时计划,只报告新上架、降价、涨价或售罄的商品,并可选推送到 webhook
适用场景
适合在日本二手市场挑选或比较相机与镜头、判断某价格是否合理,或跟踪某机型中位价随时间的变化。也适合设置新上架或降价的定期提醒。
运行要求
需要 Node.js 20+ 和本地 stdio 客户端(如 Claude Desktop、Claude Code、Cursor),也可选用本地端口的 HTTP 模式。需要 Apify API 令牌,通过 APIFY_TOKEN 环境变量提供(HTTP 模式下也可每次请求用 Bearer 令牌),并能访问 Apify 与各店铺的公开页面。
安装前请注意
每次调用都会在你自己的 Apify 账户上运行 Actor,按结果计费,搜索和统计会消耗额度。start_monitor 会在你的 Apify 账户中创建任务和定时计划并启动一次运行,用完后需在 Apify 控制台删除。你提供的 webhook 地址会收到提醒推送。价格为含税标价而非成交价,且该服务与各店铺无关联。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Japan Used Camera Market,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Japan Used Camera Market — MCP server

[CI] [npm]

An MCP server that lets Claude and other MCP clients search, price and watch Japan's used camera shops:

  • Fujiya Camera (Nakano): full used stock, ~3,500 listings
  • Sanpou Camera (Jiyugaoka): full used stock, ~1,300 listings
  • Naniwa / Lemon-sha / Takachiho: new arrivals only, ~200–300
  • Hard Off Off Mall (nationwide): cameras and lenses on sale, ~16,000

Condition grades are normalized across shops (NEW > A > AB+ > AB > AB- > B > ASIS > PARTS), and every shop's own label is kept as well. Prices come in JPY and USD.

It runs the Japan Used Camera Market Actor on Apify with your own Apify token, so runs are billed to your Apify account. That is pay per result, and the free plan's monthly credit covers light use.

Install

You need Node.js 20+ and an Apify API token: Apify Console → Settings → API & Integrations.

Claude Desktop

Edit claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{  "mcpServers": {    "japan-used-camera": {      "command": "npx",      "args": ["-y", "@keiya-dev/japan-used-camera-mcp"],      "env": { "APIFY_TOKEN": "apify_api_..." }    }  }}

Restart Claude Desktop. The four tools appear under the 🔨 icon.

Claude Code

bash
claude mcp add japan-used-camera -e APIFY_TOKEN=apify_api_... -- npx -y @keiya-dev/japan-used-camera-mcp

Cursor / other stdio clients

Command npx, args ["-y", "@keiya-dev/japan-used-camera-mcp"], env APIFY_TOKEN.

Streamable HTTP

bash
APIFY_TOKEN=apify_api_... npx -y @keiya-dev/japan-used-camera-mcp --http --port 3000
  • Endpoint http://localhost:3000/mcp; health check /health.
  • Each request may send its own token as Authorization: Bearer <APIFY_TOKEN>; otherwise the server's APIFY_TOKEN is used.
  • The server is stateless (POST only, JSON responses).

Tools

ToolWhat it doesTypical time
search_listingsCurrent listings matching keywords / brands / grades / minPriceJpy / maxPriceJpy from the selected sources. Returns shop, title, brand, model key, normalized + raw grade, JPY, USD, stock flag and URL. maxItems 1–200 (default 20).15–60 s
price_statsPer-model summary of in-stock listings right now: count, min / median / max (JPY and USD) by shop and by grade, cheapest listing. maxItems = listings read first (default 300; 0 = everything, ~25 min with all shops).1–4 min
price_historyDaily min / median / max / count per model, by shop, grade and shop × grade, for the last days (default 90). Reads stored daily snapshots (Fujiya, Sanpou, Naniwa; since 2026-11-05), so there is no crawling. Needs keywords, brands or models (model keys from price_stats).seconds
start_monitorCreates, in your Apify account, a saved Task in monitor mode plus a Schedule (default hourly, cron, timezone) and starts the first run (baseline). Later runs emit only NEW / PRICE_DROP / PRICE_UP / SOLD_OUT, optionally POSTed to alertWebhookUrl (Slack, Discord, n8n…). Your client should confirm with you first; delete the Task/Schedule in Apify Console when done.~1 min to set up

sources (all tools): fujiya, sanpou, naniwa, hardoff. All four by default.

Example prompts

  • "What's the cheapest AB-or-better Leica M6 in Japanese shops right now?"
  • "Compare Nikon Zf prices by shop and grade."
  • "How has the median Fujifilm X100VI price moved over the last 30 days?"
  • "Watch for new Voigtländer lenses under ¥80,000 and post them to my Slack webhook https://hooks.slack.com/services/…"

Develop

bash
npm installnpm test            # tsc build + end-to-end tests (stdio, HTTP, missing token) against a fake Apify APInpm run start       # stdionpm run start:http  # HTTP on :3000

APIFY_API_BASE_URL overrides the Apify API base URL (used by the tests).

Notes

  • Not affiliated with any of the shops. Prices are the shops' tax-included asking prices, not sold prices.
  • Data comes from the shops' public listing pages only. Product pages, serial numbers and condition notes are not read.
  • The Actor's README covers coverage, limits and pricing: https://apify.com/keiya_dev/japan-used-camera-market

License

MIT

来源:README.md,提交 2dbc05e

工具

4

search_listings

Search used camera listings in Japan

Search current used camera / lens listings at Japanese shops (Fujiya Camera, Sanpou Camera, Naniwa new arrivals, Hard Off Off Mall). Returns title, brand, normalized condition grade, price in JPY and USD, stock status and URL. Takes ~15–60 s.

输入参数brandsgradessourceskeywordsmaxItemsmaxPriceJpyminPriceJpyincludeSoldOut

price_stats

Current price stats per model

Per-model price summary of in-stock listings right now: count and min / median / max (JPY and USD), broken down by shop and by normalized condition grade, plus the cheapest listing. Use keywords to stay fast (~1–4 min).

输入参数brandsgradessourceskeywordsmaxItemsmaxPriceJpyminPriceJpy

price_history

Daily price history per model

Daily min / median / max / count per model, by shop and condition grade, from stored daily snapshots of the shops (Fujiya, Sanpou and Naniwa; collected since 2026-11-05, so the first month is short). No crawling — returns in seconds. Needs keywords, brands or models.

输入参数daysbrandsgradesmodelssourceskeywordsmaxPriceJpyminPriceJpy

start_monitor

Start a change monitor (scheduled)

Creates, in the user's own Apify account, a saved Task running this Actor in monitor mode and a Schedule for it (hourly by default), then starts the first run to record the baseline. Later runs emit only changes (NEW / PRICE_DROP / PRICE_UP / SOLD_OUT) and can POST them to a Slack / Discord / n8n webhook. This creates resources and recurring runs that use the user's Apify credit — confirm with the user first.

输入参数cronname必填brandsgradessourceskeywordstimezonealertEventsmaxPriceJpyminPriceJpyalertWebhookUrl

版本历史

1
  1. v0.2.0最新Nov 4, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分