Minecraft: Bedrock Edition Server Info Bedrock Server Info

API access for developers

The bedrockinfo.com API reports the live status of Minecraft Bedrock Edition servers (players, version, map, game mode) plus history and uptime. Access requires an x-api-key header; keys have a daily request quota.

Getting a key

  1. Sign in on the My keys page — with Google or an email address (your account is created automatically on first sign-up).
  2. Create a key and give it a label (e.g. the name of your app or bot).
  3. Copy the raw key immediately — it is only shown once.

Each key is limited to a daily request quota. Revoked keys stop working instantly.

Authentication

Send the key in the x-api-key header on every request:

x-api-key: bki_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
401missing or invalid key
403key revoked, or origin not allowed for this key
429daily quota exceeded

Endpoints

Machine-readable spec: openapi.json (OpenAPI 3.1, no key required).

Rendered from the live spec: Bedrock Server Info APIv2.0.0

GET /v1/status

Retired — use /status

Answers `410 gone`. The v1 shape was merged into the single status shape.

This endpoint is deprecated.

Tag: Retired

Auth: apiKey (apiKey header)

curl \
  -H "x-api-key: YOUR_KEY" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/v1/status"

GET /v2/status

Retired — use /status

Answers `410 gone`. The v2 shape is now the only status shape, without the version prefix.

This endpoint is deprecated.

Tag: Retired

Auth: apiKey (apiKey header)

curl \
  -H "x-api-key: YOUR_KEY" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/v2/status"

GET /v2/preview

Retired — use /preview

Answers `410 gone`. Preview moved to an unversioned path.

This endpoint is deprecated.

Tag: Retired

Auth: apiKey (apiKey header)

curl \
  -H "x-api-key: YOUR_KEY" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/v2/preview"

GET /v2/featured

Retired — use /featured

Answers `410 gone`. The featured list moved to an unversioned path.

This endpoint is deprecated.

Tag: Retired

Auth: apiKey (apiKey header)

curl \
  -H "x-api-key: YOUR_KEY" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/v2/featured"

GET /v2/servers

Retired — use /servers

Answers `410 gone`. The directory moved to an unversioned path.

This endpoint is deprecated.

Tag: Retired

Auth: apiKey (apiKey header)

curl \
  -H "x-api-key: YOUR_KEY" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/v2/servers"

GET /v2/summary

Retired — use /servers

Answers `410 gone`. The network aggregate was removed with the front-page chart.

This endpoint is deprecated.

Tag: Retired

Auth: apiKey (apiKey header)

curl \
  -H "x-api-key: YOUR_KEY" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/v2/summary"

GET /status

Server status with history

The live ping plus (optionally) player history, uptime and geo data. This is the ONE status shape: the old `/v1/status` and `/v2/status` shapes were merged into it, and both now answer `410`. **Coming from v1 or v2?** `Port`/`IPv4Port` -> `port`, `HostName` -> `host`, `CheckTimestamp`/`CheckTimeStamp` -> `checkedAt`, `Online` -> `online`, `ServerName` -> `name`, `Players` -> `players`, `MaxPlayers` -> `maxPlayers`, `Version` -> `version`, `Protocol` -> `protocol`, `LevelName` -> `levelName`, `GameMode` -> `gameMode`, `ServerId` -> `serverId`, `ServerGuid` -> `serverGuid`, `Edition` -> `edition`, `IPAddress` -> `ip`, `IPVersion` -> `ipVersion`, `LastSeen` -> `lastSeen`, `Uptime` -> `uptime`, `History` -> `history`, `Degraded` -> `degraded`, and `Geo.country_code` -> `geo.countryCode`. History is BUCKETED TO THE HOUR (at most one point per server per hour, `players = -1` while offline), so even a 30-day request returns at most 720 points. Samples are recorded by the background scanner roughly hourly — every 6 h for servers that have been offline for a while — and a server that was never scanned simply has no history yet. Uptime is time-weighted over the samples in the requested window.

Tag: Status— Live server lookups.

Auth: apiKey (apiKey header)

ParameterInRequiredTypeDescription
serverqueryyesstring`host`, `host:port`, `[ipv6]` or `[ipv6]:port`.
historyquerynointegerDays of history to include (0 = live status only).
curl \
  -H "x-api-key: YOUR_KEY" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/status?server=mco.cubecraft.net%3A19132&history=0"

GET /preview

Lightweight live status (single or batch)

Live status only — no history, no geo. Use `?servers=a,b,c` (max 12) to check several servers in one request. Called by the website for its server cards; crawler-friendly (no bot check).

Tag: Network— Aggregate and directory data.

Auth: apiKey (apiKey header)

ParameterInRequiredTypeDescription
serverquerynostring
serversquerynostringComma-separated list, max 12 entries.
curl \
  -H "x-api-key: YOUR_KEY" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/preview?server=mco.cubecraft.net%3A19132&servers=SERVERS"

GET /featured

Featured servers

The curated server list shown on the website home page. Cached for 10 minutes.

Tag: Network— Aggregate and directory data.

Auth: apiKey (apiKey header)

curl \
  -H "x-api-key: YOUR_KEY" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/featured"

GET /servers

Tracked-server directory

Paged list of every tracked server with its last player count and lifetime (time-weighted) uptime. Sort by `players`, `uptime`, `name` or `seen` — this doubles as the leaderboard.

Tag: Network— Aggregate and directory data.

Auth: apiKey (apiKey header)

ParameterInRequiredTypeDescription
limitquerynointeger
offsetquerynointeger
sortquerynostring
curl \
  -H "x-api-key: YOUR_KEY" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/servers?limit=50&offset=0&sort=players"

GET /badge/{address}.svg

Embeddable SVG status badge

A small SVG you can put on your own site, forum or README: server name, online state, players and uptime. No API key (it is a public image), cached for 5 minutes, IP rate limited. Embed it as `<img src="https://api.bedrockinfo.com/badge/play.example.com.svg">`.

Tag: Network— Aggregate and directory data.

Auth: none

ParameterInRequiredTypeDescription
addresspathyesstring`host`, `host:port`, `[ipv6]` or `[ipv6]:port`, with the `.svg` suffix.
curl \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/badge/ADDRESS.svg"

GET /account/keys

List your API keys

Tag: Account— Key management (Supabase JWT, not an API key).

Auth: supabaseToken (JWT header)

curl \
  -H "x-supabase-token: YOUR_SUPABASE_TOKEN" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/account/keys"

POST /account/keys

Create an API key

The raw key is returned once and never stored — save it immediately. Maximum 5 active keys per account.

Tag: Account— Key management (Supabase JWT, not an API key).

Auth: supabaseToken (JWT header)

curl \
  -X POST \
  -H "x-supabase-token: YOUR_SUPABASE_TOKEN" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/account/keys"

POST /account/keys/revoke

Revoke one of your keys

Tag: Account— Key management (Supabase JWT, not an API key).

Auth: supabaseToken (JWT header)

curl \
  -X POST \
  -H "x-supabase-token: YOUR_SUPABASE_TOKEN" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/account/keys/revoke"

GET /account/keys/{hash}/usage

Usage history for one key

Tag: Account— Key management (Supabase JWT, not an API key).

Auth: supabaseToken (JWT header)

ParameterInRequiredTypeDescription
hashpathyesstring
curl \
  -H "x-supabase-token: YOUR_SUPABASE_TOKEN" \
  "https://bedrockinfo-api.bedrockinfo.workers.dev/account/keys/KEY_HASH/usage"

Fair use

  • Responses may be cached briefly — please cache client-side too.
  • The API is rate-limited per key per day; do not share keys.
  • Occasional latency is normal; a server that is offline returns a 404.

← Back to the lookup tool