A powerful, privacy-friendly Chrome Extension that collects detailed Medium article statistics using Medium’s internal GraphQL APIs. Easily aggregate stats for views, reads, claps, followers gained, subscribers gained, presentations, and more — for all your Medium posts.
This extension works directly on your Medium Stats dashboard and can auto-scroll to capture all posts, no matter how many you have.
<canvas>, no external libs).https://medium.com/me/statsClone this repository:
git clone https://github.com/your-user/medium-stats-extension.git
cd medium-stats-extension
Open Chrome and navigate to:
chrome://extensions/
Go to:
https://medium.com/me/stats
Wait for the posts to load.
Click the extension icon → Medium Stats Collector.
▶️ Collect Visible
Fetch stats only for the posts currently loaded on the screen. Useful if you manually scroll and want partial data.
▶️ Collect ALL (Auto Scroll)
Auto-scrolls to the bottom of your stats page and captures all posts automatically. Works even with hundreds of posts.
▶️ Load Last
Reloads previously collected results from Chrome storage.
▶️ Collect Visible
Outputs a CSV with all collected stats.
medium-stats-extension/
│
├── manifest.json # Chrome Extension MV3 config
├── popup.html # Extension popup UI
├── popup.js # UI logic
├── styles.css # Popup styling
│
├── background.js # Main GraphQL collector (MV3 service worker)
├── content.js # Stats page scanner
├── contentScript.js # Auto-scrolling collector (paginated)
│
└── README.md # This file
postStatsTotalBundle + postResult to gather full metrics.chrome.storage.local.For each article:
| Metric | Description |
|---|---|
| views | ViewersCount |
| reads | ReadersCount |
| presentations | Feed presentation count |
| claps | Clap count |
| followersGained | Follows gained from the article |
| subscribersGained | Email subscribers gained |
| CTR | feedClickThroughRate |
[!IMPORTANT] No personal tokens, passwords, or private content is collected.
Ensure you are on:
https://medium.com/me/stats
Possible reasons:
Try:
Collect ALLThis is usually caused by:
Possible reasons:
Try:
/me/stats* or /me/stats/* page and try againTry increasing scroll speed:
This extension uses Medium’s internal GraphQL API, which is undocumented and may change at any time. If Medium updates their internal endpoints, the extension may require an update.
MIT License — free to modify, distribute, and use.
Pull requests and issues are welcome! If you have ideas, improvements, or encounter API changes, feel free to open an issue.