Medium Scraper - Articles by Tag, Author & Publication
Pricing
from $1.65 / 1,000 articles
Medium Scraper - Articles by Tag, Author & Publication
Scrape Medium articles by tag, author (@handle) or publication via public RSS. Get title, author, date, tags, subtitle, full content and reading time. No login, no key. Export JSON, CSV, Excel. Independent tool, not affiliated with Medium.
Pricing
from $1.65 / 1,000 articles
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by A Medium Corporation or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "Medium" is referenced only to describe the publicly available website this Actor collects data from.
Scrape Medium articles by tag, author (@handle) or publication, straight from Medium's public RSS feeds. Get the title, author, publish date, tags, subtitle, full article content and reading time - as clean JSON, CSV or Excel. No login, no API key, no browser.
Why this actor exists (demand): the "Medium scraper" niche draws ~256 monthly users on Apify Store across a fragmented field; the leader holds ~217 with zero reviews. This actor is a clean, reliable RSS-based reader that returns full content and metadata for content monitoring, research, newsletters and RAG / LLM ingestion.
What you can scrape
- By tag - the latest articles for any topic, e.g.
artificial-intelligence,python,startup. - By author - any Medium
@handle, e.g.@dhh. - By publication - any publication, e.g.
better-programming. - By URL - paste any
medium.comtag / author / publication URL and it is auto-detected.
Medium serves the 10 most recent articles per feed. Author and publication feeds include the full article body (clean text + HTML, word count, reading time); tag feeds are metadata-only (title, author, tags, date, URL) - that's Medium's RSS design, and the actor documents which fields that affects.
Example input
Latest AI articles by topic:
{ "sourceType": "tag", "sources": ["artificial-intelligence", "machine-learning"], "maxResults": 20 }
Full articles from specific authors:
{ "sourceType": "user", "sources": ["@dhh", "@benthompson"], "includeContent": true }
From a publication, or by URL:
{ "sources": ["better-programming", "https://medium.com/tag/python"] }
You can also import a list of tags / authors / publications / URLs from a pasted block or a linked .txt/.csv/Google Sheet via Import sources from a file.
Output fields
title, url, author, publishedAt, tags, subtitle, content (clean text), contentHtml, wordCount, readingTimeMin, sourceType, source, guid, scrapedAt.
Every run finishes with a clear status message; empty runs never crash and never bill.
Use with AI assistants (MCP)
This actor is available through the Apify MCP server, so assistants like Claude can pull "the latest 20 articles tagged machine-learning" or "@dhh's recent posts" as structured, LLM-ready data.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready - AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 - an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server - no account, no API key.
- Skyfire - agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous content pipeline? This scraper is ready to plug in and pay as it goes.
Pricing
Pay-per-event, tiered by volume: $0.003 per article at the free tier, dropping to $0.00075 at the top tier. You pay only for articles actually returned.
Automate & schedule
Run this Actor on autopilot and pull results into your own stack:
- Apify API - start runs, fetch datasets and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python - official SDKs.
- Schedules - run it hourly, daily or weekly and keep your dataset current.
- Webhooks - trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/medium-scraper').call({"sourceType": "user","sources": ["@dhh"],"maxResults": 10});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} records`);
Integrate with any app
Connect the dataset to thousands of apps - no code required:
- Make - multi-step automation scenarios.
- Zapier - push new records straight into your CRM or spreadsheet.
- Slack - get notified when a scheduled run finds something new.
- Google Drive / Sheets - auto-export every run to a spreadsheet.
- Airbyte - pipe results into your data warehouse.
- GitHub - trigger runs from commits or releases.
More scrapers from scrapesage
Related Actors in the same category:
- Google News Scraper - Articles, Sources & Monitoring
- Telegram Scraper - Channels, Messages, Media & Search
- Google Trends Scraper - Interest, Regions & Trends
- Substack Scraper - Newsletters, Posts & Creator Leads
- IMDb Scraper - Movies, TV Shows, Ratings, Cast & Box Office
FAQ
Where does the data come from? Medium's own public RSS feeds (medium.com/feed/...). No private API, no login.
Why only 10 articles per source? That is the number Medium publishes in each RSS feed. Add more tags / authors / publications to get more articles per run.
Do tag feeds include the article text? No - Medium omits the body from tag feeds. Use an author or publication source to get full content.
This is an independent scraper for publicly available RSS data. It is not affiliated with, endorsed by, or sponsored by Medium. "Medium" is a trademark of A Medium Corporation, used here for descriptive purposes only. Use the data in compliance with Medium's terms and applicable law.
Data & lawful use
This Actor reads only what Medium publishes to logged-out visitors: it does not log in, use cookies or session tokens, create accounts, or reach anything behind a sign-in. Names, handles, bios and engagement figures are public, but they relate to identifiable people, so treat the output as personal data. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis (usually legitimate interest for research, marketing analytics or B2B prospecting), honour access and deletion requests, and do not use the output for spam or unsolicited messaging.
Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by A Medium Corporation or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
"Medium" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official Medium product, is not authorised or certified by A Medium Corporation, and does not distribute Medium software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.
Need help?
Open an issue on the Actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this Actor is actively maintained.