API documentation

Windows · macOS · Android · home

This server watches the Roblox client on Windows, macOS, Android around the clock, records every version it sees, keeps a copy of the files, and publishes offsets. The API below is how another program asks it four questions:

  • What is the current Roblox version, and when was it released?
  • Which files do you actually hold?
  • Give me that file.
  • Give me the offsets for it.

Base URL

https://www.rbxoffsets.com

All paths below are relative to it. Responses are JSON (application/json; charset=utf-8) unless stated otherwise, and every JSON endpoint sends Access-Control-Allow-Origin: *, so a browser page can call it directly.

Platforms

Almost every route takes a platform segment. This deployment answers for windows, macos, android; mac is accepted as a synonym for macos.

GET /api/v1/{platform}/version
GET /download/{platform}/{version}
GET /api/v1/{platform}/offsets/{version}/{format}

An unrecognised platform answers 400 unknown_platform and lists the valid ones, so a client never has to guess the spelling.

Authentication

Every read endpoint on this site is open: no key, no header, no account. Only the routes under /internal/ require a token, and those exist for the operator rather than for clients.

Versions are not the same shape on every platform

Read this before you write anything. Android versions are the dotted numbers you already know. Windows and macOS builds are identified by an opaque content hash — that is what Roblox keys every CDN path and every offsets dump by — and the dotted version comes along beside it as a separate field.

Platformversion (identity)displayVersion
Windowsversion-ddf602d9cfe440050.734.0.7340917
macOSversion-89863375b5194afb0.734.0.7340917
Android2.734.9172.734.917
  • version is the identity. Build URLs from it. It is unique.
  • displayVersion is for humans. It is not unique: the macOS player and macOS Studio have shipped the same dotted version as two different builds.
  • On Android the two are identical, which is why old clients that only ever saw version keep working.

The 30-second version

Everything, in one call:

curl -s https://www.rbxoffsets.com/api/v1/platforms

What is live on one platform:

curl -s https://www.rbxoffsets.com/api/v1/windows/version

What is downloadable, and then download it:

curl -s https://www.rbxoffsets.com/api/v1/windows/files
curl -L -o RobloxApp.zip https://www.rbxoffsets.com/download/windows/latest

The newest Windows offsets, as a C++ header:

curl -sL -o offsets.hpp https://www.rbxoffsets.com/api/v1/windows/offsets/latest/hpp

-L matters on both downloads. They are redirects to Cloudflare storage; without it you save the redirect instead of the file.

Contents

  1. Endpoints
    Every URL, what it returns, and what each field means.
  2. Downloading files
    How /download works, why it redirects to Cloudflare, and how to verify what you got.
  3. Offsets
    Where each platform's offsets come from, the four formats, and how to fetch them.
  4. Writing a client
    A working updater in bash and python, plus the mistakes worth avoiding.
  5. Failures and edge cases
    Every error code, which states only look like errors, and what is safe to retry.

What this server will not do

  • It does not serve any version it has not stored. Ask /api/v1/{platform}/files first, or accept a 404.
  • It does not have Windows or macOS history from before it started watching. Roblox redacted the build hashes from DeployHistory.txt — every entry now reads version-hidden — so desktop history accumulates from this server's first poll and cannot be backfilled.
  • It does not track any Android ABI other than x86_64. An abi parameter naming a different one is rejected rather than answered with something that will not install.
  • It does not publish macOS offsets. That is a 501, not an empty list — see Offsets.
  • It does not modify files. Bytes are copied from upstream unchanged, and the published sha256 is of the exact file you receive.