Skip to content

Medium Scraper

Try for free

Scrape Medium articles from profiles, publications, tags, searches and article URLs. Get the full text (plain, Markdown or HTML), author, publication, claps, responses, reading time, word count, tags and dates. No login needed.

📰 Medium Scraper

Scrape Medium articles from any profile, publication, tag, keyword search or article URL. Get the full article text (plain text, Markdown or HTML) together with the author, publication, claps, responses, reading time, word count, tags and dates. No login, no cookies and no Medium account needed, and you are not limited to the 10 newest posts of an RSS feed.

✨ Why use Medium Scraper?

  • 📚 Every article, not just the latest 10 — pages through a profile's, publication's or tag's full archive, up to the limit you set.
  • 📝 Full text in the format you need — plain text by default, plus optional Markdown (great for LLM and RAG pipelines) or clean HTML.
  • 👏 Engagement data included — claps, responses, reading time and word count for every article.
  • 🔎 Five ways in — usernames, publications (including custom domains), tags with Newest / Trending / Top sorting, keyword search, and single article URLs.
  • 🎯 Filters that save money — published-after / before dates, minimum claps and a member-only switch, applied before anything is saved.
  • ⚡ Fast and light — up to 25 articles with their full text per request; in our tests 1,000 articles with full text took about 70 seconds.

🎯 Use cases

  • 🤖 AI and RAG datasets — collect clean Markdown of articles on a topic (for example every machine-learning story this month) to feed a knowledge base.
  • 📈 Content and trend research — see which stories in a tag get the most claps and responses, and what topics are trending this week.
  • ✍️ Author and influencer research — list a writer's articles with follower counts and engagement to find the right people for outreach or sponsorships.
  • 🏢 Publication monitoring — track what a publication or competitor blog on Medium publishes, and schedule daily runs to catch new posts.
  • 🗞️ Media monitoring — search Medium for your brand, product or keyword and export every mention.
  • 🧪 Academic and NLP research — build text corpora with dates, tags and authors attached.

🚀 How to use

  1. Enter one or more profiles (@username), tags, publications, search queries or Medium URLs. You can combine them in one run.
  2. Set Max articles per source (10 by default; 0 means all available) and, if you like, a total cap.
  3. Optionally add filters: Published after / before, Minimum claps, Skip member-only articles, and the tag feed order (Newest or Oldest from the full archive, Trending, Top this week / month / year / all time).
  4. Choose the body formats under Article content: plain text (on by default), Markdown and HTML.
  5. Click Start. When the run finishes, export the results as JSON, CSV, Excel, XML or HTML, or read them through the API.

📥 Input

FieldWhat it does
usersMedium usernames (@janeexample, janeexample) or profile URLs (https://medium.com/@janeexample, https://janeexample.medium.com)
tagsTag slugs (machine-learning) or tag URLs
publicationsPublication slugs (better-programming), URLs or custom domains (betterprogramming.pub)
searchQueriesKeywords to search Medium articles for
startUrlsAny Medium URL: profile, publication, tag, search, article or RSS feed
maxItemsPerSourceArticles per source (default 10, 0 = all available)
maxItemsOptional total cap across all sources
publishedAfter / publishedBeforeDate (2026-01-01) or period (7 days, 3 months)
minClapsOnly articles with at least this many claps
skipMemberOnlyLeave out member-only (paywalled) stories
tagSortnew (default), oldest, hot, top_week, top_month, top_year, top_all_time
includeContent / includeMarkdown / includeHtmlWhich body formats to save
{
  "tags": ["machine-learning"],
  "tagSort": "top_week",
  "users": ["@janeexample"],
  "maxItemsPerSource": 20,
  "publishedAfter": "30 days",
  "includeMarkdown": true
}

📤 Output

One row per article.

FieldDescription
id, url, title, subtitleThe article and its link
author, authorUsername, authorUrl, authorFollowers, authorBio, authorImageUrlWho wrote it
publication, publicationSlug, publicationUrlThe publication it appeared in (empty for personal posts)
publishedAt, updatedAtISO dates (UTC)
claps, responses, readingTimeMinutes, wordCountEngagement and length
isMemberOnly, isPreviewOnlyMember-only story, and whether only its public preview could be read
tags, tagNamesTag slugs and display names
imageUrlCover image
text, markdown, htmlThe article body in the formats you chose
source, sourceType, scrapedAtWhich input produced the row, and when

Example (trimmed):

{
  "id": "4f2a9c81d3e7",
  "url": "https://medium.com/example-engineering/how-we-cut-our-build-times-in-half-4f2a9c81d3e7",
  "title": "How We Cut Our Build Times in Half",
  "subtitle": "Three small changes to our CI pipeline that saved our team hours every week…",
  "author": "Jane Example",
  "authorUsername": "janeexample",
  "authorUrl": "https://medium.com/@janeexample",
  "authorFollowers": 1840,
  "publication": "Example Engineering",
  "publicationUrl": "https://medium.com/example-engineering",
  "publishedAt": "2026-09-14T08:30:12.401Z",
  "updatedAt": "2026-09-14T09:02:45.118Z",
  "claps": 512,
  "responses": 9,
  "readingTimeMinutes": 6.4,
  "wordCount": 1487,
  "isMemberOnly": false,
  "tags": ["devops", "continuous-integration", "software-engineering"],
  "imageUrl": "https://miro.medium.com/v2/resize:fit:1400/1*example.png",
  "isPreviewOnly": false,
  "text": "Our builds used to take 40 minutes. Here is what we changed…",
  "source": "#devops",
  "sourceType": "tag",
  "scrapedAt": "2026-10-21T00:10:21Z"
}

💰 Pricing

You pay $7 per 1,000 articles ($0.007 per article saved), plus platform usage (compute and proxy traffic), which is not included in the article price but is tiny: in our tests it was under $0.01 per 1,000 articles. For example, 1,000 articles with full text ≈ $7.01 in total. No article fee is charged for inputs that return no articles, and the run stops cleanly when it reaches your spending limit.

❓ FAQ

Is it legal to scrape Medium? The actor only reads public article pages and data that anyone can see without logging in. You are responsible for how you use the data: respect authors' copyright, Medium's terms and privacy rules such as GDPR.

Do I need a Medium account, login or cookies? No. Leave the proxy setting as it is; datacenter proxies work, and residential addresses are used automatically only if datacenter requests keep being refused.

How many articles can I get? As many as Medium lists for the source: a profile's or publication's archive, or a tag feed, page by page. Set Max articles per source to 0 to take everything available.

Why is some article text short? Member-only (paywalled) stories show only a preview to readers who are not logged in. Those rows have isMemberOnly: true and isPreviewOnly: true. Turn on Skip member-only articles to leave them out.

What if a field is empty? Some fields only exist for some articles: personal posts have no publication, and many posts have no subtitle or cover image. Empty fields are null.

Can I schedule it or use the API? Yes. Schedule runs to watch a tag, profile or publication for new articles (combine with Published after: 1 day), and start runs or download results through the API in JSON, CSV or Excel.

⚠️ Limits

  • Member-only stories return only their public preview text; the full text needs a paid Medium login, which this actor does not use.
  • Comments (responses) are counted but their text is not scraped.
  • Medium lists, highlights, followers and follower lists are not covered.
  • Search returns what Medium's own search returns, in its relevance order.
  • A tag's Trending and Top lists hold up to about 100 articles (Medium's own limit). Newest and Oldest page through the full tag archive.
  • Publication archives on custom domains work through the publication's slug or domain; posts hidden from a publication's homepage may be missing beyond its 25 newest posts.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.