Medium Articles Scraper avatar

Medium Articles Scraper

Pricing

from $0.99 / 1,000 articles

Go to Apify Store
Medium Articles Scraper

Medium Articles Scraper

Extract Medium articles by keyword at scale — no account needed. Returns title, author, publication, clap count, reading time, tags, and direct URLs as structured JSON.

Pricing

from $0.99 / 1,000 articles

Rating

0.0

(0)

Developer

DataCach

DataCach

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Medium Article Scraper

Extract articles, authors, and publication data from Medium by keyword — no account required. Search Medium at scale and collect rich metadata for every result: title, URL, author, publication, clap count, reading time, tags, and more. Try it directly on the Apify platform without writing a single line of code.

What does Medium Article Scraper do?

The Medium Article Scraper lets you search Medium for articles by keyword and collect structured data for each result. You provide one or more search terms and a result limit; the scraper handles pagination automatically and delivers each article as a clean JSON record ready to export or integrate.

It retrieves data that is publicly visible on Medium's search page — no login, cookies, or API key needed.

Why use Medium Article Scraper?

Medium does not offer a public search API, making it hard to extract content data at scale. This scraper solves that. Common use cases:

  • Content research — Find the top-performing articles on any topic to inform your editorial strategy.
  • Competitive analysis — Monitor what your competitors or industry leaders are publishing.
  • SEO & keyword research — Discover trending titles, subtitles, and tags for any search term.
  • Lead generation — Identify authors and publications active in your niche.
  • Data journalism — Analyse publishing trends, clap counts, and reading times across topics.
  • Training datasets — Collect article metadata for NLP or recommendation models.

Running on the Apify platform gives you scheduling, monitoring, cloud storage, and integrations with 1,500+ tools (Zapier, Make, Google Sheets, etc.) out of the box.

How to use Medium Article Scraper

  1. Open the Actor on Apify Console and click Try for free.
  2. In the Input tab, enter your search keywords (e.g. python, machine learning).
  3. Set Max Results per Keyword — how many articles you want per keyword.
  4. Click Start and wait a few seconds.
  5. Go to the Output tab to preview results, or click Export to download as JSON, CSV, or Excel.

You can also run the scraper via the Apify API or schedule it to run automatically on a cron.

Input

Configure the scraper in the Input tab or via JSON:

FieldTypeDescriptionDefault
search_keywordsArray of stringsKeywords to search for on Medium. Each keyword is scraped independently.["python", "docker"]
max_resultsIntegerMaximum number of articles to collect per keyword. Total output ≤ keywords × max_results.100
start_pageIntegerPage number to start scraping from for each keyword. Useful to skip already-collected results or resume from a specific offset.1

Example input:

{
"search_keywords": ["machine learning", "kubernetes", "python"],
"max_results": 50,
"start_page": 3
}

This would return up to 150 articles (50 per keyword), starting from page 3 of each keyword's search results.

Output

Each article is saved as a JSON object in the Apify dataset. You can download the dataset in JSON, CSV, Excel, or XML from the Output tab or via the API.

Example output record:

{
"title": "How a Few Great Python Libraries Helped Me Build Faster and Think Bigger",
"mediumUrl": "https://blog.stackademic.com/how-a-few-great-python-libraries-helped-me-build-faster-and-think-bigger-3e65d5d95a23",
"visibility": "LOCKED",
"isPublished": true,
"isLocked": true,
"clapCount": 34,
"readingTime": 5.47,
"firstPublishedAt": 1778302377518,
"extendedPreviewContent": {
"subtitle": "Automation Changed Everything"
},
"creator": {
"name": "Muhummad Zaki",
"username": "Muhummadzaki"
},
"collection": {
"name": "Stackademic",
"domain": "blog.stackademic.com",
"subscriberCount": 83405
},
"tags": [
{ "displayTitle": "Python" },
{ "displayTitle": "Data Science" }
]
}

Data Fields

FieldTypeDescription
titleStringArticle title
mediumUrlStringDirect URL to the article
uniqueSlugStringUnique URL-friendly identifier
visibilityStringLOCKED (members only) or PUBLIC
isPublishedBooleanWhether the post is live
isLockedBooleanWhether the post requires a Medium membership
isSeriesBooleanWhether the post belongs to a series
clapCountNumberTotal claps received
readingTimeNumberEstimated reading time in minutes
firstPublishedAtNumberUnix timestamp (ms) of first publication
latestPublishedAtNumberUnix timestamp (ms) of last update
pinnedAtNumberUnix timestamp (ms) if pinned, else 0
creatorObjectAuthor details: name, username, imageId
collectionObjectPublication details: name, domain, description, subscriberCount
tagsArrayList of tags with display titles
extendedPreviewContentObjectArticle subtitle and preview flag
previewImageObjectPreview image metadata
postResponsesObjectNumber of responses/comments

Tips and Advanced Options

Large keyword lists For broad research campaigns, prefer fewer keywords with a higher max_results value over many keywords with a low limit — you'll get more consistent, deeper coverage per topic.

Scheduling recurring runs Use Apify's built-in scheduler to run the scraper daily or weekly and monitor trending articles in your niche over time.

Exporting to Google Sheets / Zapier / Make Connect the dataset directly from the Apify Console Integrations tab — no code required.

Crash recovery If a run is interrupted, restarting it automatically resumes from where it left off rather than starting over, saving both time and compute costs.

FAQ, Disclaimers, and Support

Is scraping Medium legal? This scraper only accesses data that is publicly visible on Medium's search results — the same data any user sees without logging in. It does not bypass paywalls, access member-only content, or collect personal data beyond what Medium displays publicly. Always comply with Medium's Terms of Service and applicable data protection laws in your jurisdiction.

Why are some articles marked isLocked: true? Medium marks paywalled articles (requiring a membership to read in full) as LOCKED. The scraper collects their metadata but does not access the full article body.

The scraper returned fewer results than expected. Medium's search index does not always return the maximum number of results for every query. Niche keywords may have fewer matching articles in total. Try broader keywords or verify the result count by searching manually on Medium.

Can I scrape a specific publication or author? Not directly — the current version searches by keyword only. Reach out if you need filtering by publication, author, or date range.

Found a bug or need a custom feature? Open an issue in the Issues tab on Apify, or reach out for a custom scraping solution.