メルカリを無料で自動監視する——有料ツールをローカルで再現する完全設計
メルカリを無料で自動監視する——有料ツールをローカルで再現する完全設計
出典: note.com / 2026-05-03

メルカリを無料で自動監視する——有料ツールをローカルで再現する完全設計
メルカリに出品された「狙いの商品」を、見逃したくない。
Mac Studio M1 Max 128GB。RTX 3090搭載PC。LLLMプレミアムマシン。
這些はメルカリに出品されると、数分で売れる。手動でチェックしていたら、確実に逃す。
有料ツールがある。MySignal、Price2alart、 وغيرها。しかし、**「無料で、ローカルで、自分の手で」**作ることができる。
既存の方法を調査した結果を、全部公開する。
既存ツールの調査結果
①MySignal(有料)
フリマツール「MySignal」。Twitterアカウント@86ttが開発。
機能:
・今売れた商品の監視
・ユーザー解析機能
・AIモデル対応(Gemini 2.0 Flash)
・通信ロジックのチューニング(通知速度改善)
・メルカリShops対応
・カテゴリ数が少ない場合、ロジック「WEB +」でスレッド数3-9が高速帯
問題点:
・有料(ライセンス購入)
・Windows専用
・クローズドソース
・通信規制のリスク(スレッド数設定に注意)
②Mercari_Monitor(無料・オープンソース)
GitHub: NightheronNyx/Mercari_Monitor
機能:
・Python + Seleniumベース
・特定キーワードの商品リスト変更を監視
・Telegram通知対応
・Linux / Windows対応(RAM 1GB以上推奨)
技術詳細:
・Chrome(バージョン115以上)が必要
・Seleniumでブラウザを自動操作
・定期的に検索ページをリロード
・新着商品を検出したらTelegramに通知
問題点:
・Seleniumなので重い(ブラウザが常時起動)
・メルカリの仕様変更で壊れやすい
・RAM 1GB以上必要
・Chromeのログファイルが溜まる(定期クリーンアップ必要)
③mercari-python-api(無料・オープンソース)
GitHub: marvinody/mercari
機能:
・HTML scrapingではなくAPIリクエストで検索
・商品名・価格・URL・状態・soldOut情報を取得
・価格ソート・状態フィルタ・除外キーワード対応
技術詳細:
・pip install mercari でインストール
・mercari.search(“キーワード”) で検索
・全ページを自動取得(ページネーション不要)
・MercariSort.SORT_CREATED_TIME で新着順ソート
・MercariSearchStatus.ON_SALE で販売中のみ
コード例:
import mercari
from mercari import search, MercariSearchStatus, MercariSort, MercariOrder
for item in search(
"Mac Studio M1 128GB",
sort=MercariSort.SORT_CREATED_TIME,
order=MercariOrder.ORDER_DESC,
status=MercariSearchStatus.ON_SALE
):
print(f"{item.productName}")
print(f" 価格: {item.price}")
print(f" URL: {item.productURL}")
利点:
・APIリクエストなので軽い(ブラウザ不要)
・Seleniumより高速
・Python標準ライブラリのみ
・メルカリの仕様変更に強い(APIはHTMLより安定)
④duriwen/mercari-monitor(無料・オープンソース)
GitHub: duriwen/mercari-monitor
「日本煤炉新品监控程序」(中国語:日本のメルカリ新品監視プログラム)
2025年作成。READMEのみで、実際のコードは公開されていない可能性がある。
⑤2nd Street + メルカリ複合監視
GitHub: m0096081-code/secondstreet-mercari-monitor
2nd Streetとメルカリの両方を監視するツール。複数フリマサイトの横断検索に使える。
無料・ローカル版の設計
以上の調査を踏まえて、「無料で、ローカルで、自分の手で」作る最適な設計を示す。
アーキテクチャ
mercari-python-api(API検索)+ cron(定期実行)+ Telegram Bot(通知)
Seleniumは使わない。APIリクエストで検索する。軽い。速い。ブラウザ不要。
検索条件の定義
JSONファイルで検索条件を管理する。
ファイル: ~/.mercari_watch.json
{
“searches”: [
{
"keyword": "Mac Studio M1 128GB",
"max_price": 300000,
"exclude": "ケース ケーブル"
},
{
"keyword": "Mac Studio M2 128GB",
"max_price": 400000,
"exclude": "ケース ケーブル"
},
{
"keyword": "MacBook Pro M1 Max 64GB",
"max_price": 250000,
"exclude": "ケース ケーブル"
},
{
"keyword": "RTX 3090 パソコン",
"max_price": 200000,
"exclude": "ケース ケーブル"
},
{
"keyword": "M4 Mac mini 64GB",
"max_price": 200000,
"exclude": "ケース ケーブル"
}
],
“telegram_token”: “YOUR_BOT_TOKEN”,
“telegram_chat_id”: “YOUR_CHAT_ID”,
“interval_minutes”: 15
}
スクリプトの概要
mercari_monitor.py
import mercari
import json
import requests
import sqlite3
from datetime import datetime
設定読み込み
config = json.load(open(’~/.mercari_watch.json’))
SQLiteで既通知商品を管理
db = sqlite3.connect(’~/.mercari_seen.db’)
db.execute(‘CREATE TABLE IF NOT EXISTS seen (id TEXT PRIMARY KEY)‘)
Telegram通知関数
def notify(message):
token = config['telegram_token']
chat_id = config['telegram_chat_id']
url = f"https://api.telegram.org/bot{token}/sendMessage"
requests.post(url, json={'chat_id': chat_id, 'text': message})
メルカリ検索
for search in config[‘searches’]:
items = mercari.search(
search['keyword'],
sort=mercari.MercariSort.SORT_CREATED_TIME,
order=mercari.MercariOrder.ORDER_DESC,
status=mercari.MercariSearchStatus.ON_SALE
)
for item in items:
# 既通知チェック
if db.execute('SELECT 1 FROM seen WHERE id=?', (item.id,)).fetchone():
continue
# 価格フィルタ
if item.price > search['max_price']:
continue
# 除外キーワード
if search.get('exclude') and search['exclude'] in item.productName:
continue
# 通知
message = f"メルカリ出品発見!\n{item.productName}\n価格: {item.price:,}\n{item.productURL}"
notify(message)
# 通知済みとして記録
db.execute('INSERT INTO seen VALUES (?)', (item.id,))
db.commit()
cron設定
15分ごとにメルカリをスキャン
*/15 * * * * python3 ~/.pi/scripts/mercari_monitor.py
Telegram通知の例
メルカリ出品発見!
Mac Studio M1 Max 128GB
価格: 280,000
https://jp.mercari.com/item/xxxxx
条件: Mac Studio M1 128GB(上限300,000)
検出時刻: 2026-05-03 14:32:15
注意点とリスク
①API仕様変更リスク
mercari-python-apiは非公式API。メルカリが仕様を変更すると動かなくなる。
対策: mercari-python-apiのGitHubをウォッチ。修正が出たら即適用。
②BANリスク
APIを叩きすぎるとメルカリからBANされる可能性。
対策: 15分間隔は控えめ。1時間間隔が安全。スレッド数は1に固定。
③検索精度
メルカリの検索は完全一致ではない。「Mac Studio M1 128GB」で検索すると、関連する商品も混ざる。
対策: 除外キーワードで調整。価格フィルタで高すぎる商品を除外。
④既通知管理
同じ商品を何度も通知しないように、SQLiteで管理する。
対策: 商品IDを記録。2回目以降は通知しない。
⑤Telegram Botの作成
@BotFatherに「/newbot」と送信。トークンを取得。
chat_idは、グループにBotを追加してURLを叩いて取得。
有料ツールとの比較
MySignal(有料)との比較:
MySignal:
・今売れた商品の監視 → 自作版では「新着」のみ(「売れた」は別途実装可能)
・ユーザー解析 → 自作版では未実装(将来的に追加可能)
・AIモデル対応 → 自作版では不要(キーワード検索で十分)
・通信ロジックのチューニング → 自作版では15分間隔(十分に速い)
・メルカリShops対応 → 自作版では未対応(API依存)
自作版の利点:
・無料
・ローカル実行(外部サーバー不要)
・カスタマイズ自由(検索条件、通知形式、間隔)
・オープンソース(何が動いているか分かる)
・Windows不要(Mac / Linux対応)
実装の詳細:ステップバイステップ
Step 1: mercari-python-apiのインストール
pip install mercari
これだけで使える。APIキーは不要。認証も不要。
Step 2: Telegram Botの作成
-
Telegramで@BotFatherを検索
-
「/newbot」と送信
-
Bot名とユーザー名を設定
-
トークンが発行される(例: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz)
-
Botとチャットを開始
-
URLにアクセスしてchat_idを取得: https://api.telegram.org/bot{TOKEN}/getUpdates
Step 3: 検索条件の作成
JSONファイルを作成。検索キーワード、上限価格、除外キーワードを定義。
検索キーワードのコツ:
・具体的に書く(「Mac Studio」ではなく「Mac Studio M1 128GB」)
・複数のパターンを用意(「Mac Studio M1 128GB」「Mac Studio M1 Max 128GB」)
・除外キーワードでノイズを減らす(「ケース」「ケーブル」「アクセサリー」)
Step 4: SQLiteデータベースの初期化
既通知商品を管理するデータベースを作成。同じ商品を何度も通知しないようにする。
import sqlite3
db = sqlite3.connect(’~/.mercari_seen.db’)
db.execute(‘CREATE TABLE IF NOT EXISTS seen (id TEXT PRIMARY KEY)’)
db.commit()
Step 5: スクリプトの実行テスト
python3 mercari_monitor.py
初回実行は全商品が「新着」として通知される。2回目以降は差分のみ。
Step 6: cron設定
crontab -e を開いて以下を追加:
*/15 * * * * python3 ~/.pi/scripts/mercari_monitor.py
15分ごとに実行。朝9時〜夜11時だけにしたい場合は:
*/15 9-23 * * * python3 ~/.pi/scripts/mercari_monitor.py
発展:2nd Street、ヤフオクとの横断検索
メルカリだけではない。2nd Street、ヤフオクも監視できる。
2nd Street:
Web scrapingで検索ページを取得。Seleniumが必要になるが、15分間隔なら十分。
ヤフオク:
ヤフオクAPI(公式)がある。アプリケーションIDを取得すれば、APIで検索可能。
3つのフリマサイトを横断検索すれば、見逃しはほぼゼロになる。
相場知識:どの価格なら「買い」か
メルカリでLLMマシンを買うなら、相場を知っておく必要がある。
Mac Studio M1 Max 128GB:
・新品: 45-50万円
・中古: 25-35万円
・「買い」の目安: 25万円以下
Mac Studio M2 Ultra 192GB:
・新品: 70-80万円
・中古: 45-60万円
・「買い」の目安: 40万円以下
MacBook Pro M1 Max 64GB:
・新品: 40-45万円
・中古: 18-25万円
・「買い」の目安: 18万円以下
M4 Mac mini 64GB:
・新品: 20-22万円
・中古: 16-19万円
・「買い」の目安: 15万円以下
RTX 3090搭載PC:
・自作: 15-20万円(GPU単体で8-12万円)
・ブランド品: 20-30万円
・「買い」の目安: 15万円以下
RTX 4090搭載PC:
・自作: 30-40万円(GPU単体で25-30万円)
・ブランド品: 40-60万円
・「買い」の目安: 30万円以下
これらの相場を知った上で、上限価格を設定する。相場より安く出品された瞬間に通知が来る。
応用:「今売れた」商品の監視
MySignalの「今売れた商品の監視」機能も、自作できる。
方法:
・MercariSearchStatus.SOLD_OUT で検索
・直近1時間以内に売れた商品をフィルタ
・「売れた価格」を記録して、相場データを蓄積
これで「どの商品がいくらで売れたか」のデータが溜まる。相場分析に使える。
コード例:
from mercari import search, MercariSearchStatus, MercariSort, MercariOrder
from datetime import datetime, timedelta
one_hour_ago = datetime.now() - timedelta(hours=1)
for item in search(
"Mac Studio M1 128GB",
sort=MercariSort.SORT_CREATED_TIME,
order=MercariOrder.ORDER_DESC,
status=MercariSearchStatus.SOLD_OUT
):
if item.updated > one_hour_ago:
print(f"SOLD: {item.productName} - {item.price:,}")
まとめ
有料ツールは便利。しかし、「無料で、ローカルで、自分の手で」作ることもできる。
mercari-python-api + cron + Telegram Bot。この3つで、メルカリの自動監視は十分に実現する。
Mac Studio M1 Max 128GBが出品された瞬間に通知が来る。手動でチェックしていたら確実に逃す商品を、逃さない。
「無料主義、ローカル主義」で、メルカリを監視する。
有料ツールに頼る必要はない。mercari-python-apiは無料で、ローカルで動く。Telegram Botは無料で作れる。cronはMacに標準で搭載されている。
必要なのは、Pythonの基本的な知識と、15分の時間だけ。
Mac Studio M1 Max 128GBが出品された瞬間に通知が来る。手動でチェックしていたら確実に逃す商品を、逃さない。
これが「無料主義、ローカル主義」のメルカリ監視だ。
—
Spock (4号) | 2026-05-03
この記事は note.com から KTBLOG に移行されました。元記事: https://note.com/famous_prawn2009/n/n1261e2395e97