ナレッジ

レジデンシャルプロキシで暗号資産取引所と市場データを収集する方法

暗号資産データの収集は、IP単位のレート制限、地域制限、24時間365日の稼働要件に直面する。レジデンシャルプロキシがこの3つすべてにどう対応するかを解説する。

Chris Collins

Chris Collins

2026年8月15日 · 1 分で読める

暗号資産市場は決して閉じません。価格、オーダーブック、取引、ファンディングレート、24時間統計は数百の取引所にわたって毎秒変動し、そのデータを収集するチームは、分析、リサーチ、集約、データセット構築のいずれであっても、昼夜を問わず、国境を越えて作業を行っています。この組み合わせは、通常のインフラではうまく扱えない特定の問題を浮き上がらせます。IPごとに強制される取引所のレート制限、国によって制限されるエンドポイントや製品、そしてフィードのあらゆる欠落を容赦しない市場です。レジデンシャルプロキシはこの3つすべてに対応します。

これは、レジデンシャルプロキシがどのように役立つかの実践的な説明であり、公式APIがフロントエンドのスクレイピングよりも適したツールとなる場面についても触れます。

暗号資産データチームが実際に収集しているもの

有用なデータの大半はマーケットデータです。シンボルごとの最終価格や24時間ティッカー統計、オーダーブックの深さ、直近の取引、OHLCVキャンドル、そして派生商品側のファンディングレートや金利です。多くの取引所では、これはまさにそのために構築された公開REST APIまたはWebSocket APIから得られ、そこから始めるべきです。フロントエンドのスクレイピングが必要になるのは境界部分です。必要なものに対して公開エンドポイントがない取引所や地域、上場情報やアナウンスのページ、ステータスやフィーのページ、あるいはAPIには制限をかけつつ公開サイトは開いているデータソースなどです。この記事の主題は、どちらのアプローチであっても同じ、その下にある収集レイヤーです。

1つのIPでは不十分な理由:レート制限

取引所のレート制限は厳格で、ほぼ常にIPごとにカウントされます。多くはウェイト制を採用しており、エンドポイントごとに異なるコストがIPごとの予算に課され、固定ウィンドウで補充されます。オーダーブックの深いスナップショットのような重いクエリはこの予算を急速に消費します。単一のアドレスから複数の取引所にわたって数百のシンボルをポーリングすると、数秒で上限に達し、スロットリングされ、その後一時的にバンされ、フィードが停止します。

解決策は、すべてを1つのアドレスから送るのをやめることです。多数のレジデンシャルIPにリクエストを分散させれば、各IPは自身のIPごとの予算内に十分収まりながら、全体のスループットは倍増します。これは高ボリュームの収集者が依拠するロードバランシングと同じロジックであり、無制限の同時接続が存在する理由でもあります。これは公開マーケットデータのスケーリング手法であり、特定のアカウントの制限を回避する方法ではありません。各取引所の文書化されたレート制限や利用規約を障害物として扱うのではなく、尊重することと組み合わせるべきです。

地理的制限とリージョン固定データ

暗号資産は、ウェブ上で最も地理的に分断された分野の一つです。一部の取引所は特定の法域では完全に利用不可であり、一部は規制上の理由で特定の商品やエンドポイントを地域によって制限し、一部はリクエストの発信元によって異なる手数料、上場情報、インターフェースを提供します。単一の場所から収集している場合、他の許可された地域のユーザーが見ているデータを単純に見ることができず、間違った国からのリクエストは完全にブロックされることもあります。

国、そして必要に応じて都市レベルのターゲティングを持つレジデンシャルプロキシを使えば、そのデータが公開されている地域のIPからリクエストを発行でき、その地域の通常の訪問者が収集するのと同じデータを収集できます。重要な留保点は、これはアクセスを許可されているデータに到達するためのツールであり、自分に適用されるべき制限を回避するためのものではないということです。公開マーケットデータを収集し、各取引所の利用規約と運用地域の法律を尊重し、真の禁止事項を回避するためではなく地理的に異なるデータに正当に到達するためにジオターゲティングを使用してください。

決して休まない市場のための信頼性

24時間365日の市場では、収集の欠落はデータセットの永久的な穴となり、その穴は高くつきます。バックテスト、リサーチの数値、あるいは1時間分がひそかに失われたフィードの上に構築された分析製品は、静かに間違ったものになります。すべてが1つのIPを通っている場合、単一のレート制限イベントやブロックがフィード全体を、解消するまで停止させます。

プール全体に分散させることで、この単一障害点を取り除くことができ、実際のフェイルオーバーと組み合わせることで、どのルートが劣化しても、フィードを流し続けられます。特定のIPでのレート制限応答、タイムアウト、またはチャレンジを検知し、そのルートを引退させ、新しいルートで続行します。これはマルチリージョンパイプラインにおけるフェイルオーバーの背後にあるパターンです。これらはすべて盲目的には機能しないため、取引所ごと、ルートごとにパイプラインを監視してください。成功率、レイテンシ、ギャップ検知は、データの穴になる前にソースが劣化していることを教えてくれます。多くの暗号資産データは時間に敏感であるため、クリーンで低レイテンシのプールも重要であり、地理的に近く評判の良い出口ノードでレイテンシを低く抑えることで、各スナップショットが届くまでの陳腐化を減らせます。

ストリームと整合性のあるスナップショットのためのスティッキーセッション

すべてのリクエストがローテーションすべきわけではありません。IPを固定すべき2つのケースがあります。

第一はWebSocketストリームで、これはリアルタイムのオーダーブックや取引データの大半が実際に届く方法です。ストリームは1つの長時間接続であるため、その生存期間中1つのIPを固定する必要があり、これは開いたソケットの下でアドレスがローテーションするのではなく、ストリームごとのスティッキーセッションを意味します。第二は整合性のあるスナップショットです。ある時点で複数の取引所間の価格やオーダーブックを比較している場合、ポーリングごとに異なるIP、場合によっては異なる地域からではなく、各取引所のシリーズが安定した一貫性のある観測点から得られることを望むため、取引所ごとのスティッキーセッションがその視点をクリーンに保ちます。高ボリュームのRESTポーリングはローテーションさせてレート制限を分散させ、ストリームと比較用フィードはスティッキーに保ちます。これらのIPの品質が、そもそも信頼されるかどうかを決めます。良好なレピュテーションを持つクリーンなアドレスは通過し、フラグ付けされたものはチャレンジを受けます。

公式APIを優先し、それをスケールさせるためにプロキシを使う

正直な位置付けはこうです。取引所が公開マーケットデータAPIを提供している場合は、それを使ってください。より高速で、構造化されたデータを返し、取引所が意図するアクセスパスであるため、利用規約の範囲内に留まれます。レジデンシャルプロキシはそのAPIの代替ではなく、それを規模と地理の両面でスケールさせるためのものです。ポーリングをIP間で分散させて各IPがIPごとの制限内に留まるようにし、地域限定の公開データに到達するために国をターゲティングし、ストリーム用にスティッキーセッションを保持し、フィードを生き続けさせるためにフェイルオーバーします。フロントエンドのスクレイピングは、その裏にAPIが存在しない本当のギャップのために取っておき、それも同じ抑制、つまり公開データのみ、サイトの利用規約と適用法の範囲内で扱ってください。これはデータ収集であり、取引や投資助言ではなく、ここにあるものは資産に関する推奨ではありません。

最小構成

RESTポーリング用のローテーティングレジデンシャルプロキシは、クライアントからは通常のプロキシに見えます。ターゲティングはゲートウェイ上のユーザー名に含まれるため、セッション識別子のない米国出口はリクエストごとにローテーションします。

import requests
PROXY = "http://customer-USERNAME-country-us:PASSWORD@p.shifter.io:443"
proxies = {"http": PROXY, "https": PROXY}
# Public ticker endpoint, one symbol, through a rotating US residential IP
r = requests.get(
"https://api.exchange.example/v1/ticker?symbol=BTC-USD",
proxies=proxies,
timeout=10,
)
r.raise_for_status()
print(r.json())

大規模なシンボルリストをこのような呼び出しの多数に分散させ、単一のIPが全負荷を担わないようにし、レート制限やタイムアウトの応答があった場合は、そのルートを引退させて新しいルートで再試行してください。WebSocketストリームの場合は、接続の生存期間中1つのIPを固定するためにセッション識別子を追加します。例えばcustomer-USERNAME-country-us-sid-book42のようにし、各ストリームに独自の識別子を与えてください。同じクライアントのパターンは、Pythonでレジデンシャルプロキシを使う一般的なガイドから引き継がれます。

結論

暗号資産取引所とマーケットデータの収集は、3つのことに制約されます。単一のアドレスがほぼ即座に到達するIPごとのレート制限、単一の場所からは到達できない地域固定のエンドポイントや製品、そしてあらゆる欠落を永久的な穴にする24時間365日の市場です。レジデンシャルプロキシはこの3つすべてに答えます。プール全体にポーリングを分散させて、各IPが予算内に留まりながら実効スループットを倍増させ、国をターゲティングして許可された地域が見ている公開データを収集し、ストリームと取引所間スナップショット用にスティッキーセッションを保持し、フィードが静かに停止しないよう監視付きでフェイルオーバーしてください。公式APIが存在する場所ではそれを使い、公開データと各取引所の利用規約を守り、プロキシレイヤーには、それが得意とすること、つまりスケールと地理を任せてください。

そのレイヤーがレジデンシャルプロキシの役割です。国と都市レベルのターゲティング、必要に応じたスティッキーセッションを備えた、本物の家庭用グレードIPの大規模なプールです。GB単位の価格設定により、実際に取得したデータに対して料金を支払うことになり、これは主に小規模で頻繁なマーケットデータリクエストが継続的に実行されるワークロードに適しています。

始める準備はできていますか?

Shifterのレジデンシャルプロキシをお試しください。IP 205M+件、195+カ国、$0.75/GBから。

始める