先に結論から書きます。
メルカリで実際に売れた「Nintendo Switch 有機ELモデル」の値段を自動で集めて、社内のルールと一緒にAIに渡したところ、
目立った傷や汚れがない本体なら、買取の目安は 21,600円 です(2026年10月13日時点、売り切れ6件の中央値24,000円から10%引き)
と、根拠つきで答えてくれるようになりました。
▶ Bright Data の無料トライアルに登録して、Webデータ収集を試す
しかも、自分で書いたプログラムは0行。やったのは、日本語でお願いすることと、決まった命令を貼り付けて実行することだけです。
ただし、途中で「エラーは出ていないのに、データが足りない」という落とし穴に何度もハマりました。この記事では、そのつまずきも含めて、そのまま公開します。
今回の全体像
| ステップ | やること |
|---|---|
| ① 準備 | Bright Dataの道具をパソコンに入れて、ログインする |
| ② スクレイパーを作る | 「この情報を集めて」と日本語でお願いする |
| ③ データを集める | 作ったスクレイパーを動かす |
| ④ 中身を確認する | 頼んだ情報が本当に取れているか見る |
| ⑤ 自動修理を試す | 足りなかった部分を、AIに直してもらう |
| ⑥ データを整える | 関係ない商品を取り除き、相場を出す |
| ⑦ AIに聞いてみる | 社内ルールと一緒に渡して、質問する |

今回の全体構成。外のデータ(メルカリ)と社内の資料を、同じ場所に入れてAIに探させます
そもそも「社内RAG」って何?
ポイント:RAGは、AIが答える前に資料を探して読む仕組みです。社内の資料だけでは、「メルカリの今の相場」のような外の情報には答えられません。
RAG(ラグ)は、ひとことで言うと 「AIが答える前に、資料を探して読んでから答える仕組み」 です。
テストにたとえると、AIに「持ち込みOKの資料」を渡しておくイメージです。AIは質問されるたびに資料の中から関係しそうなページを探し、それを読んでから答えます。だから、AIがもともと知らない社内のルールにも答えられるようになります。
ただ、社内の資料だけを渡したRAGには弱点があります。
例えば、リユース(中古品の買取・販売)の仕事をしている人が、社内のAIにこう聞いたとします。
このゲーム機、いまメルカリだといくらで売れてる?
社内の査定マニュアルには「状態がこうなら何%引き」というルールは書いてあっても、今の市場の値段は書いてありません。書いてあったとしても、すぐに古くなります。
そこで今回は、メルカリの公開されている情報を自動で集めて、社内の資料と一緒にAIに渡すことに挑戦しました。
この記事に出てくる言葉
最初に、よく出てくる言葉をまとめておきます。全部覚えなくても大丈夫です。分からなくなったら、ここに戻ってきてください。
| 言葉 | ひとことで言うと |
|---|---|
| スクレイピング | Webサイトから必要な情報を自動で集めること |
| スクレイパー | スクレイピングをするための「自動で集めるロボット」 |
| Bright Data | スクレイピングの道具やサービスを提供している会社 |
| Scraper Studio | 日本語でお願いするだけで、スクレイパーをAIが作ってくれるBright Dataのサービス |
| Claude Code | 日本語で指示すると、作業を代わりにやってくれるAI |
| ターミナル | 文字で命令を打ち込む「黒い画面」。WindowsではPowerShell |
| Collector ID | 作ったスクレイパーの「番号」。この番号で、同じスクレイパーを何度でも呼び出せる |
| JSON(ジェイソン) | 集めたデータを保存する形式の一つ。メモ帳でも開ける |
| クレンジング | 集めたデータの中から、ゴミや関係ない物を取り除いて整えること |
| RAG | AIが答える前に資料を探して読む仕組み(上で説明したもの) |
! 注意:集めてよい情報かどうか、先に確認しよう
今回集めたのは、ログインしなくても誰でも見られる情報だけです。出品者の名前やプロフィール、コメントなど、人に関わる情報は集めていません。集めたのは、商品名・値段・商品の状態などの「商品そのものの情報」です。
作業の前に、メルカリの利用規約も読みました。規約の本文には、スクレイピングを名指しで禁止する文は見つかりませんでした。ただし、「運営のじゃまになる行為」や「サービスで知った個人情報を、別の目的に使うこと」は禁止されています。
そこで今回は、検索結果1ページ分(最初の20件)だけにしぼりました。会社の仕事として続けて使う場合は、必ず法務の担当者に相談してください。
Bright Dataの利用ポリシー(Acceptable Use Policy)でも、ログインが必要なページの情報を集めることは禁止されています。作業の前に、こちらも確認しておきましょう(利用ポリシーを読む)。
① 準備:道具を入れてログインする
まず、Bright Dataの道具(CLIと呼ばれるもの)をパソコンに入れます。
WindowsならPowerShell、Macなら「ターミナル」というアプリを開いて、次の命令を1行ずつ貼り付けてEnterを押します。
npm install -g @brightdata/cli
bdata login
1行目で道具を入れて、2行目でBright Dataにログインします。2行目を実行するとブラウザが自動で開くので、「許可」を押せば完了です。
▶ まだアカウントがない方は、ここから登録できます:Bright Data の無料トライアルに登録する
! つまずきポイント
私は最初、この命令をBright Dataの管理画面にあるAIチャット欄に打ち込んでしまいました。チャットは「この命令を実行してください」と返すだけで、何も起きません。命令は、自分のパソコンの黒い画面(PowerShellやターミナル)に打ち込むものです。
② スクレイパーを作る:日本語でお願いするだけ
ポイント:bdata scraper create に検索結果のURLと日本語のお願いを渡すと、約7分でスクレイパーが完成し、番号(Collector ID)が発行されました。
次に、データを集めるロボット(スクレイパー)を作ります。
まず、ログインしていない状態でメルカリを開き、「Nintendo Switch 有機ELモデル 本体」で検索しました。絞り込みで「売り切れ」と「新しい順」を選びます。実際に売れた値段を、新しいものから集めるためです。

ログインせずに検索し、「売り切れ」「新しい順」で絞り込んだ画面(出品者の呼び名はぼかしています)
この検索結果のURLをコピーして、次のようにお願いします。
bdata scraper create "(さっきコピーした検索結果のURL)" "この検索結果に表示される最初の20件の商品について、各商品ページを開き、商品名、価格(数値のみ、円)、商品の状態、カテゴリ、ブランド、販売状況(販売中か売り切れか)、商品URLを取得して。出品者名、出品者のプロフィール、コメントなど個人に関する情報は取得しないで。" --name mercari-price-for-rag --pretty -o create.json --timeout 1200
長く見えますが、やっていることは 「このURLから、この情報を集めて」と日本語で伝えているだけ です。
お願いの文には、3つ工夫を入れました。
- 数を20件にしぼる。 集めすぎないためです。
- 値段は「数字だけ」と指定する。 「¥25,000」のような文字のままだと、あとで平均を計算できません。
- 集めない情報もはっきり書く。 個人に関わる情報を、最初から集めないためです。
! つまずきポイント
Windowsの場合、この命令は途中で改行せず、1行のまま貼り付けてください。インターネット上の解説では、命令の途中に \ を入れて改行していることがありますが、PowerShellではこれが使えません。
Enterを押すと、AIがスクレイパーを作り始めます。完成までは 約7分 かかりました。その間、画面には「Generating scraper...(作成中)」という表示が流れ続けます。
「Done(完成)」と表示されたら完了です
完成すると、c_mv6pwg3fx13f9uter のような番号(Collector ID)が表示されます。これが、今作ったスクレイパーの番号です。次からは、この番号を指定するだけで同じスクレイパーを呼び出せます。メモ帳などに必ず保存しておきましょう。
③ データを集める:番号を指定して動かす
ここから作ったスクレイパーを動かしていきます。
bdata scraper run c_mv6pwg3fx13f9uter "(同じ検索結果のURL)" --pretty -o result.json
こちらも 約7分 で終わり、エラーもなく result.json というファイルに結果が保存されました。

「Output written to result.json(結果を保存しました)」と出れば完了です
④ 中身を確認したら、足りなかった
ところが、result.json をメモ帳で開いてみると、こうなっていました。
| お願いしたこと | 実際の結果 |
|---|---|
| 最初の20件 | 15件しか取れていない |
| 販売状況(売り切れか販売中か) | 項目そのものが無い(15件すべて) |
| ブランド | 15件中3件が空っぽ |
| 商品名・値段・状態・カテゴリ | 15件すべて取れている |
| 出品者名などの個人情報 | 入っていない(お願いどおり) |
エラーは1つも出ていません。 黒い画面だけ見ていたら、「成功した!」と思って次に進んでしまうところでした。
もう1つ気づいたのが、商品名の中に 「〇〇様専用」のような、人の呼び名 が入っていたことです。出品者の名前は集めていなくても、出品者が商品名に書いた文字はそのまま入ってきます。これは、AIに渡す前に消す必要があります。
⑤ 自動修理(Self-Healing)を試してみた
ポイント:Self-Healing(自動修理)のあと、件数は「作業中の版」(--version=dev)を指定したときだけ20件に増えましたが、販売状況は最後まで0件のままでした。
Scraper Studioには、こわれたスクレイパーをAIが直してくれる 「Self-Healing(自動修理)」 という機能があります。足りなかった「販売状況」と「件数」を、これで直してもらいました。
bdata scraper heal c_mv6pwg3fx13f9uter "販売状況(売り切れか販売中か)の項目が出力に含まれていない。各商品ページのSOLD表示などから sales_status という項目名で取得して。また、検索結果の最初の20件を取得するはずが15件しか取れていないので、20件取れるようにして。出品者名など個人に関する情報は引き続き取得しないで。" --url "(同じ検索結果のURL)" --pretty -o heal.json --timeout 1200
ここでも、何が足りないのかを日本語で具体的に伝える のがポイントです。
約8分後、「awaiting approval(承認待ち)」と表示されました。これは失敗ではなく、「こう直しました。これでいいですか?」と確認を求めている状態です。
heal.json に入っていた見本のデータには、ちゃんと販売状況("sales_status":"sold_out"、つまり「売り切れ」)が入っていました。中身を確認してから、承認の命令を実行します。
緑色で「Scraper healed(修理完了)」と表示されました
ところが、もう一度動かしてみると……
直ったはずのスクレイパーで、もう一度データを集めてみました。
修理後の実行は約3分で終わりました
結果をグラフにすると、こうなりました。
件数・値段・販売状況が、それぞれ何件取れたか
ふつうに実行すると、件数は15件のままで、販売状況も0件のまま。直っていませんでした。
調べてみると、Bright Dataのスクレイパーには 「作業中の版」と「本番の版」 があることが分かりました。そこで「作業中の版」を指定して動かすと、件数は目標の20件になりました。修理の一部は、作業中の版にだけ入っていたようです。
ただし、販売状況はどの方法でも、最後まで0件のままでした。
作業中の版を指定して実行した画面
! つまずきポイント
作業中の版を指定するときは、--version=dev のように = でつなぎます。--version dev とスペースで区切ると、道具のバージョン番号(0.4.0)が表示されるだけで、スクレイパーは動きません。私はここで一度ハマりました。
ここで分かったのは、「見本では直っていた」と「本番で直った」は別 ということです。修理したら、必ずもう一度動かして中身を見る。これを飛ばすと、こわれたデータのままAIに渡してしまうところでした。
今回はここでデータ集めを終えることにしました。販売状況は、検索するときにすでに「売り切れ」で絞り込んでいるので、あとから補うことができます。
▶ Self-Healing(自動修理)や「作業中の版」の仕組みは、公式ドキュメントで確認できます:Scraper Studio の公式ドキュメントを見る
⑥ データを整える(クレンジング)
ポイント:ジャンク品・別の機種・ソフトや付属品などを外すと、残ったのは有機ELモデル本体の7件でした。全件の平均は、実際の相場より約7,000円安くなっていました。
ここからは、集めたデータを整える作業です。Claude Codeに日本語でお願いして、やってもらいました。
整える前のデータを、値段の高い順に並べてみます。
青が今回知りたい「有機ELモデルの本体」、灰色はそれ以外の物
「Nintendo Switch 有機ELモデル 本体」で検索したのに、ジャンク品(こわれている物)、別の機種、ソフト、充電器、ケースまで混ざっています。これをそのまま平均すると、正しい相場になりません。
そこで、次のように整えました。
- 商品名から「〇〇様専用」などの呼び名を消す
- 値段が取れていない商品を外す(4件)
- ジャンク品、別の機種、ソフトや付属品を、相場の計算から外す(9件)
- 販売状況を「売り切れ」と書き足す(検索の時点で絞り込んでいるため)
- 商品の状態を、社内の「状態ランク」に置きかえる
- 集めた日付(2026年10月13日)を書き足す
結果、残ったのは 有機ELモデルの本体7件 です。整える前と後で、平均の値段を比べてみます。
件数は減っても、こちらの方が実際の相場に近い
何も考えずに全部の平均を出すと、実際の相場より 約7,000円も安く なってしまいます。AIは渡されたデータをそのまま信じて答えるので、ここで手を抜くと、もっともらしい間違いを答えてしまいます。
外のデータを「社内の言葉」に置きかえる
もう1つ大事なのが、メルカリの表現と、社内の言葉を対応させることです。
メルカリの「目立った傷や汚れなし」が、社内の何ランクにあたるのかは、決めておかないとAIには分かりません。今回は、記事用に次のような対応表を作りました(実在の会社のルールではありません)。
| メルカリの表現 | 社内のランク(例) |
|---|---|
| 新品、未使用/未使用に近い | A |
| 目立った傷や汚れなし | B |
| やや傷や汚れあり/傷や汚れあり | C |
| 全体的に状態が悪い | D |
ランクBの6件だけを見ると、値段は21,500〜28,500円、真ん中の値(中央値)は 24,000円 でした。
⑦ AIに聞いてみる
ポイント:社内ルール(ランクBは基準価格から10%引き)と、売り切れ6件の中央値24,000円を渡すと、AIは買取の目安を21,600円と根拠つきで答えました。
最後に、整えたデータと社内のルールをAIに渡して、質問してみます。
AIが探しやすい形にする
AIに渡す前に、データを 「1商品=1枚のカード」 に分けました。専門的には「チャンク化」と呼ばれる作業です。1枚のカードには、こんな内容を書きます。
商品名:Nintendo Switch 有機ELモデル ホワイト
価格:25,000円(売り切れ)
状態:目立った傷や汚れなし(社内ランクB)
取得日:2026-10-13
出典:https://jp.mercari.com/item/(商品の番号)
さらに、それぞれのカードに 「どこから来た情報か」の札 を付けておきます。社内の資料なら「社内」、メルカリのデータなら「メルカリ」です。こうしておくと、AIが答えるときに「社内のルールではこう」「市場の値段はこう」と分けて説明できます。
今回は仕組みを試すのが目的なので、カードを探すのには、文字の似ている度合いで探す簡単な方法を使いました。会社で本格的に使う場合は、文章の意味の近さで探せる、専用の検索の仕組みに置きかえます。
質問と答え
次のように質問しました。
Nintendo Switch 有機ELモデルの本体を、目立った傷や汚れなし(ランクB)で買い取るなら、いくらが目安?
AIの答えはこうです。
社内ルールでは、ランクB(目立った傷や汚れなし)は基準価格から10%引きです。基準価格を、直近の売り切れ価格の中央値24,000円(2026年10月13日取得、有機ELモデル本体・ランクB 6件、21,500〜28,500円)とすると、買取の目安は 21,600円 です。
社内のルールと市場の値段を、それぞれ根拠つきで答えてくれました。
ここでもつまずいた
実は、最初からうまくいったわけではありません。
社内のルールとメルカリのデータを区別せずに探させると、上位8件のうち 7件がメルカリのデータで、社内のルールは1件しか出てきません でした。しかも、計算に欠かせない「基準価格は、売り切れ価格の中央値を参考にする」というルールが、探しても見つかりません。質問の文と、文字が似ていないからです。
そこで、次の2つに変えました。
- 社内のルールとメルカリのデータを、別々に探す。
- 計算の前提になるルールは、探させずに毎回AIに渡す。 社内のルールは数が少ないので、全部渡しても問題ありません。
かかった時間
ポイント:待ち時間は合計で約28分でした。
作業ごとに待ち時間をまとめると以下の通り。
どの作業も、命令を打つのは数秒。あとは待つだけです
待ち時間は合計で約28分でした。その間、自分でやることは特にありません。
▶ 集める件数を増やしたときの費用は、Bright Data の公式サイトで料金プランを確認できます:Bright Data の料金プランを確認する(公式サイト)
やってみて分かったこと
1. 「エラーが出ない=成功」ではない
今回いちばん大きな学びです。件数が足りない、項目が無い、値段が空っぽ。どれもエラーにはならず、ファイルを開いて初めて分かりました。AIに渡す前に、件数と空っぽの項目がないかは必ず確認しましょう。
2. 答えに「いつ・何件」を付けると信用しやすい
「24,000円です」と言われるより、「10月13日時点、売り切れ6件の中央値は24,000円(21,500〜28,500円)」と言われた方が、どこまで信じてよいか判断できます。今回は6件と少ないので、本格的に使うなら「件数が少ないときは参考値と伝える」ルールも必要だと感じました。
3. 外と社内をつなぐのは「対応表」
メルカリの表現と社内のランクをつなぐ対応表がないと、AIは2つを結びつけられません。ここは技術の話というより、仕事の現場の人と決めておくことでした。
他のやり方と比べると
| やり方 | 安定して集められるか | 手間 | 向いている場面 |
|---|---|---|---|
| 質問されるたびに、AIがその場でWeb検索する | 不安定(ブロックされやすい) | 少ない | ちょっと調べたいとき |
| 自分でスクレイパーのプログラムを書く | 作り方しだい | 多い(サイトが変わるたびに直す) | 専門の開発者がいる |
| Scraper Studioで集めて、定期的にAIに渡す | 安定しやすい(ブロック対策込み) | 少なめ(こわれたら自動修理) | 外のデータを続けて使いたい |
なお、利用者の多いサイトは、Bright Dataに「すでに完成しているスクレイパー」が用意されていることがあります。欲しい情報がそれで足りるなら、そちらを使う方が早くて確実です。Scraper Studioは、既製品では欲しい形にならないとき に使うのがよさそうです。
まとめ:取るのはロボット、答えるのはAI、確かめるのは人
振り返ると、自分でやったのは次の3つだけです。
- 日本語で「この情報を集めて」とお願いする
- 決まった命令を、黒い画面に貼り付けて実行する
- 集まったデータを開いて、中身を確かめる
プログラムは1行も書いていません。
一方で、最後の「確かめる」は人にしかできない と実感しました。エラーが出なくても、データが足りないことがある。AIはそれに気づかず、もっともらしく答えてしまう。だからこそ、データの中身を見る、答えに日付と件数を付ける、といった「人が確かめられる仕組み」が大切です。
社内のAIに「外の今」を教えたい人の参考になればうれしいです。
よくある質問(FAQ)
Q. 社内RAGとは何ですか?
A. AIが答える前に、資料を探して読んでから答える仕組みです。今回は社内の査定ルールに加えて、メルカリの売り切れ価格をBright Dataで集めてAIに渡しました。
Q. プログラムを書かずにスクレイパーを作れますか?
A. 作れます。Scraper Studio の bdata scraper create に、URLと「何を集めるか」を日本語で渡すだけで、約7分でスクレイパーができました。自分で書いたプログラムは0行です。
Q. エラーが出なければ、データは揃っていますか?
A. 揃っているとは限りません。今回は20件を頼んで15件、販売状況は0件でしたが、エラーは出ませんでした。AIに渡す前に、件数と空の項目は必ず確認してください。
Q. Self-Healing(自動修理)で直りますか?
A. 一部は直りました。件数は「作業中の版」(--version=dev)で20件になりましたが、販売状況は最後まで取れませんでした。修理のあとは、もう一度動かして中身を確かめてください。
Q. AIが出した買取の目安はいくらでしたか?
A. Nintendo Switch 有機ELモデル本体・ランクB(目立った傷や汚れなし)で21,600円です。2026年10月13日時点の売り切れ6件の中央値24,000円から、社内ルールの10%を引いた値です。
Q. メルカリの情報を集めてもよいですか?
A. 今回は、ログインせずに見られる商品の情報だけを、検索結果1ページ分(20件)にしぼって集めました。出品者の名前などの個人の情報は集めていません。会社で続けて使う場合は、利用規約を確認し、法務の担当者に相談してください。
無料で試す
欲しい情報をWebサイトから集めたいけど、専用のツールが見つからない?
Scraper Studio なら、やりたいことを日本語や英語で伝えるだけで、Webサイトから必要な情報を自動で集める仕組みを作れます。作った仕組みはそのまま使えるほか、必要に応じてコードを編集することもできます。Webサイトのデザインや仕様が変わった場合も、自動で修正に対応。アクセス制限への対策やプロキシ機能も備えています。
クレジットカードの登録も不要です。








