Best Proxies for Puppeteer 2026 - DataImpulse cover

Puppeteerは、ヘッドレスChromeを操作して、データ収集や自動化を行うツールです。JavaScriptをレンダリングし、ログインやクリックを処理し、2026年現在、Node.jsによるデータ収集基盤の多くで使われています。しかし、1つのデータセンターIPから目的のサイトへアクセスすると、すぐにブロックされたりレート制限されたりします。解決策は、Puppeteerの通信をプロキシ経由にすることです。理想的にはレジデンシャルプロキシを使い、各セッションを通常の利用者による通信に見せやすくします。Puppeteer特有の注意点は、ChromeがプロキシURL内のユーザー名とパスワードを受け付けないことです。そのため、認証には追加の手順が1つ必要です。このガイドでは、動作するコードとともにPuppeteerでプロキシを設定する方法を正確に示し、そのうえで価格、成功率、導入のしやすさに基づいて2026年のPuppeteer向けベストプロキシ8選を紹介します。

私はAndrii Byzovです。Puppeteerベースのデータパイプラインを日々運用しているAI分野を専門とするフラクショナルCMOです。以下では、多くの人がつまずく認証手順を含むコピー&ペースト可能な設定、大規模運用に対応するローテーションのパターン、そして予算を投じる価値のあるプロバイダーを紹介します。比較では、DataImpulseのレジデンシャルプロキシを$1/GBという価格基準にします。


重要なポイント

  • --proxy-server 起動フラグでプロキシを設定します。 puppeteer.launch()args に渡すと、そのブラウザで開くすべてのページに適用されます。
  • Chrome はプロキシURL内の認証情報を無視します。 認証付きプロキシの場合は、page.goto()前に page.authenticate({ username, password }) を呼び出す必要があります。または、認証を処理する proxy-chain ライブラリでプロキシをラップします。
  • SOCKS5 認証はサポートされていません。 Chromium(したがって Puppeteer)では SOCKS5 経由のユーザー名/パスワード認証に対応していません。認証付きレジデンシャルプロキシには HTTP/HTTPS エンドポイントを使用してください。
  • 再起動または proxy-chain でローテーションします。 --proxy-server フラグはブラウザごとに固定されるため、ローテーションするにはプロキシごとに新しいブラウザを起動するか、ローテーションする上流プロキシに接続するローカルの proxy-chain ラッパーを使用します。ローテーション型の住宅用ゲートウェイなら、接続ごとに自動的に新しい IP が割り当てられます。
  • DataImpulse はコスト重視の選択肢です。 住宅用は従量課金で $1/GB、データセンターは $0.50/GB、モバイルは $2/GB、195 か国に 90M+ IP、HTTP/HTTPS/SOCKS5、国/都市/ASN ターゲティングに対応し、エンタープライズ向けサービスのGB単価と比べ、はるかに低コストで利用できます。

Puppeteerでプロキシを設定する方法

信頼性の高い設定方法は2つあります。組み込みフラグとpage.authenticate()を組み合わせる方法、または認証とローテーションをより簡潔に扱えるproxy-chainライブラリを使う方法です。

1. --proxy-serverフラグ + page.authenticate()

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    args: ['--proxy-server=http://gw.dataimpulse.com:823'], // DataImpulse gateway
  });
  const page = await browser.newPage();

  // Chrome won't take credentials in the URL — authenticate separately,
  // BEFORE the first navigation:
  await page.authenticate({
    username: 'YOUR_LOGIN__cr.us', // __cr.us = target the US
    password: 'YOUR_PASSWORD',
  });

  await page.goto('https://httpbin.org/ip'); // verify the egress IP
  console.log(await page.evaluate(() => document.body.innerText));
  await browser.close();
})();

2. proxy-chainライブラリ(認証とローテーションをより簡潔に処理)

Apifyのproxy-chainは、認証情報を保持して上流ゲートウェイへ転送するローカルプロキシを起動します。そのためpage.authenticate()を省略でき、上流プロキシを切り替えてローテーションできます。

const puppeteer = require('puppeteer');
const proxyChain = require('proxy-chain');

(async () => {
  const upstream = 'http://YOUR_LOGIN__cr.us:[email protected]:823';
  const newProxyUrl = await proxyChain.anonymizeProxy(upstream); // local, auth handled

  const browser = await puppeteer.launch({ args: [`--proxy-server=${newProxyUrl}`] });
  const page = await browser.newPage();
  await page.goto('https://httpbin.org/ip');
  console.log(await page.evaluate(() => document.body.innerText));
  await browser.close();
  await proxyChain.closeAnonymizedProxy(newProxyUrl, true);
})();

3. SOCKS5とローテーションに関する注意点

PuppeteerではSOCKS5(--proxy-server=socks5://gw.dataimpulse.com:824)を使用できますが、ChromiumはSOCKS5経由のユーザー名/パスワード認証をサポートしていません。そのため、SOCKS5はIPホワイトリスト方式でのアクセスに限定し、認証付きレジデンシャルプロキシはHTTP/HTTPSエンドポイントで使用してください。--proxy-serverはブラウザの存続期間中は固定されるため、プロキシごとに新しいブラウザを起動するか、proxy-chainをローテーションゲートウェイに向けることでローテーションします。これにより、新しい接続ごとに新しいIPが割り当てられます。DataImpulseは、最新の設定をまとめたPuppeteerプロキシチュートリアルを提供しています。


Puppeteer向けプロキシ比較表

プロバイダー Puppeteerに最適な用途 レジデンシャル価格 プロトコル 注目ポイント
DataImpulse 高いコストパフォーマンス、自社パイプライン $1/GB PAYG HTTP/HTTPS/SOCKS5 90M+プール、公式Puppeteerチュートリアル、有効期限なし
Bright Data エンタープライズ + Scraping Browser プロモーション価格約$2.50/GB、通常$5 HTTP/HTTPS/SOCKS5 ホスト型「Scraping Browser」にCDP経由で接続、Web Unlockerも提供
Oxylabs エンタープライズSLA $6/GBから HTTP/HTTPS/SOCKS5 175M+プール、Web Scraper API、公式ガイド
Decodo 中堅企業向け、充実した地域指定 スターターは$3.75/GB、1TB+では約$2 HTTP/HTTPS/SOCKS5 115M+プール、最長24時間の固定セッション
IPRoyal 長時間の固定セッション $7.35/GBから HTTP/HTTPS/SOCKS5 最長7日間の固定、手頃な従量課金プラン
SOAX レジデンシャルとモバイルの併用 $3.60/GB Starter HTTP/HTTPS/SOCKS5 レジデンシャル155M+、モバイル33M+
Webshare 低予算 / セルフサービス レジデンシャルは$3.50/moから、データセンターは$2.99/mo HTTP/SOCKS5 無料プラン、最安クラスのデータセンター
NetNut ISPレジデンシャルの安定性 $3.53/GBから HTTP/HTTPS 消費者向けISPの固定IP、高速ローテーション

Best proxies for Puppeteer 2026: raw residential per-GB pricing vs managed scraping API per-1K-records pricing (heterogeneous units)


おすすめの概要

DataImpulseは、Puppeteerスクレイピングにおけるコスト効率に優れた基準となる選択肢です。住宅用プロキシは従量課金で$1/GB(データセンターは$0.50/GB、モバイルは$2/GB)、195か国に90M+ IP、HTTP/HTTPSとSOCKS5に対応し、ユーザー名経由で国/都市/ASNターゲティングが可能で、公式のPuppeteerチュートリアルも用意されています。トラフィックに有効期限がないため、テスト実行で契約枠を無駄にすることもありません。サポートは24/7の有人対応、公表されている成功率は99.51%、G2評価は4.8/5です。自社のPuppeteerパイプラインを運用し、成功ページあたりのコストを最小化したい場合の第一候補です。

Bright Dataはエンタープライズ向けの選択肢です。住宅用プロキシ(プロモ価格約$2.50/GB、通常$5)に加え、CDP経由(puppeteer.connect({ browserWSEndpoint }))で接続するホスト型のScraping Browserを提供しており、プロキシとアンチボット機能が組み込まれています。さらにWeb Unlockerもあります。Oxylabs($6/GBから、175M+プール)は、Puppeteer向けガイドが用意された、SLA対応のエンタープライズ向け選択肢です。Decodo($3.75/GBから、最長24時間の固定セッション)は、バランスのよい中堅企業向けの選択肢です。IPRoyal($7.35/GBから、最大7日間のスティッキー)は、長時間にわたりセッションの安定性が必要なPuppeteerフローに適しています。SOAX($3.60/GB、155M+住宅用 + 33M+モバイル)は、モバイルIPが必要な場合に有力です。Webshare(無料枠、データセンターは$2.99/moから)は低予算で始めるセルフサービス向けで、NetNut($3.53/GBから)はISPレジデンシャルプロキシの安定性を重視する場合の選択肢です。


Puppeteerにおけるローテーションプロキシと固定プロキシ

2つのモードには、それぞれ異なる役割があります。ローテーション型レジデンシャルプロキシは、接続ごとに新しいIPを使用し、大規模なデータ収集の標準的な選択肢です。各リクエストが独立している多数のページ、商品リスト、SERPのスクレイピングに適しています。ローテーションゲートウェイを使えば、新しいIPが自動的に割り当てられます。Puppeteerで明示的にローテーションするには、プロキシごとに新しいブラウザを起動するか、proxy-chainをローテーションエンドポイントに向けます。固定セッションは、同じIPを数分から数日間維持する方式で、ログイン、複数ステップのファネル操作、カートの維持など、状態を保持するフローに必要です。フローの途中でローテーションするとセッションが壊れ、アンチボット対策に検知されやすくなります。フロー全体で1つのブラウザ(そして1つの固定IP)を維持してください。IPRoyalは最長7日間の固定セッションに対応します。多くのPuppeteerスタックでは、収集にはローテーションを、複数ステップの作業には固定IPプールを組み合わせています。

Puppeteerでプロキシを使う際によくあるミス

  • 認証情報をプロキシURLに入れる。 Chromeはこれらを無視します。page.authenticate()page.goto()の前)またはproxy-chainを使用してください。
  • ナビゲーション後にpage.authenticate()を呼び出す。 最初のgotoの前に実行する必要があります。そうしないと、リクエストは407で失敗します。
  • 保護の厳しい対象でデータセンターIPを使用する。 すぐにブロックされる可能性があります。本格的なアンチボット対策がある対象には、住宅用またはモバイルを使用してください。
  • フィンガープリントを忘れる。 プロキシが隠すのはIPであり、ボットの兆候ではありません。現実的なユーザーエージェントやpuppeteer-extra-plugin-stealthと組み合わせて、ヘッドレスChromeが自ら正体を明かさないようにしてください。
  • 認証付きSOCKS5が動作すると考える。 Chromiumでは動作しません。ユーザー名/パスワード付きプロキシにはHTTP/HTTPSを使用してください。

Puppeteerにはどのプロキシタイプを選ぶべきか: レジデンシャル、データセンター、モバイル

3種類のプロキシには、3つの代表的な用途があります。

  • レジデンシャル ($1/GB): 標準的な主力タイプです。Eコマース、SERP、コンテンツ、アンチボット対策のあるあらゆる対象など、Puppeteerスクレイピングの大半に適した実際の一般消費者向けISPのIPです。1種類だけ選ぶなら、これを選んでください。
  • モバイル ($2/GB): 最も難しいターゲットや、モバイルWebやアプリ内の画面向けの実在するキャリアIPです。最も信頼されやすいIPクラスなので、レジデンシャルプロキシをブロックする接続先用に取っておきましょう。
  • データセンター ($0.50/GB): 最も安価で高速なタイプで、保護が厳しくない用途向けです。すでに収集済みのページの解析、オープンな参照データ、自社インフラなどに適しています。アンチボット対策が強いサイトには向けないでください。

ほとんどのPuppeteer作業では、データ収集にはレジデンシャルプロキシ、一部の保護が厳しい対象やアプリ専用の対象にはモバイルプロキシ、安価で保護が厳しくない作業にはデータセンタープロキシ、という使い分けになります。DataImpulseは従量課金アカウント1つで3種類すべてを提供しているため、単一のPuppeteerパイプラインで各ブラウザを適切な種類のプロキシに振り分けられます。


DataImpulse + Puppeteer の始め方

ステップ 1. DataImpulse アカウントを作成し、レジデンシャルプロキシの認証情報を取得します。$5 / 5GB の初回プランは有効期限なしで、実際のテスト用に利用できます。

ステップ 2. 起動時の args--proxy-server=http://gw.dataimpulse.com:823 を追加し、ページ遷移の前に page.authenticate({ username: 'YOUR_LOGIN__cr.us', password: '...' }) を呼び出すか、認証情報付きの URL を proxy-chain でラップします。地域指定には、ユーザー名に __cr.us のような国コードを追加します。認証付きプロキシは HTTP/HTTPS のまま使用してください。Puppeteer は SOCKS5 経由の認証には対応していません。

ステップ 3. ローテーションするにはブラウザを再起動するかproxy-chainを使用し、状態を保持するフローには 1つの固定IPを使うブラウザを維持します。puppeteer-extra-plugin-stealth と自然なuser-agent を組み合わせてください。詳細は Puppeteer プロキシチュートリアルレジデンシャルプロキシ ページをご覧ください。


FAQ

Puppeteerでプロキシを使用するにはどうすればよいですか?

puppeteer.launch()args配列に--proxy-server=http://gw.dataimpulse.com:823を渡します。認証付きプロキシの場合は、page.goto()の前にpage.authenticate({ username, password })を呼び出してください。ChromeはプロキシURLから認証情報を読み取りません。別の方法として、ローカルプロキシに認証情報を保持し、ゲートウェイへ転送するproxy-chainライブラリを使用できます。

Puppeteerに最適なプロキシは何ですか?

住宅プロキシです。ほとんどのターゲットがデータセンターIPをブロックするためです。DataImpulseは$1/GBでコストパフォーマンスに優れた選択肢です(HTTP/HTTPS/SOCKS5、90M+ IP、公式Puppeteerチュートリアル)。Bright Dataのホスト型Scraping BrowserやOxylabsはエンタープライズ向けに適しています。SOAXとDataImpulseのモバイルプロキシ($2/GB)はアプリ向けに役立ちます。常にプロキシをステルスプラグインと自然なフィンガープリントと組み合わせてください。

Puppeteerプロキシが407エラーを返すのはなぜですか?

407(Proxy Authentication Required)は、プロキシが認証情報を必要としているのにPuppeteerがそれを提供していないことを意味します。通常、認証情報をURLに入れている(Chromeはそれを無視します)か、最初のナビゲーション後にpage.authenticate()を呼び出していることが原因です。newPage()の直後、page.goto()の前にpage.authenticate({ username, password })を呼び出すか、proxy-chainを使用して認証を処理してください。

Puppeteerでプロキシをローテーションするにはどうすればよいですか?

--proxy-serverフラグはブラウザごとに固定されるため、プロキシごとに新しいブラウザを起動するか、proxy-chainライブラリをローテーションゲートウェイに向けてローテーションします。DataImpulseのようなローテーション型住宅ゲートウェイでは、新しい接続ごとにすでに新しいIPが割り当てられるため、多くの場合IPリストを管理する必要はありません。状態を保持するフローでは、ローテーションするのではなく、セッション全体で1つの固定IPを維持してください。

PuppeteerはSOCKS5と認証付きプロキシをサポートしていますか?

Puppeteerはpage.authenticate()またはproxy-chainを介して認証付きHTTP/HTTPSプロキシをサポートしています。SOCKS5(--proxy-server=socks5://...)も使用できますが、ChromiumはSOCKS5上でのユーザー名/パスワード認証をサポートしていません。そのため、認証付き住宅プロキシにはHTTP/HTTPSエンドポイントを使用し、SOCKS5はIPホワイトリスト方式のアクセス用に限定してください。

Puppeteerプロキシの費用はいくらですか?

通常のレジデンシャルプロキシはGB単位で料金設定されています。DataImpulseは$1/GB(最低価格帯)、NetNutは$3.53から、SOAXは$3.60、Decodoは$3.75、Oxylabsは$6から、IPRoyalは$7.35です。Webshareは$3.50/moから低価格サブスクリプションを提供しています。レンダリング済みページが消費する通信量はGBのごく一部です。そのため、大量のPuppeteerによるデータ収集では、GB単位で課金されるレジデンシャルプロキシは、レコード単位のマネージドAPIより大幅に安価です。マネージド型の選択肢は最も難しいターゲットに適しています。



Share article: