Medium Scraper - Articles, Authors, Tags & Search avatar

Medium Scraper - Articles, Authors, Tags & Search

Pricing

from $0.70 / 1,000 articles

Go to Apify Store
Medium Scraper - Articles, Authors, Tags & Search

Medium Scraper - Articles, Authors, Tags & Search

Scrape Medium articles by tag, keyword, author, publication or link: title, subtitle, author with followers and bio, publication, dates, reading time, claps, responses, tags, member-only flag, image and full text as markdown.

Pricing

from $0.70 / 1,000 articles

Rating

0.0

(0)

Developer

Automly

Automly

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

11 days ago

Last modified

Categories

Share

What is Medium Scraper?

Medium Scraper is a tool that lets you scrape articles from Medium by tag, keyword, author, publication or link: title, subtitle, author with followers and bio, publication, publish and update dates, reading time, word count, claps, responses, tags, the member-only flag, the preview image and, when you want it, the article's text as plain text and markdown. Type a tag or a search, or paste any Medium link, click Start, and download the articles as Excel, CSV or JSON.

  • ⚡ Fast: 1,000 articles from one tag in under 2 minutes, and about 950 articles with their full text from four inputs in under 40 seconds (our tests)
  • 📚 Deep: whole tag archives, every story an author or publication has published, and up to 1,000 results per search
  • 📝 Article text as markdown: headings, links, lists, quotes, code blocks and images kept
  • 🔓 No login: no Medium account needed
  • 💸 Free to try: the $5 of free usage every Apify account gets each month covers about 5,000 articles

What can Medium Scraper do?

  • Scrape Medium articles by tag, like python, machine-learning or startup, newest first
  • Search Medium for any keyword and get the matching stories, most relevant first
  • Scrape every article by a Medium author, from medium.com/@username or username.medium.com
  • Scrape a Medium publication, like medium.com/swlh or a publication on its own domain like levelup.gitconnected.com
  • Scrape single Medium articles from their links, on medium.com, writer subdomains or publication domains
  • Export Medium articles to markdown for archives, newsletters, research or AI datasets
  • Find member-only (paywalled) stories: every article says whether it is member-only
  • Track claps and responses over time for your own stories or a competitor's
  • Collect author and publication profiles with follower counts, bios and links
  • Export to Excel, CSV, JSON, HTML or XML, or send the data to Google Sheets, Make, Zapier and more

What data can you extract from Medium?

📰 Title and subtitle🔗 Article link and canonical link🖼️ Preview image
✍️ Author: name, username, link👥 Author followers and bio🏢 Publication: name, link, followers
📅 Published and updated dates⏱️ Reading time🔢 Word count
👏 Claps and clappers💬 Responses🏷️ Tags
🔒 Member-only flag🌐 Language📝 Text and markdown
🧑 Author rows: followers, following, membership, X link📚 Publication rows: followers, description, domain, creator🧭 The input each row came from

How to scrape Medium

  1. Create a free Apify account.
  2. Open Medium Scraper.
  3. Enter tags, search keywords, authors or publications, or paste Medium links, one per line.
  4. Set Max articles per input, and turn on Include article text if you need the text and markdown.
  5. Click Start, then download the articles as Excel, CSV, JSON or HTML.

How much does it cost to scrape Medium articles?

You pay only for the rows you get: one price per article, and another per author or publication row when you turn on Add author rows or Add publication rows. Article text costs nothing extra.

Apify planArticles per 1,000Authors per 1,000Publications per 1,000
Free$1.00$2.00$2.00
Starter (Bronze)$0.90$1.80$1.80
Scale (Silver)$0.80$1.60$1.60
Business (Gold) and higher$0.70$1.40$1.40

Platform usage is included in these prices, so there is nothing else to pay.

Example: 1,000 articles from the python tag, with their text, cost $1.00 on the Free plan and $0.70 on Business.

Every Apify account gets $5 of free usage each month, enough for about 5,000 articles at Free-plan prices. See the Pricing tab for details.

⬇️ Input

SettingWhat it does
TagsMedium tags, like python or Data Science. Each tag is read newest first, back through its archive
Search keywordsWords to search Medium stories for, like web scraping
AuthorsUsernames (@kozyrkov or kozyrkov) or profile links
PublicationsA publication's Medium name (swlh), its own domain (levelup.gitconnected.com) or link
Medium linksAny mix of tag, search, profile, publication and article links
Max articles per inputHow many articles to save for each tag, search, author, publication or link (default 100). Set 0 for all of them
Include article textAdds each article's text as plain text and markdown
Add author rowsAdds one row per author with followers, following, bio, avatar and links
Add publication rowsAdds one row per publication with followers, description, logo and domain
Published afterKeeps only articles published on or after a date

The 200 newest articles on two tags:

{
"tags": ["python", "machine-learning"],
"maxArticles": 100
}

Everything an author has published, with the text:

{
"authors": ["@kozyrkov"],
"maxArticles": 0,
"includeText": true
}

Search results and a publication's stories since September 1, with author rows:

{
"searchQueries": ["remote work"],
"publications": ["levelup.gitconnected.com"],
"publishedAfter": "2026-09-01",
"includeAuthors": true
}

⬆️ Output

Every article is one row. With Add author rows or Add publication rows on, each author and publication found also gets one row; the type field says which. A member-only article with its text on:

{
"type": "article",
"id": "7c3910b4ca9a",
"url": "https://kozyrkov.medium.com/statistics-for-people-in-a-hurry-7c3910b4ca9a",
"title": "Statistics for people in a hurry",
"subtitle": "All of statistics in under 10 minutes. If you prefer an 🎧audio🎧 version, there’s one here too.",
"imageUrl": "https://miro.medium.com/v2/resize:fit:1200/0*Z56A_UHpgRDtwxgl.jpg",
"author": {
"id": "2fccb851bb5e",
"name": "Cassie Kozyrkov",
"username": "kozyrkov",
"url": "https://medium.com/@kozyrkov",
"followers": 179359,
"bio": "CEO, Kozyr. Former Chief Decision Scientist, Google. ❤️ Stats, ML/AI, data, puns, art, theatre, decision science. All views are my own. decision.substack.com",
"imageUrl": "https://miro.medium.com/v2/resize:fill:176:176/1*XlVStdn200ll4k3u_VOvGg.png"
},
"publication": null,
"publishedAt": "2025-04-08T09:42:38Z",
"updatedAt": "2025-04-08T09:42:38Z",
"readingTimeMinutes": 8,
"wordCount": 1926,
"claps": 1732,
"clappers": 278,
"responses": 27,
"tags": ["statistics", "decision-making", "artificial-intelligence", "data-science", "leadership"],
"memberOnly": true,
"language": "en",
"canonicalUrl": "https://kozyrkov.medium.com/statistics-for-people-in-a-hurry-7c3910b4ca9a",
"textIsPreview": true,
"text": "Statistical Thinking\n\nStatistics for people in a hurry\n\nIf you prefer an 🎧audio🎧 version, here’s one read for you by the author.\n\nEver wished someone would just...",
"markdown": "### Statistical Thinking\n\n## Statistics for people in a hurry\n\n***If you prefer an 🎧audio🎧 version, [here’s one](https://bit.ly/dipod_statistics) read for you by the author.***\n\nEver wished someone wo...",
"source": "https://kozyrkov.medium.com/statistics-for-people-in-a-hurry-7c3910b4ca9a",
"scrapedAt": "2026-10-02T09:35:19Z"
}

A publication row:

{
"type": "publication",
"id": "5517fd7b58a6",
"url": "https://levelup.gitconnected.com",
"title": "Level Up Coding",
"subtitle": "Coding tutorials and news. The developer homepage gitconnected.com && skilled.dev && levelup.dev",
"imageUrl": "https://miro.medium.com/v2/resize:fill:176:176/1*5D9oYBd58pyjMkV_5-zXXQ.jpeg",
"slug": "gitconnected",
"domain": "levelup.gitconnected.com",
"followers": 363032,
"creatorUsername": "treyhuffine"
}

An author row has title (the name), subtitle (the bio), imageUrl, username, followers, following, isMember, isBookAuthor, twitterUrl and customDomain.

The Overview tab lists every row. Article details shows authors, dates, claps and tags, Article text the markdown, and Authors & publications the profile rows. The run report names any tag, author, publication or article that does not exist.

Member-only stories

Medium lets anyone read the beginning of a member-only story for free. With Include article text on, that free preview is what you get for member-only stories, and textIsPreview is true; public stories come with their whole text and textIsPreview is false. Every article has memberOnly, so you can filter member-only stories in or out. The scraper never reads more than a visitor who is not logged in can see.

How can I use Medium data?

  • Content research: see which topics, titles and formats get the most claps and responses in your niche
  • Competitor and creator tracking: follow writers and publications, their posting rhythm and engagement
  • Influencer and guest-author discovery: find active writers on a topic with their follower counts and links
  • Newsletters and digests: collect the newest articles on your tags every day with Published after
  • Datasets for analysis and AI: article text as clean markdown with dates, tags and authors
  • Publication analytics: measure a publication's output and engagement over time
ActorWhat it gets
Google News Scraper API - Full Text, Monitoring & RSSGoogle News articles by keyword with publisher links, full text and only new articles on every run
News API - Multi-Source Headlines & ArticlesHeadlines and articles from BBC, CNN, NPR, NYT, The Guardian, Google News and Hacker News
Hacker News Trends APIHacker News stories and discussions filtered by keyword, points, comments and date
Reddit Scraper - Posts, Comments, Users, Subreddits & SearchReddit posts, comments, subreddits, user profiles and keyword search results
LinkedIn Post Search Scraper (No Login)Public LinkedIn posts by keyword: text, author, date, likes and comment count

❓FAQ

How much does it cost to scrape Medium?

$1.00 per 1,000 articles on the Free plan and less on paid plans, with platform usage included and article text at no extra cost; author and publication rows have their own price. See the cost section above for every plan and price. Max articles per input keeps the cost of a run under control, and you can also set a maximum cost per run.

How many articles can I get?

Tags, authors and publications are read to the end: a tag's archive goes back for years, and authors and publications give every story they have published. A Medium search shows at most 1,000 stories per keyword; add related keywords (web scraping, web scraping python, scrapy) to collect more. An article that turns up in several of your inputs is saved once.

Can I get the full text of member-only articles?

No. You get everything about a member-only story that is public (title, subtitle, author, dates, claps, responses, tags) and, with text on, the free preview Medium shows to everyone. Public stories come with their whole text.

Can I scrape the newest articles every day?

Yes. Schedule the scraper with your tags, authors or publications and set Published after to a recent date; it stops reading each list as soon as it reaches older articles, so a daily run stays small and cheap.

Do I need a Medium account?

No. You don't need a Medium account, membership, cookies or an API key: the scraper collects the public information anyone can see without signing in.

What happens with a deleted article or a wrong link?

The run goes on with the other inputs, and the run report lists the tags, authors, publications and articles that do not exist. A link that is not a Medium tag, search, profile, publication or article is named in the log with the reason. Short link.medium.com links are not supported: open them and paste the full link.

Can I connect Medium Scraper to other tools or AI agents?

Yes. Start runs and download results with the Apify API or the Python and JavaScript clients, send results to Make, Zapier, n8n, Google Sheets or Slack with Apify integrations and webhooks, or let AI assistants and agents run it through the Apify MCP server at mcp.apify.com. For instant answers inside your app, its real-time API returns articles directly for /articles?tag=python (also search=, author=, publication= and url=), without starting a run.

This scraper only collects information that authors and publications chose to publish openly on Medium, and never more of a member-only story than any visitor can read. Author names, bios and links can still be personal data, which may be protected by laws such as GDPR, so only scrape for a legitimate reason, respect the authors' copyright when you reuse their writing, and ask a lawyer if you are unsure. You can read more in Is web scraping legal?

Medium Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by Medium.

Something isn't working?

Open the Issues tab and tell us your input and what you expected, or which field you need. We read every one and usually reply within a day.

⭐ Your feedback

Have an idea or found a problem? Tell us in the Issues tab. If Medium Scraper saved you time, a short review on the Reviews tab helps other people find it.