---
title: "Stats"
method: GET
path: "/api/admin/social/stats"
tags: ["social"]
---

# Stats

`GET /api/admin/social/stats`

## Request

- Base URL: `https://api.getcheapgames.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getcheapgames.com/api/admin/social/stats`
- Auth: none declared

Whether this is working: reach on the networks, people following our links
here, and people going on to a store. See `gcg.social.stats.summary`.

## Query parameters

- `days` integer

## Headers

- `authorization` string

## Response `200`

Successful Response

- GcgRoutersSocialStatsOut
  - `days` integer, required
  - `totals` object, required
  - `daily` StatsDay[], required
    - `day` string, date, required
    - `posts` integer, required
    - `views` integer, required
    - `social_clicks` integer, required
    - `bio_visits` integer, required
    - `store_clicks` integer, required
    - `stores` StatsDayStore[]
      - `code` string, required
      - `name` string, required
      - `accent` string, nullable, required
      - `tagged` boolean, required
      - `clicks` integer, required
  - `networks` StatsNetwork[], required
    - `network` string, required
    - `placement` string, required
    - `posts` integer, required
    - `views` integer, nullable, required
    - `engagements` integer, required
    - `clicks` integer, required
    - `last_sent` string, date-time, nullable, required
    - `last_read` string, date-time, nullable, required
    - `note` string, nullable, required
    - `followers` integer, nullable, required
    - `followers_at` string, date-time, nullable, required
    - `followers_note` string, nullable, required
    - `channel_views` integer, nullable
    - `channel_videos` integer, nullable
    - `channel_views_long` integer, nullable
    - `channel_views_shorts` integer, nullable
    - `channel_stats_at` string, date-time, nullable
  - `bio_clicks` integer, required
  - `bio_sources` StatsBioSource[], required
    - `source` string, required
    - `visits` integer, required
    - `clicks` integer, required
  - `bio_cards` StatsBioCard[], required
    - `post_id` integer, required
    - `title` string, required
    - `slug` string, required
    - `sent_at` string, date-time, required
    - `clicks` integer, required
    - `by_source` object, required
  - `bio_browse` StatsBioBrowse, required: The bio page's "browse every deal", which is a tap but not a card.
    - `clicks` integer, required
    - `by_source` object, required
  - `posts` StatsPost[], required
    - `post_id` integer, required
    - `title` string, required
    - `slug` string, nullable, required
    - `sent_at` string, date-time, required
    - `views` integer, nullable, required
    - `engagements` integer, required
    - `clicks` integer, required
    - `links` StatsLink[], required
      - `network` string, required
      - `placement` string, required
      - `url` string, nullable, required
      - `views` integer, nullable, required
      - `likes` integer, nullable, required
      - `comments` integer, nullable, required
      - `shares` integer, nullable, required
  - `games` StatsGame[], required
    - `title` string, required
    - `slug` string, nullable, required
    - `clicks` integer, required
  - `stores` StatsStore[], required
    - `name` string, required
    - `clicks` integer, required
  - `free_claims` StatsFreeClaims: The "Claim" and "Play now" presses on the free-to-play page and the game page (`free_claims`, gcg/routers/track.py), most pressed first. `counting_since` is the day the counter started (`stats._free_claims`): nothing before it was counted, which an empty table should say. The name is the Midfeed admin's contract (web-admin/src/api.ts `GcgFreeClaims.counting_since`; its proxy passes this JSON through untouched, so a rename on either side alone blanks the date there — tests/test_free_claims.py pins the key set). A bare date, which the admin shows as the same day in every timezone.
    - `counting_since` string, date, required
    - `totals` StatsFreeClaimTotals, required
      - `claims` integer, required
      - `plays` integer, required
      - `pages` StatsFreeClaimPages, required: Claims and plays together, by the page pressed on (`stats.FREE_CLAIM_PAGES`): the free-to-play page (its giveaways and free-to-play lists) and the game page's own free buttons.
        - `free_to_play` integer, required
        - `game_page` integer, required
    - `games` StatsFreeClaim[], required
      - `slug` string, required
      - `title` string, required
      - `claims` integer, required
      - `plays` integer, required
      - `stores` object, required
      - `pages` StatsFreeClaimPages, required: Claims and plays together, by the page pressed on (`stats.FREE_CLAIM_PAGES`): the free-to-play page (its giveaways and free-to-play lists) and the game page's own free buttons.
        - `free_to_play` integer, required
        - `game_page` integer, required
  - `mcp` StatsMcp: The MCP connector: tool calls by AI assistants and the store clicks their answers' buy links led to (`stats._mcp`). `clients` are claude, chatgpt, gemini, grok and other, most calls first; `tools` the same by tool. Days are UTC. `counting_since` is the first counted day: nothing before it.
    - `counting_since` string, date, required
    - `calls` StatsTotal, required
      - `now` integer, required
      - `before` integer, required
    - `store_clicks` StatsTotal, required
      - `now` integer, required
      - `before` integer, required
    - `clients` StatsMcpRow[], required
      - `name` string, required
      - `calls` integer, required
    - `tools` StatsMcpRow[], required
      - `name` string, required
      - `calls` integer, required
    - `daily` StatsMcpDay[], required
      - `day` string, date, required
      - `calls` integer, required
      - `store_clicks` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/getcheapgames/apis/getcheapgames-api.md) · [All operations](https://skmtc.dev/getcheapgames/apis/getcheapgames-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getcheapgames/apis/getcheapgames-api/revisions/962824bb76da?raw)
