Vote Rewards API: Give Players Their Reward Automatically

A player votes for your server, gets nothing, and never votes again. That’s the whole problem. Rewards fix it — a supply crate, a kit, some in-game currency — and the difference in repeat voting is not subtle.

This guide sets that up. It takes about five minutes and you almost certainly don’t need a new plugin.

Two ways to deliver a reward

Minecraft: Java has Votifier, and if that’s your game, use it instead. We push the vote to your server the moment it happens; nothing polls, nothing waits.

Everything else — Rust, Palworld, Valheim, Bedrock — has no Votifier. There, the reward plugin asks us: “has this player voted?” That’s what this API answers.

Why your existing plugin already works

The older server lists all settled on one shape for this question, and every reward plugin learned to speak it. We implemented that same shape rather than inventing our own, so plugins like EasyVote, EasyVoteExtended and most uMod reward plugins work by editing one URL in a config file. No patched build. No custom plugin. No waiting on a developer.

Get your key

Open your server’s edit page and find Vote rewards APIGenerate API key. The page then shows two ready-made URLs with your key already in them. Copy those; you’ll paste them into your plugin’s config.

Treat the key like a password. Anyone holding it can mark votes as claimed — which means marking a reward as already paid. If it leaks, hit Rotate key: the old one dies instantly, and you paste the new one into your plugin.

The two calls

Both return a single character. That’s it — no JSON to parse.

Response Meaning
0 No vote found in the last 24 hours
1 Voted, reward not claimed yet
2 Voted, reward already claimed

Check a vote — a pure read. Ask as often as you like; it never consumes anything.

GET https://api.spawnlist.gg/api/?object=votes&element=claim&key=YOUR_KEY&steamid=STEAMID

Claim the reward — returns 1 exactly once, then 2 forever after. This is the call that pays out, so make it the one that triggers your reward.

GET https://api.spawnlist.gg/api/?object=plugin&element=reward&key=YOUR_KEY&steamid=STEAMID

If you’d rather keep checking and claiming as separate steps, POST to the first URL with &action=post and it claims instead of reading.

For Minecraft or any game without SteamIDs, swap steamid= for username=.

Things worth knowing before you go live

Only the last 24 hours count. A vote from three days ago returns 0. This matches every other list, and it’s why players are told to vote daily.

Claiming is safe under concurrency. If two calls land at the same instant for the same vote — a retry, or two servers sharing a key — exactly one gets 1. The other gets 2. You cannot accidentally pay twice.

Votes flagged as fraud never pay out. If our anti-fraud pass excludes a vote, this API reports 0 for it. You don’t fund someone else’s bot farm.

A wrong key returns 0, not an error. That’s what the plugins expect, and it means nobody can probe us to discover which keys exist. The practical consequence: if your plugin suddenly reports that nobody is voting, check that the key was pasted whole before assuming the votes stopped.

Responses are never cached. A cached 1 could be spent twice and a cached 0 would rob someone who genuinely voted, so every response is computed fresh.

Testing it

Vote for your own server, then paste the check URL into a browser with your own SteamID. You should see 1. Load the claim URL: 1 again. Load it once more: 2. That’s the whole lifecycle, and if you see it, your plugin will too.

Run a server? List it on Spawnlist and let players find you — free forever.

+ Add your server