Docs / Developers
Vote endpoints
Two endpoints let your own plugin or website reward voters without Votifier. If you just want rewards in game, the CraftRank plugin does all of this for you.
Has a player voted?
GET https://craftrank.org/api/v1/servers/{id}/voted?username=Steve
Public, no key. username is a Minecraft name of 2 to 16 letters, numbers or _; anything else answers 400.
{ "server_id": 12, "username": "Steve", "voted": true,
"last_vote": "2026-10-12T19:59:54+00:00",
"next_vote": "2026-10-13T19:59:54+00:00",
"vote_url": "…/vote/12-example-smp" }
voted is true when the name voted in the last 24 hours. last_vote is the latest vote ever (or null), and next_vote is when they can vote again (or null when they can vote now). The answer is never cached.
Your vote list
curl -H "X-API-Key: YOUR_KEY" "https://craftrank.org/api/v1/servers/{id}/votes?since=0&limit=100"
Needs your server's API key, from Plugin & API in the dashboard. See API overview for how to send it.
since: a Unix timestamp; only votes from that second on. Optional.limit: 1 to 500, default 100.
Votes come newest first:
{ "server_id": 12, "votes": [
{ "id": 98121, "username": "Steve", "time": "2026-10-12T19:59:54+00:00", "timestamp": 1760299194 }
] }
Rewarding every vote once
- Every minute or so, ask for the votes
sincethe timestamp of the last vote you handled. - Skip any vote
idyou have already rewarded, since a vote at that exact second comes back again. - Reward the player, or save the reward until they join, and store the vote
id.
ImportantKeep the key on your server. If it leaks, press Create a new key; the old one stops working at once.