Public API

StatKraken API Documentation

Browser-game analytics as a REST API. Daily-updated rankings, growth metrics, breakout signals, and cross-platform game data — same data that powers this website.

Quick start

The API is public, read-mostly, and requires no authentication today. All responses are JSON. Base URL:

https://api.statkraken.com

Try it now from your terminal:

curl https://api.statkraken.com/platforms
curl https://api.statkraken.com/platforms/crazygames/rankings
curl https://api.statkraken.com/platforms/combined/items | head -100

Discovery

List the platforms StatKraken tracks and their metadata.

GET/platforms

List all enabled platforms.

Example response
{
  "data": [
    { "id": "crazygames", "display_name": "CrazyGames", "item_term": "Game", "item_term_plural": "Games" },
    { "id": "poki", "display_name": "Poki", ... },
    ...
  ]
}

Games

Per-platform game catalog with metrics, ratings, growth, and breakout signals.

GET/platforms/{platform_id}/items

List games for a platform. Use platform_id='combined' for all platforms.

Parameters
NameInDescription
platform_idpathOne of: crazygames, poki, newgrounds, kongregate, youtube, combined
Example response
{
  "data": [
    {
      "platform_id": "crazygames",
      "slug": "bloxd-io",
      "title": "Bloxd.io",
      "creator_name": "Bloxd Studio",
      "thumbnail_url": "https://...",
      "plays_count": 12500000,
      "view_count": null,
      "vote_count": 48230,
      "rating_value": 4.6,
      "growth_7d": 132000,
      "breakout_score": 87,
      "genres": ["Sandbox", "Multiplayer"]
    },
    ...
  ]
}
GET/platforms/{platform_id}/items/{slug}

Fetch a single game by slug.

Parameters
NameInDescription
platform_idpathPlatform identifier (not 'combined')
slugpathGame slug
GET/platforms/{platform_id}/genres

List all genres for a platform with item counts. Use 'combined' for cross-platform.

Example response
{
  "data": [
    { "name": "Action", "count": 47 },
    { "name": "Puzzle", "count": 31 },
    ...
  ]
}

Rankings

Top, trending, and new games per platform — refreshed daily after each scrape.

GET/platforms/{platform_id}/rankings

Three lists: top (by best available metric), trending (7-day growth), new (recently launched).

Example response
{
  "data": {
    "top": [...],
    "trending": [...],
    "new": [...]
  }
}
GET/platforms/{platform_id}/summary

Aggregate totals + per-platform breakdown for the home page snapshot card.

Trends

Time-series snapshots for a single game.

GET/platforms/{platform_id}/trends

Daily metric snapshots for a game over the last N days.

Parameters
NameInDescription
platform_idpathPlatform identifier
slugqueryGame slug (required)
daysqueryWindow size in days (default 30)

Status

Internal ops dashboard data — public for transparency.

GET/status

Live scraper health, item counts, snapshot counts, freshness per platform.

Feature requests

Public feature-request board (read + write).

GET/feature-requests

List feature requests, sorted by votes or recency.

Parameters
NameInDescription
statusqueryFilter by status: open, planned, in_progress, shipped, declined
sortquery'votes' (default) or 'recent'
limitqueryMax items to return (default 50, max 200)
POST/feature-requests

Submit a new feature request.

Request body
{
  "title": "Add Y8 platform tracking",
  "body": "Y8 has 90K+ games and is GREEN-tier. Would extend cross-platform comparability.",
  "category": "platform",
  "email": "you@example.com",
  "client_id": "<browser-uuid>"
}
POST/feature-requests/{id}/upvote

Upvote a feature request. Idempotent — re-voting from the same client_id is a no-op.

Request body
{ "client_id": "<browser-uuid>" }

Rate limits & caching

Endpoint typeBehavior
Read endpointsCached 5 minutes server-side, served via Cloudflare/Vercel edge. No per-client rate limit at this time.
Write endpoints (feature-requests)Throttled per IP — 1 submission per 30 seconds.
FutureAuthenticated API keys with per-tier quotas (Free / Indie / Pro) — see Pricing once auth ships.

Versioning & stability

The API is currently v0 — no version prefix in the URL, breaking changes possible. Once StatKraken hits Phase 2, the API will move to /v1/... with semantic-version deprecation policies. Until then, treat any field as potentially-removable and check themethodology page for context on how each metric is computed.

Need something we don't expose?

Submit a request via the feature request board or email support@statkraken.com. We prioritize endpoints that get the most upvotes.