イーサリアムのブロックエクスプローラーAPIを使うと、エクスプローラーのWebサイトで見ているのと同じインデックス済みのデータをプログラムから取得できます。アドレスの全トランザクション履歴、トークンの送受信、検証済みコントラクトのABI、トークン保有者、価格といった情報です。これはまさに、素のイーサリアムノードが返してくれないデータです。問題は、提供元ごとに課金や制限の方法がばらばらで、しかも2025年から2026年にかけて無料枠を変更したところがいくつもあることです。このガイドでは、2026年9月に実際に検証した選択肢を比較し、短いコード例を2つ示したうえで、趣味のプロジェクトを台無しにしがちな最大のミス、つまりフロントエンドのコードにAPIキーを埋め込んでしまう問題について説明します。
エクスプローラーAPIとJSON-RPCは何が違うのか
イーサリアムのノードはすべてJSON-RPCを話します。JSON-RPCが答えられるのは、現在のステートや個々のオブジェクトについての質問です。あるアドレスの残高、既知のトランザクションハッシュのレシート、ブロック26,000,000の中身、コントラクト関数を呼び出した結果などです。一方で「このアドレスがこれまでに送ったトランザクションをすべて見せて」「このトークンを誰が持っているか」といった質問には答えられません。ノードはそうしたインデックスを保持していないからです。エクスプローラーはノードの上でインデクサーを動かしてそうしたテーブルを作り、それをエクスプローラーAPIとして公開しています。
実務上の目安はこうです。ハッシュがすでにわかっている場合や、現在のステートだけが必要な場合はJSON-RPCで十分で、多くはキーも不要です。履歴、トークン一覧、保有者、デコード済みのログ、検証済みのソースコードが必要なら、エクスプローラーAPIかインデックスサービスが必要になります。多くのアプリは両方を併用しており、当サイトのツールもそうしています。
Etherscan API V2:定番だが、無料枠の制限は厳しくなった
EtherscanのAPI V2は、ほとんどのチュートリアルで使われている定番のAPIです。1つのキーでおよそ60〜70のEVMチェーンに対応し、chainidパラメータでチェーンを指定します。たとえばapi.etherscan.io/v2/api?chainid=1&module=account&action=balance&address=0x…&apikey=YOUR_KEYのような形です。モジュールはアカウント、コントラクト(ソースとABI)、トランザクション、ブロック、ログ、トークン、ガス、統計をカバーしています。旧V1のエンドポイントは2025年8月15日に停止されており、試しに呼び出してみると、V2への移行ガイドを案内するレスポンスが返ってきました。
無料プランでは毎秒3回・1日10万回まで呼び出せますが、キーが必須で、クレジット表記も求められます。2026年に押さえておくべき変更は3つです。1つ目は、2025年11月22日にBase、BNB Chain、OP Mainnet、Avalanche、Gnosisが有料プランの対象に移ったこと。有料プランは月額49ドルのLiteから始まり、イーサリアムのメインネットは引き続き無料です。2つ目は、2026年7月1日から無料枠ではtxlist、tokentx、getLogsなどの一覧系エンドポイントが、1万件ではなく1リクエストあたり最大1,000件しか返さなくなったこと。旧制限を前提に書かれたページ送りのコードは、エラーも出さずにデータを取りこぼします。3つ目は、ブロック範囲指定の内部トランザクション取得が有料のProプランに移ったことです。検証済みソースコードとABIのエンドポイントは、どのプランでも引き続き使えます。Webサイト側の使い勝手についてはEtherscanのレビューで解説しています。
Blockscout REST API v2とEtherscan互換API
Blockscoutは100以上のチェーンでエクスプローラーを運用しており、イーサリアム版はeth.blockscout.comです。各インスタンスは2種類のインターフェースを公開しています。/api/v2/配下のREST API v2が新しいほうで、トランザクション、アドレス、トークン、トークン残高、ログ、内部トランザクション、blob、EIP-7702のオーソリゼーションをきれいなJSONで返します。もう1つの/api?module=…&action=…配下のレガシーRPC APIはEtherscanのパラメータをそのまま踏襲しているので、既存のコードの多くはベースURLを変えるだけで動きます。イーサリアムのインスタンスでは、どちらも現在のところキーなしで使えます。キーなしで残高を問い合わせたところ、vitalik.ethの6.7179 ETHが即座に返ってきました。
const hash = '0x2f1c5c2b44f771e942a8506148e256f94f1a464babc938ae0690c6e34cd79190';
const res = await fetch(`https://eth.blockscout.com/api/v2/transactions/${hash}`);
const tx = await res.json();
console.log(tx.block_number, tx.result, tx.fee.value);
// 4634748 'success' '12683176000000000' (2017年11月のUSDTデプロイ)
キーなしのリクエストにはIPアドレス単位のレート制限があり、レスポンスにはx-ratelimit-limitとx-ratelimit-remainingのヘッダーが含まれるので、それを見て行儀よく間隔を空けられます。注意点は2つあります。Blockscoutのドキュメントは現在、開発者をapi.blockscout.comのキー付きマルチチェーンPRO APIへ誘導しています。無料キーでは毎秒5リクエスト・1日10万クレジットが使え、デフォルトの1回20クレジットで計算するとおよそ5,000リクエストになります。また、公開インスタンスへのスクリプトによるサーバー側からのアクセスは、ボット対策のチャレンジに引っかかることがあるとドキュメントで警告されています。当サイトのおすすめは、ブラウザアプリやプロトタイプには公開インスタンスを、バックエンドのジョブには無料のPROキーを使う、という使い分けです。なお、Blockscoutの現行リリースはBlockscout Software Licenseによるソースアベイラブル型です(以前のバージョンはGPL-3.0でした)。詳しくはBlockscoutのレビューをご覧ください。
Routescan・Blockchair・Ethplorer
Routescanは、70以上のチェーン向けにEtherscan互換のAPIを提供しており、URLはapi.routescan.io/v2/network/mainnet/evm/1/etherscan/apiのような形です。キーなしで毎秒2リクエスト・1日1万回、無料の登録キーを使えば毎秒5回・1日10万回まで引き上げられます。すでにEtherscanの書式で書かれたコードにとっては、もっとも手軽なキー不要のフォールバック先です。
Blockchairは、マルチチェーンのクエリや分析的なクエリに向いています。テーブルにはSQLに似たフィルター、並べ替え、集計を指定でき、同じ呼び出し方でビットコインにもイーサリアムにも使えます。無料枠は小さく、個人・非商用の利用で1日およそ1,440リクエスト、1分あたり30回が上限で、商用利用には有料キーが必要です。検証では数回呼び出しただけでテスト用IPが一時的にブラックリスト入りしたので、無料枠を前提にした開発はおすすめしません。詳しくはBlockchairのレビューで取り上げています。
Ethplorerはトークン中心のAPIです。getAddressInfoを1回呼び出すだけで、あるアドレスが持つすべてのERC-20残高がUSD価格つきで返ってきます。ほかのサービスなら何回か呼び出しが必要な内容です。共有のfreekeyは毎秒2リクエスト・1日1,000回が上限で、無料の個人キーなら毎秒10回まで使えます。制限の詳細はEthplorerのレビューをご覧ください。
専門特化型のAPI:beaconcha.inとBlobscan
バリデーター、アテステーション、報酬、引き出しといったコンセンサス層のデータは、実行層のエクスプローラーにはありません。定番の取得元はBitfly社のbeaconcha.inですが、現在はすべてのエンドポイントでキーが必要です。無料で使えるのは1,000リクエスト・毎秒1回までの30日間トライアルだけで、その後の有料プランは年払いで月額およそ59ユーロからです。軽い用途なら、ビーコンノード自体のREST APIを使うほうが安上がりな場合もあります。代替手段はビーコンチェーン・エクスプローラーガイドで紹介しています。
Blobscanは、2024年3月以降にロールアップがイーサリアムへ投稿しているデータであるEIP-4844のblobをインデックスしています。api.blobscan.comのオープンソースのREST APIはキーなしで応答し、たとえば/blobs?ps=1を呼び出すと、最新のblobがバージョン付きハッシュ、コミットメント、ブロックとともに返ってきます。ロールアップのバッチがきちんと取り込まれたかを確かめるには最速の方法です。背景知識はblobエクスプローラーガイドで解説しています。
公開JSON-RPCエンドポイントと、有料ノードに切り替えるタイミング
ステートを読むだけなら、エクスプローラーはまったく必要ないことも多いです。次のキー不要のメインネット用エンドポイントは、2026年9月の検証でCORSを有効にした状態でリクエストに応答しました。ethereum-rpc.publicnode.com、eth.drpc.org、1rpc.io/eth、rpc.flashbots.netです。Flashbotsのエンドポイントは主に、公開メンプールを通さずにトランザクションを非公開で送るためのものなので、読み取り用としては予備と考えてください。かつての定番の中には姿を消したものもあります。Ankrは現在キーが必要になり、Cloudflareのゲートウェイはもうリクエストに応答しません。
curl -s https://ethereum-rpc.publicnode.com \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_getBalance",
"params":["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","latest"]}'
# {"jsonrpc":"2.0","id":1,"result":"0x5d3abe2cfc589d15"} = 6.7179 ETH
公開エンドポイントは共有のリソースで、利用量の計測はされない代わりに何の保証もありません。レート制限をかけられたり、わずかに古いデータが返ってきたり、広いブロック範囲に対するeth_getLogsのクエリを拒否されたりすることがあります。稼働率の保証が必要なとき、古いブロック時点のアーカイブステートが必要なとき、debug_やtrace_メソッドを使いたいとき、新しいブロックや保留中のトランザクションをWebSocketで購読したいとき、トークン残高や送受信履歴向けの拡張メソッドが欲しいときは、Alchemy、Infura、QuickNodeといったノードプロバイダーに移行しましょう。3社ともクレジットやコンピュートユニットで計測する無料枠を用意しているので、料金ページで割り当て量を比べてみてください。スタックを自分で運用したいなら、オープンソースのイーサリアム・エクスプローラーのガイドで、自分のノードにローカルのエクスプローラーを載せる方法を紹介しています。
CORSと、APIキーをフロントエンドのJavaScriptに置いてはいけない理由
ブラウザからエクスプローラーを呼び出せないのはCORSのせいだ、と思い込んでいる開発者は少なくありません。しかし、たいていはそうではありません。レスポンスヘッダーを確認したところ、Etherscan、Blockscout、Routescan、Ethplorer、Blockchair、BlobscanはいずれもAccess-Control-Allow-Origin: *を返しており、先ほどの公開RPCエンドポイントもクロスオリジンの呼び出しを許可していました。ブラウザは何の問題もなくリクエストを送ってくれます。
本当の問題はキーのほうです。JavaScriptのバンドルに含まれるものはすべて公開されています。ネットワークタブを一度見るだけでわかってしまうのです。コピーされたEtherscanのキーは、1日10万回の枠を数分で使い切り、レート制限によるアクセス禁止を招き、しかもキーはあなたのアカウントに紐づいているため、他人のトラフィックの責任まで負わされることになります。Blockchairのドキュメント自体も、まさにこの理由から、APIの前段にプロキシを置くよう開発者に勧めています。
すっきりした解決策は3つあります。1つ目は、ブラウザからキー不要のエンドポイントを直接使うこと(Blockscoutの公開インスタンス、公開RPC、Blobscan)。2つ目は、キーが必要な呼び出しをプロキシの裏に置くこと。サーバー側でキーを付与し、レスポンスをキャッシュし、独自のレート制限をかける小さなサーバーレス関数などがこれにあたります。3つ目は、ブラウザ用キーにドメインの許可リストを設定できるノードプロバイダーを使うことです。当サイトのライブ版イーサリアム・エクスプローラーは1つ目の方法を採っています。サーバーを持たない静的サイトで、ブラウザがBlockscoutのAPI v2と直接通信し、フォールバック先として公開JSON-RPCノードを使います。キーがないので、漏れるものもありません。
イーサリアム・ブロックエクスプローラーAPIの比較
下の表は、2026年9月24日に確認した無料での利用条件をまとめたものです。制限は頻繁に変わるので、特定の数値を前提に設計する前に、提供元のドキュメントを改めて確認してください。
| API | キー | 無料枠 | 向いている用途 |
|---|---|---|---|
| Etherscan V2 | 必要、無料 | 毎秒3回、1日10万回、1回あたり1,000件 | コントラクトABI、チュートリアルの豊富さ |
| Blockscout(ethインスタンス) | 不要(現在) | IP単位の制限、PROキーは毎秒5回・1日10万クレジット | ブラウザアプリ、新しいトランザクションタイプ |
| Routescan | 不要 | 毎秒2回、1日1万回(無料キーで10万回) | Etherscan互換のフォールバック |
| Blockchair | 不要、非商用のみ | 1日約1,440回、毎分30回 | マルチチェーン、フィルター付きクエリ |
| Ethplorer | freekey | 毎秒2回、1日1,000回(個人キーは毎秒10回) | 価格つきのトークン残高 |
| beaconcha.in | 必要 | 30日間トライアル、1,000リクエスト | バリデーター、ステーキング |
| Blobscan | 不要 | フェアユース | EIP-4844のblob |
| 公開JSON-RPC | 不要 | 共有、計測なし、SLAなし | 残高、レシート、コントラクト呼び出し |
当サイトのおすすめ
フロントエンドだけで完結するアプリなら、Blockscoutの公開API v2に公開RPCのフォールバックを組み合わせるところから始めましょう。イーサリアム・メインネット向けのバックエンドスクリプトなら、1,000件単位でページ送りする限りEtherscanの無料キーで十分で、Routescanを差し替え可能な予備として用意しておくと安心です。ポートフォリオやトークンのダッシュボードなら、Ethplorerを使えば呼び出し回数を節約できます。本番環境では、ノードプロバイダーかエクスプローラーの有料プランにお金を払いましょう。無料枠は開発のためのもので、何千人ものユーザーに提供するためのものではありません。
日本の個人開発者やハッカソン参加者によくあるのは、無料枠のまま公開したサービスが想定以上に使われて突然止まってしまうパターンです。月額49ドルのプランでも、円安の局面では決して安い出費ではありません。まずはキャッシュを効かせて呼び出し回数そのものを減らし、それでも足りなくなった時点で有料プランを検討する、という順番がおすすめです。手作業で使うエクスプローラーをまだ選んでいる段階なら、おすすめイーサリアム・エクスプローラーのランキングとEtherscanの代替サービス一覧で、これらのAPIの背後にあるWebサイトを比較しています。