Meta Analysis API

Top meta decks with win rate, usage %, top 8 finishes, and skeleton deck. Cached weekly.

Endpoint

GET /api/meta/analysis

Returns top 10 decks with aggregated stats and skeleton.

ParamTypeDescription
rangestring30d (last 30 days) or all. Default: 30d

Response

{
  "updated_at": "2025-03-06T12:00:00Z",
  "total_decks": 12450,
  "total_tournaments": 87,
  "meta_diversity_percent": 62,
  "top_decks": [
    {
      "rank": 1,
      "deck_name": "Dragapult Dusknoir",
      "archetype": "Dragapult Dusknoir",
      "win_rate": 58.2,
      "usage": 342,
      "usage_pct": 12.5,
      "top_8s": 89,
      "skeleton": {
        "archetype": "Dragapult Dusknoir",
        "cards": [
          {"card_id": "sv6-130", "name": "Dragapult ex", "quantity": 4, "weightedFrequency": 0.95, "image_url": "https://..."},
          {"card_id": "sv6pt5-20", "name": "Dusknoir", "quantity": 2, "weightedFrequency": 0.82, "image_url": "https://..."}
        ],
        "totalCards": 60,
        "confidence": 85,
        "sourceDeckCount": 42
      },
      "tags": ["Most Played", "Meta Staple"]
    }
  ]
}

image_url is hydrated on every skeleton card (from cards DB or fallback URL). App uses this for card thumbnails.

Tags

Each deck includes optional tags (array of human-readable strings, max 3). If present, app uses them for labels/colors. If missing, app derives from rank, usage_pct, win_rate, top_8s.

Possible tags: This Week's Winner, Regional Winner, x2 Regional Winner, x3+ Regional Winner, International Winner, Worlds Contender, New Archetype, Rotation Alert, Rising Star, Trending ↑, Declining ↓, Sleeper Pick, Top 8 Streak, Most Played, Meta Staple, Stable.