Bedrock server status API
Send an explicit Bedrock address and port to receive a bounded RakNet unconnected-ping observation. Bedrock and Java targets remain separate contracts.
Request
curl --fail-with-body \
-H 'Accept: application/json' \
'https://minecraftstatus.com/api/v1/status/bedrock?address=play.example.net:19132'Bedrock requests require an explicit port in the address. The normal default is 19132, but custom ports are valid when the target exposes Bedrock RakNet on that port. Use the custom-port guide for address normalization boundaries.
Read the response
{
"contract": "minecraftstatus-observation/v1",
"target": { "edition": "bedrock", "address": "play.example.net", "port": 19132, "portMode": "port" },
"verdict": "online",
"evidenceCode": "status_response",
"freshness": "fresh",
"players": { "online": 8, "max": 50, "source": "server-reported" },
"version": { "reportedName": "1.21.100", "protocol": 776 },
"latencyMs": 58
}- Player countNull means the response did not report a bounded value.
- MOTDRender sanitized text, not raw protocol payloads.
- Reported versionReported protocol is distinct from accepted client evidence.
Failure and freshness
Handle invalid addresses with 400, invalid keys with 401, capacity or quota responses with 429 and Retry-After, and infrastructure failure with 503. A valid but unreachable Bedrock target returns a successful Unknown observation when the service can complete the bounded check.
Contract boundary
Do not infer server health from a missing version, null count or high latency. The canonical evidence code and freshness window define the claim.