Medium Article Scraper avatar

Medium Article Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Medium Article Scraper

Medium Article Scraper

Scrape Medium articles by tag/topic, user, publication, or search query. Extracts title, author, tags, preview text, reading time, publish date, and paywall status all via public RSS feeds and metadata.

Pricing

from $5.00 / 1,000 results

Rating

5.0

(11)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

11

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

Scrape articles from Medium by tag/topic, author, publication, keyword search, or a single article URL — all without authentication.

Features

  • By Tag — fetch latest articles for any Medium topic (programming, data-science, AI, and 16+ built-in tags, or any custom slug)
  • By User — fetch all articles published by a Medium username
  • By Publication — fetch articles from any Medium publication (e.g. better-programming, towards-data-science)
  • Search — search Medium by keyword; supplements with tag-feed results for broader coverage
  • By URL — extract metadata from a single Medium article URL
  • Filter results by publish date, keyword match, and paywall status
  • Detects member-only (paywalled) articles — never bypasses the paywall

Output Fields

FieldTypeDescription
articleIdstringUnique Medium article ID extracted from URL
titlestringArticle title
previewTextstringFirst 300 chars of article preview/description
authorNamestringAuthor's display name
authorUsernamestringMedium username (without @)
publicationNamestringPublication name (if published under one)
publicationSlugstringPublication URL slug
publishedDatestringISO-8601 publish date
tagsarrayArticle tags/categories
readingTimeMinutesintegerEstimated reading time in minutes
articleUrlstringFull article URL
canonicalUrlstringCanonical URL (if different from articleUrl)
isPaywalledbooleanWhether the article is member-only
recordTypestringAlways "article"
siteNamestringAlways "Medium"
scrapedAtstringISO-8601 scrape timestamp

Input Options

FieldTypeDefaultDescription
modeselectbyTagWhat to scrape: byTag, byUser, byPublication, search, byUrl
tagselectprogrammingTag slug for byTag mode (choose from 20 built-in tags or type custom)
usernamestringMedium username for byUser mode
publicationstringPublication slug for byPublication mode
querystringSearch terms for search mode
articleUrlstringArticle URL for byUrl mode
fromDatestringOnly articles published on/after this date (ISO-8601)
containsKeywordstringCase-insensitive keyword filter on title/preview
excludePaywalledbooleanfalseSkip member-only articles
maxItemsinteger20Maximum articles to return (1–1000)

Example Use Cases

Get latest programming articles:

{"mode": "byTag", "tag": "programming", "maxItems": 20}

Get articles by a specific author:

{"mode": "byUser", "username": "towardsdatascience", "maxItems": 50}

Get free articles about Python published in 2025:

{"mode": "byTag", "tag": "python", "fromDate": "2025-01-01", "excludePaywalled": true}

Search for AI articles:

{"mode": "search", "query": "artificial intelligence", "maxItems": 30}

FAQs

Does this scrape paywalled article content? No. This actor only collects publicly available metadata (title, author, tags, preview text). Full article content for member-only posts is never extracted. Use isPaywalled to identify and filter such articles.

How many articles are returned per tag/user? Medium RSS feeds typically return the latest 10–25 items. For more results, use the search mode which supplements with tag feed data.

Why does search mode return fewer results than expected? Medium's public search does not expose a paginated JSON API. The actor uses HTML and tag feed supplementation to maximize results within Medium's public data surface.

Is a Medium account required? No authentication or cookies are required.

What tags are available in the dropdown? 20 popular tags are in the dropdown (programming, data-science, AI, python, javascript, startup, etc.). You can also type any custom tag slug directly.