BMWの品番ひとつで、6ショップの価格を並べるアプリを作りました

パーツをどこで買うかの記事と故障と修理費用の記事に入れている価格比較表を、自動で更新できるようにウィジェットを開発していました。
その開発を進めているうちに、これは記事に載せた部品だけでなく、任意の品番を引けるアプリにできるんじゃないかと思いました。
なので、形にしてみました。
ひとつだけ先に書いておきます。Turner・ECS Tuning・FCP EUROの3店はリアルタイム取得ではないので、品番によっては出てこないことがあります。記事に載せてある部品は、すでに入っています。
品番を1つ入れると、6つのショップが並びます
入れるのは品番だけです。BMWの品番は数字11桁で、ハイフンや空白は入れても構いません。
その場で問い合わせに行くのが、eBay・AliExpress・楽天市場の3つ。日付つきの記録を出すのが、Turner Motorsport・ECS Tuning・FCP EUROの3つです。この違いが、この記事の後半のほぼ全部です。
金額は円を先に出していますが、ショップが実際に提示している通貨も併記しています。円は為替で動くので、換算した数字だけを見せると、その日の値段が確定しているように見えてしまうからです。
eBayだけ、並び順が価格順ではありません。セラー評価の高い順に最大3件です。番号を振ってあるのは、一番上を最安値だと読み違えないようにするためです。
この記事にそのまま埋め込んであるので、手元の品番で試してみてください。表示されない場合はアプリを直接開くこともできます。
ショップは、僕が普段見ている6つです
進めているプロジェクトで、オーナーさんから「海外調達だとこの部品いくらなの?」と聞かれることがよくあります。そのたびに僕が開いて回っていたのが、この6つの店です。
これで、聞かれるたびに6つ開いて回るという手作業は、すべて自動化できました。
どこを載せるかを先に決めて、あとから調べたら、そのうちのいくつかがアフィリエイトプログラムを出していたので実装しました。順番はこの通りで、逆ではありません。
TurnerとECS TuningはRakuten Advertising経由です。この2社は広告主IDが同じで、親会社(Enthusiast Auto Holdings)も同じなので、契約としては1つです。eBayはeBay Partner Network、AliExpressはPortals、楽天市場は楽天アフィリエイトを通しています。
FCP EUROだけ、どのプログラムにも入っていません。なのでリンクはそのまま通していて、PRの表示も付きません。PRが付いていない行は、僕に報酬が発生しない行です。
同じことをアプリの中にも書いてあります。枠が小さいからという理由で開示を省くと、開示が見た目次第になってしまうので、埋め込み表示でも消していません。
Turner・ECS Tuning・FCP EUROは、リアルタイムではありません
この3店はボット対策が入っていて、検索のたびに価格を取りに行くことができません。
なので、この3店だけはあらかじめ集めた価格をデータベースに保存しておいて、それを表示しています。表示している日付は、その価格を取った日です。
記事に載せてある部品は、すでに入っています。 検索すればそのまま出てきます。
入っていない品番は「未取得」と表示します。取っていないものを「該当なし」とは書きません。誰も確認していないことを、確認したかのように書くことになるからです。
「該当なし」と出るのは、そのショップに問い合わせが通って、扱いが無かったときだけです。
念のため、どのくらい断られるのかを2026年8月7日に測ってあります。同じ回線から、同じ時間帯です。
| 試した方法 | 結果 |
|---|---|
| サーバーから普通に取得する | 3店とも403 |
| 画面を出さないChromeで開く | 3店ともCloudflareのチャレンジ |
| 画面の出ているChrome+使い込んだプロファイル | 3店とも読める |
公式のルートも試しています。Rakuten Advertisingの広告主は、提携そのものは通っているのに、商品カタログを出していません。なので、何を検索しても0件が返ってきます。
集めるのは、検索履歴を見て僕がバッチを回します
読めるからといって、3店に大量のアクセスをかけるわけにはいきません。
そこで、検索された品番の履歴を管理画面で見ています。未取得のものが上に並ぶので、検索の多いものを僕が選んで、必要な分だけバッチを回します。
間隔はTurnerが20秒、ECS Tuningが20秒、FCP EUROが8秒です。
この数字は遠慮ではなく実測です。Turnerは連続で検索したらセッションごと30分以上締め出されました。ECS Tuningは12秒間隔で36品番までは通って、37品番目で断られました。詰めると、読めなくなります。
いま持っているのは42品番ぶんです。月1回くらいを目安に、検索されたものから増やしていく予定です。
なので、検索して未取得だった品番は、次に僕がバッチを回すまで出てきません。通知の仕組みは無いので、しばらく経ってからもう一度試してみてください。
品番は、いまのところRealOEMで調べています
このアプリは品番を受け取ります。車種と部品名から品番を探す機能はありません。僕自身もRealOEMを開いて手で調べています。
ここはETK(パーツ検索)と統合する予定です。そこが繋がるまでは、この形での公開になります。
症状から品番にたどり着く早い道は、いまのところこちらの記事のセクションごとの表です。

記事の価格表は、そのまま残します
記事の表は、僕が選んだ部品の、日付つきの記録です。アプリは、入力された品番をその場で調べるものです。役割が違うので、置き換えません。
2022年当時からどれだけ値上がりしたかという比較は、記事の表にしかありません。

後記
値段を1円まで当てることが目的ではありません。替えるか、待つか、別の店にするか。それをその場で決められる状態にすることが目的です。
この4年でいちばん変わったのは、「このショップが安い」と言い切れなくなったことでした。部品ごとに、その都度見るしかありません。それを毎回手でやるのが面倒だったので、アプリにしました。
同じところで手が止まっているオーナーさんが、品番を1つ入れるだけで済むようになれば、それで十分です。

