A lightweight browser-based tool that scrolls through Medium's infinite‑loading publication lists, extracts all publication metadata, and lets you download everything as clean JSON—directly from your browser, no backend required.
The script scrolls intelligently and detects when Medium stops loading new content.
From each publication card, the script gathers:
- category
- publication link
- logo
- banner
- submission guidelines URL
- guidelines title
- guidelines description
- last updated text
- claps
- responses
Once scrolling stops, you click “Export JSON” and download a structured file you can use anywhere:
- Vue.js / React apps
- Laravel + InertiaJS frontends
- MySQL / MongoDB imports
- SEO / indexing workflows
- AI datasets
This tool requires zero setup. You can run it:
- Copy the content of
snippet.js - Create a new bookmark in your browser
- Paste the code into the URL field
- Save → Click the bookmark whenever you are on a Medium list page
- Open the Medium page you want to scrape
- Press F12 → open the Console
- Paste the entire script from
snippet.js - Press Enter
- Two buttons will appear:
- Start Auto Scroll
- Export JSON
- Visit the Medium list containing publications, e.g.:
https://medium.com/@MediumStaff/list/7c0ec8037e61
- Paste and run
snippet.jsin the console - Click Start Auto Scroll
- The page scrolls until all publications are visible
- Click Export JSON to download
publications.json
{
"category": "Humor",
"publicationName": "Another Fucking Publication",
"publicationUrl": "https://medium.com/...",
"logoUrl": "https://miro.medium.com/...",
"bannerUrl": "https://miro.medium.com/...",
"guidelinesUrl": "https://medium.com/...",
"guidelinesTitle": "Submission Guidelines",
"guidelinesDescription": "Updated July 25, 2025...",
"lastUpdated": "Nov 13",
"claps": 2200,
"responses": 46
}A complete write‑up explaining:
- the scraping challenges
- how Medium loads elements dynamically
- why headless browsers fail
- how I built a Vue + Laravel frontend
- Vanilla JavaScript
- DOMParser
- Blob API for downloads
- Medium DOM reverse‑engineering
- Intelligent scroll detection
PRs, fixes, enhancements, and improvements to extraction logic are welcome.
If you find new patterns in Medium's DOM, feel free to submit a patch!
And if you find this tools useful, show some love and star the project 😉
MIT License — free to use, share, modify.
Built by Hyacinthe — full‑stack engineer & AI‑powered builder.
Profile: https://github.com/mbh00