browsers.page

browsers.page shows the latest versions of the major browsers and highlights yours. api.browsers.page serves the same data as JSON, built from MDN's browser compatibility data. RTCode.io's answer to "Which browsers does RTCode.io support?" embeds the page. See Browser support.

Syntax

plain
https://browsers.page/#<options>
https://api.browsers.page/?<parameters>

browsers.page is an RTCode deployment. It reads its options from the URL hash, and any change of the hash reloads the page. api.browsers.page answers GET requests with JSON.

Parameters

The page: hash options

b=<browser[:window]>

A browser to show, with an optional release window. You can repeat it.

B=<group>

A browser group. It is copied to the E parameter of the API.

V=<window>

The release window.

b- and b+

Remove a browser from the list, or add one to it.

css=<CSS>

CSS that the page injects into a <style> element.

n= and v=

Override the detected browser name and version that the page uses to highlight your browser.

Without b and B, the page uses V=[-1,+0] and B=most_used, and its heading reads "Latest" when it is the top-level page. The card of your browser is green when your version is among the releases shown, or newer, and red when it is older than the oldest release shown. The page marks the matching release, or the nearest end of the list.

The API

V=[a,z]

The default release window. The default is [-0,+0], the current release only. + signs are ignored.

b=<id>[:[a,z]]

An explicit browser, with an optional window for that browser. You can repeat it.

b-=<id>

Removes a browser.

b+=<id>

Adds a browser. The key is the literal b+, written b%2B, because a raw b+ decodes to b with a space.

E=desktop|mobile|most_used|runtime

The group to use when no b is given. The default is every available browser.

Q=1

Adds the available member to the answer.

Releases with a release_date are sorted by date, and a window is taken relative to the release whose status is current. Positive offsets therefore reach the beta and nightly releases.

GroupBrowsers
desktopchrome, edge, firefox, opera, safari
mobilechrome_android, firefox_android, opera_android, safari_ios, samsunginternet_android
most_usedchrome, edge, firefox, safari, samsunginternet_android
runtimedeno, nodejs

On 2026-10-04 the API knew 17 browser ids: bun, chrome, chrome_android, deno, edge, firefox, firefox_android, ie, nodejs, oculus, opera, opera_android, safari, safari_ios, samsunginternet_android, webview_android and webview_ios. An unknown id answers 500 with an error page, not JSON.

Response

The API answers with this shape:

js
{
  browsers: {
    "<id>": {
      name, type, preview_name, pref_url, accepts_flags, accepts_webextensions,
      releases: { "<version>": { release_date, release_notes, status, engine, engine_version } },
      update_url, current,
      matching: { releases, oldest, newest }
    }
  },
  last_update,
  available
}

Examples

A supported-browser table and its data

The iframe shows the desktop browsers with the previous and the current release. The script reads the current version of each desktop browser from the API.

html
<iframe title="Latest browsers" src="//browsers.page#B=desktop&V=[-1,+0]&css=:root{overflow:hidden}" loading=lazy style="inline-size: 100%; block-size: 12rem; border: 0"></iframe>
<ul id=latest></ul>
<script type=module>
  const { browsers } = await fetch(`//api.browsers.page/?${new URLSearchParams({ E: 'desktop' })}`).then(r => r.json());
  latest.innerHTML = Object.values(browsers).map(({ name, current }) => `<li>${name} ${current}</li>`).join('');
</script>

CORS and limits

Status

The page and the API are available. Their behavior was checked on 2026-10-04.

See also