mcsrvstat API
Free Minecraft server status API with no key: ping any Java or Bedrock server for players online, MOTD, version, icon and mods. Tested curl example.
Endpoint tested and returned HTTP 200 on 2026-08-20
What is the mcsrvstat API?
mcsrvstat is a free, key-free API that pings any Minecraft server — Java or Bedrock — and returns whether it is online, current and maximum player counts, MOTD, server version, icon and installed plugins or mods.
Querying a Minecraft server directly requires implementing its custom TCP handshake protocol. This API does that for you and returns clean JSON, which turns a fiddly networking task into a single HTTP request.
Responses are cached for around a minute, which is deliberate — it protects target servers from being hammered by status widgets. Do not expect second-by-second player counts, and do not try to poll around it.
Quick facts
- Base URL
https://api.mcsrvstat.us- Authentication
- No API key required.
- Rate limit
- Responses are cached roughly one minute per server; polling faster returns the cached value.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the mcsrvstat API
Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.
1. Check a Minecraft server's status
GET https://api.mcsrvstat.us/3/hypixel.net
curl 'https://api.mcsrvstat.us/3/hypixel.net'const res = await fetch("https://api.mcsrvstat.us/3/hypixel.net");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.mcsrvstat.us/3/hypixel.net", timeout=20)
res.raise_for_status()
print(res.json()){
"ip": "172.65.197.160",
"port": 25565,
"debug": {
"ping": true,
"query": false,
"bedrock": false,
"srv": false,
"querymismatch": false,
"ipinsrv": false,
"cnameinsrv": false,
"animatedmotd": false,
"cachehit": true,
"cachetime": 1787208223,
"cacheexpire": 1787208523,
"apiversion": 3,
"dns": {
"a": [
{
"name": "mc.hypixel.net",
"type": "A",
"address": "172.65.197.160"
}
]
},
"error": {
"query": "Failed to read from socket."
}
},
"motd": {
"raw": [
"§f §aHypixel Network §c[1.8/26.2]",
"§f §6§lSB 0.27 TORRHUS & SAFARI §7| §e§lSUMMER EVENT"
],
"clean": [
" Hypixel Network [1.8/26.2]",
" SB 0.27 TORRHUS & SAFARI | SUMMER EVENT"
],
"html": [
"<span style=\"color: #FFFFFF;\"> </span><span style=\"color: #55FF55;\">Hypixel Network </span><span style=\"color: #FF5555;\">[1.8/26.2]</span>",
"<span style=\"color: #FFFFFF;\"> </span><span style=\"color: #FFAA00;\"><span style=\"font-weight: bold;\">SB 0.27 TORRHUS & SAFARI </span></span><span style=\"color: #AAAAAA;\">| </span><span style=\"color: #FFFF55;\"><span style=\"font-weight: bold;\">SUMMER EVENT</span></span>"
]
},
"players": {
"online": 17852,
"max": 200000
},
"version": "Requires MC 1.8 / 1.21",
"online": true,
"protocol": {
"version": 47,
"name": "1.8.9"
},
"hostname": "mc.hypixel.net",
"icon": "data:image/png;base64,iVBORw0KGgoAAAAParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
3/<address> | path | Required | API version 3 and the server address. 3/hypixel.net |
bedrock/3/<address> | path | Optional | Bedrock edition servers. bedrock/3/example.com |
icon/<address> | path | Optional | The server's icon as a PNG. icon/hypixel.net |
Response fields
onlineboolean- Whether the server responded — check this first.
ip / portstring|integer- Resolved address and port.
players.online / players.maxinteger- Current and maximum player counts.
motd.cleanarray- Message of the day with colour codes stripped.
versionstring- Server version string.
protocolobject- Protocol version and name.
plugins / modsarray- Installed plugins or mods, when the server reports them.
What you can build with the mcsrvstat API
- Show live server status and player count on a community site
- Build a Discord bot that reports whether a server is up
- Monitor server availability and alert on downtime
- Display MOTD and server icon in a launcher
Common errors and how to fix them
online: false
The server is down, or the address is wrong.
Fix: Check `online` before reading any other field — the rest will be absent.
MOTD contains colour codes
Minecraft MOTDs use section-sign formatting.
Fix: Use motd.clean, which has the codes stripped, rather than motd.raw.
Player count seems stale
Responses are cached about a minute.
Fix: That is deliberate to protect target servers; polling faster returns the same cached value.
mcsrvstat API — frequently asked questions
Is the Minecraft server status API free?
Yes, free with no API key. Responses are cached roughly a minute per server to protect the servers being queried.
Does it work with Bedrock servers?
Yes, use the /bedrock/3/ path prefix. Java servers use /3/ directly.
Why not query the server directly?
Minecraft uses a custom TCP handshake protocol rather than HTTP. This API implements that for you and returns JSON.
Why is the MOTD full of strange characters?
Minecraft MOTDs embed section-sign colour codes. Use motd.clean, which strips them, rather than motd.raw.
Tools that pair with this API
mcsrvstat is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.