Chromeの最新のバージョン番号を取得するVersionHistory APIの使い方

何らかの理由でChromeの最新バージョンのバージョン番号を取得したい場合があります。Googleは、そんなときに使えるVersionHistory APIを公式に提供しています。
VersionHistory APIを使うと、過去のものも含めてChromeのバージョン履歴を取得できます。
次のエンドポイントにアクセスすると、Chromeのバージョン履歴をJSON形式で取得できます。
https://versionhistory.googleapis.com/v1/{product}/platforms/{platform}/channels/{channel}/versions{product}:Chromeの場合はchrome、Fuchsiaウェブエンジンの場合はfuchsiawebengineを指定{platform}:all、win64、mac_arm64、linuxなどのプラットフォームを指定{channel}:stable、beta、dev、canaryなどのリリースチャネルを指定
たとえば、64ビット版WindowsのChromeの安定版のバージョンは、次のURLから取得できます。
https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/stable/versionsこの例では、次のようなJSON形式のレスポンスを取得できます。
{ "versions": [ { "name": "chrome/platforms/win64/channels/stable/versions/135.0.7049.96", "version": "135.0.7049.96" }, { "name": "chrome/platforms/win64/channels/stable/versions/135.0.7049.95", "version": "135.0.7049.95" }, { "name": "chrome/platforms/win64/channels/stable/versions/135.0.7049.86", "version": "135.0.7049.86" }, // ... ]}また、URLの末尾に/all/releasesを追加すると、より詳細なリリース情報を取得できます。
https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/stable/versions/all/releases{ "releases": [ { "name": "chrome/platforms/win64/channels/stable/versions/135.0.7049.96/releases/1744927565", "serving": { "startTime": "2025-04-17T22:06:05.763771Z" }, "fraction": 1, "version": "135.0.7049.96", "fractionGroup": "144", "pinnable": false }, { "name": "chrome/platforms/win64/channels/stable/versions/135.0.7049.85/releases/1744748247", "serving": { "startTime": "2025-04-15T20:17:27.180816Z", "endTime": "2025-04-17T22:06:05.763771Z" }, "fraction": 0.5, "version": "135.0.7049.85", "fractionGroup": "144", "pinnable": false }, { "name": "chrome/platforms/win64/channels/stable/versions/135.0.7049.86/releases/1744748247", "serving": { "startTime": "2025-04-15T20:17:27.180816Z", "endTime": "2025-04-17T22:06:05.763771Z" }, "fraction": 0.25, "version": "135.0.7049.86", "fractionGroup": "144", "pinnable": false }, // ... ]}リリース情報に含まれるfractionは、どれくらいの割合のユーザーにロールアウトされているかを示しています。Chromeなどのブラウザーでは、一斉にすべてのユーザーにアップデートを配信するのではなく、段階的に配信することがあります。たとえば、fractionが0.5の場合、50%のユーザーにロールアウトされていることを意味します。
VersionHistory APIはフィルタリングにも対応しており、たとえば64ビット版WindowsのChromeの安定版のうち、完全にロールアウトが完了しているリリースの情報は、次のように取得できます。
https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/stable/versions/all/releases?filter=fraction%3D1{ "releases": [ { "name": "chrome/platforms/win64/channels/stable/versions/135.0.7049.96/releases/1744927565", "serving": { "startTime": "2025-04-17T22:06:05.763771Z" }, "fraction": 1, "version": "135.0.7049.96", "fractionGroup": "144", "pinnable": false }, { "name": "chrome/platforms/win64/channels/stable/versions/135.0.7049.96/releases/1744748247", "serving": { "startTime": "2025-04-15T20:17:27.180816Z" }, "fraction": 1, "version": "135.0.7049.96", "fractionGroup": "143", "pinnable": true }, { "name": "chrome/platforms/win64/channels/stable/versions/135.0.7049.85/releases/1744314334", "serving": { "startTime": "2025-04-10T19:45:34.953596Z", "endTime": "2025-04-15T20:17:27.180816Z" }, "fraction": 1, "version": "135.0.7049.85", "fractionGroup": "144", "pinnable": false }, // ... ]}ページングにも対応しているので、page_size=1を指定すると最新の1件のリリースのみを取得できます。
https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/stable/versions/all/releases?filter=fraction%3D1&page_size=1{ "releases": [ { "name": "chrome/platforms/win64/channels/stable/versions/135.0.7049.96/releases/1744927565", "serving": { "startTime": "2025-04-17T22:06:05.763771Z" }, "fraction": 1, "version": "135.0.7049.96", "fractionGroup": "144", "pinnable": false } ], "nextPageToken": "3857063383"}VersionHistory APIはライブラリーも提供されています。たとえば、TypeScriptで64ビット版WindowsのChromeの最新バージョンのバージョン番号は、次のように取得できます。
npm install @googleapis/versionhistoryimport { versionhistory } from "@googleapis/versionhistory";
/** * Get the latest Chrome version. * @returns The latest Chrome version or null if not found. */const getLatestChromeVersion = async (): Promise<string | null> => { const VersionHistory = versionhistory("v1"); const versionHistory = await VersionHistory.platforms.channels.versions.releases.list({ filter: "fraction=1", pageSize: 1, parent: "chrome/platforms/win64/channels/stable/versions/all" });
const { releases } = versionHistory.data; if (!releases) return null;
const [latestRelease] = releases; if (!latestRelease) return null;
return latestRelease.version ?? null;};参考リンク
記事をシェア
フォローして最新情報を入手
Googleの優先ソースに追加すると、このサイトの記事をGoogleで見つけやすくなります。また、ぜひXやRSSフィードもフォローしてください。
関連記事
-1.png&w=1080&q=75)
生まれた時から、母国語よりも先にJavaScriptを使っていました。ネットの海のどこにもいなくてどこにでもいます。
Webフロントエンドプログラマーとして、TypeScriptを用いたWebアプリやブラウザー拡張機能を制作。Xのシャドウバン検知ツール「Shadowban Scanner」やリンクカード復活ツール「Restore Link Card」を公開し、国内外のメディアで紹介されました。iGEM 2023ではJapan-UnitedチームのWikiを制作してGrand Prizeの獲得に貢献。ブログではXやSNSの最新ニュース、不具合の検証と対処法、フロントエンド開発の知見を発信しています。



![npmのパッケージの設定画面のスクリーンショット。[Trusted Publisher]セクションの[Select your publisher]に[GitHub Actions]と[GitLab CI/CD]の2つのボタンが表示されている](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2Fnpm-trusted-publishing-settings.png&w=3840&q=75)




![[新しいXチャットへようこそ]というテキストが画面に大きく表示されており、その下には次の3つの説明が表示されている。[エンドツーエンドの暗号化:メッセージは、端末にかかわらずエンドツーエンドで暗号化されています。][最先端のプライバシー:Xを含め、他の人がメッセージを読むことはできません。][パスコードを設定:メッセージを保護するため、4桁のパスコードを設定してください。]これらの説明の下には、[パスコードを作成]という大きなボタンが配置されている](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2Fwelcome-to-new-chat.png&w=1920&q=75)

![[Search Engine Selector]というアプリからの通知のスクリーンショット。[ブラウザと検索サービスを選択]というタイトルで、本文には[ウェブページを表示しリンクを開くアプリと、検索サービスアプリを選択してください]と書かれている。通知の下部には[アプリを選択してください]というボタンが表示されている](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2Fandroid-search-engine-selector-notification.png&w=3840&q=75)


