Medium Author RSS Scraper avatar

Medium Author RSS Scraper

Pricing

Pay per event

Go to Apify Store
Medium Author RSS Scraper

Medium Author RSS Scraper

Scrape any Medium author's published articles via their RSS feed — title, link, author, body excerpt, published date, tags — export to JSON or CSV. A Medium article scraper that works for any public profile, no login. We retry and pace requests so the feed lands.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share


🎯 What this scrapes

Medium publishes an official RSS feed for every author at medium.com/feed/@username. This Actor is a focused medium author scraper: you supply a list of usernames or feed URLs, we fetch each feed, and you get one row per article — title, link, body excerpt (HTML), tags, and published date. It is RSS-only by design: no paywalled HTML, no full-article bypass, no scraping of curated topic pages. That keeps it fast, honest about its scope, and safe from Medium's increasingly aggressive IP-level throttling. For medium articles export in bulk, simply pass a list of usernames and stream the dataset to CSV, JSON, or Excel in one click.

🔥 What we handle for you

  • 🛡️ Browser fingerprint rotationcurl-cffi impersonates real Chrome / Firefox / Safari TLS handshakes so the target sees a browser, not Python.
  • 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
  • 🔁 Retries with exponential backoff on 408 / 429 / 5xx — up to 5 attempts per feed, Retry-After honoured.
  • 🧱 Rate-limit-aware pacing — when Medium pushes back, we slow down and retry rather than letting you hit the ban wall.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
  • 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.

💡 Use cases

  • Author monitoring — watch a thought leader and pipe new posts to Slack or Notion via n8n.
  • Translation pipeline — bulk-extract a series of articles for DeepL or an in-house translation workflow.
  • Newsletter assembly — combine RSS feeds from 30 authors into one curated weekly digest without hand-rolling RSS parsing.
  • Own-archive backfill — mirror your own Medium catalogue into Ghost, Astro, or Hashnode in minutes.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset as feeds are processed.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the Apify API.

📥 Input

FieldTypeRequiredDefaultNotes
usernamesarrayyes["@medium"]List of Medium usernames (with or without the @) or full profile / feed URLs. Each becomes one feed fetch.
maxArticlesPerUserintegerno10Medium's per-user RSS feed typically exposes the latest 10. We honour that cap.
includeContentbooleannotrueMedium's RSS includes a content:encoded body — we surface it when true.
proxyConfigurationobjectno{"useApifyProxy": true}Medium throttles cloud IPs. Apify Proxy keeps requests flowing.

Example input

{
"usernames": [
"@Medium"
],
"maxArticlesPerUser": 3,
"includeContent": false,
"proxyConfiguration": {
"useApifyProxy": false
}
}

📤 Output

Every row is one dataset item. All rows are Pydantic-validated before they reach the dataset.

FieldTypeNotes
usernamestringMedium username (with @ prefix).
article_idstring | nullMedium-side guid for the article.
titlestringArticle title.
linkstringCanonical article URL.
authorstringAuthor display name.
content_htmlstring | nullHTML article body (when includeContent=true).
categoriesarrayTags / categories applied to the article.
publishedstring | nullPublish timestamp (ISO-8601).
scraped_atstringWhen this row was recorded (ISO-8601).

Example output

{
"username": "@Medium",
"article_id": "abc123def456",
"title": "What's new at Medium",
"link": "https://medium.com/@Medium/whats-new-1abc",
"author": "Medium",
"content_html": null,
"categories": [
"medium",
"writing"
],
"published": "2026-04-15T20:00:00+00:00",
"scraped_at": "2026-06-01T09:00:00+00:00"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.005One-off warm-up charge per run
result$0.002Per dataset item written

Example: 1 000 results at the rates above ≈ $2.00. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

Medium's RSS feed is read-only and exposes the latest ~10 articles per author — older articles are not available via this surface. Claps, follower count, reading-time stats, and paywall-gated full article text live in Medium's rendered HTML, not in the RSS feed, and are out of scope for this Actor. If you need scraped paywalled content, this is not the tool — nor should it be.

❓ FAQ

Why only ~10 articles per author?

Medium's per-user RSS surface exposes the latest ~10 published posts. This is a Medium platform constraint, not a bug in this Actor. For historical archive scraping, a dedicated approach targeting Medium's older API surfaces would be needed (different Actor).

Is this a general medium scraper or RSS-specific?

RSS-specific — this Actor reads medium.com/feed/@username only. It does not scrape Medium's rendered HTML pages, curated topic feeds, or publication home pages. Keeping the scope narrow is what keeps it reliable and ToS-respectful.

Why is published sometimes null?

Some Medium accounts (especially publications) emit malformed or missing timestamps in their RSS. We surface null rather than guess.

What about claps count?

Claps are not in the RSS feed — they require a per-article HTML scrape, which is out of scope.

Publications vs. personal profiles?

Both work — pass @publication-slug or a full medium.com/feed/publication-slug URL.

Is there a Medium API alternative in 2026?

Medium deprecated its official API for third-party developers years ago and has not restored it. The per-author RSS feed (medium.com/feed/@username) is the remaining officially supported programmatic surface for reading author content. This Actor wraps it with proxy rotation and retry logic so it works reliably at scale.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.