Build with public data
Clout Caster API
These JSON routes are read-only. They expose public game data, allow cross-origin GET requests, and are limited to 60 requests per minute per client.
Shared rules
- Method: GET. OPTIONS is available for browser preflight.
- CORS:
Access-Control-Allow-Origin: * - Rate headers: X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.
- Errors use JSON with an
error message and an HTTP status.
App status
GET/api/public/statusApp identity, creator credit, network, currency, and available public routes.
Parameters: None
Example response
{
"app": "Clout Caster",
"creator": { "username": "lucifercaretaker", "fid": 1450388 },
"network": "Base",
"storeCurrency": "CLOUT"
}
Leaderboard
GET/api/public/leaderboard?metric=elo&limit=20Public creator standings. The default metric is ELO and the default limit is 20.
Parameters: metric: elo | rep | streak · limit: 1–50
Example response
{
"metric": "elo",
"entries": [{ "rank": 1, "fid": 1450388, "cloutElo": 1210 }]
}
Creator
GET/api/public/creators/1450388Public creator identity, archetype, score tiers, streak, and latest spin summary.
Parameters: fid: positive Farcaster ID in the path
Example response
{
"creator": {
"fid": 1450388,
"username": "lucifercaretaker",
"cloutElo": 1000,
"latestSpin": null
}
}
Battles
GET/api/public/battles?limit=20Recent public pending, active, and completed battles without wallet or admin data.
Parameters: limit: 1–50
Example response
{
"battles": [{
"id": 42,
"status": "active",
"category": "Growth Duel",
"challenger": { "fid": 1, "score": 50, "votes": 2 }
}]
}