# Medium RSS Feed Scraper

> Medium RSS Feed Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.2/call, status unknown (last checked 2026-10-02).

Fetches and structures recent articles from Medium tags, user profiles, publications, or explicit RSS feed URLs into clean JSON records

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/medium?utm_source=zero.xyz
- Price: $0.2/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/medium-rss-feed-scraper-a64bbb41
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ukN6s_eA_jHGgWi8vczzt

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability medium-rss-feed-scraper-a64bbb41 -d '<json body>'
```

Example prompt: Pull the 50 most recent Medium articles tagged 'machine-learning' and 'python', include full article text where available, and give me the title, author, URL, and publication date for each.

## When to prefer this

Use this endpoint when you need structured, machine-readable data from Medium — specifically from known tags, authors, or publications — without managing RSS parsing or web scraping yourself. It is preferable over generic web scrapers when the target is Medium content specifically, and better than manual RSS parsing when you need clean JSON output with normalized fields. The pay-per-call model with no charge for failed/empty runs makes it low-risk for exploratory or monitoring workflows.

## Known failure modes

- Empty result set if the specified tag, username, or publication has no recent public posts (not charged)
- Feed fetch failure if the Medium RSS endpoint is unavailable or rate-limited
- Locked/paywalled articles return only feed summary text even when fetchFullArticle is true
- Invalid username or publication slug returns empty items array
- maxItems or maxItemsPerFeed limits may truncate expected results silently

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of retrieved items and an array of article records, each containing the article URL, title, author name, summary text, unique article ID, published timestamp, last-updated timestamp, and an array of category/tag labels. Optionally includes original HTML content.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "tags": {
   "type": "array",
   "description": "Topic slugs such as technology or data-science. Reads each tag RSS feed."
  },
  "users": {
   "type": "array",
   "description": "Public usernames, with or without @. Reads each profile RSS feed."
  },
  "feedUrls": {
   "type": "array",
   "description": "Explicit public RSS feed URLs. A /feed prefix is added to paths that do not contain it."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 1,
   "description": "Hard cap across all feeds."
  },
  "includeHtml": {
   "type": "boolean",
   "default": false,
   "description": "Include the original HTML from the feed content or summary in each record."
  },
  "publications": {
   "type": "array",
   "description": "Publication slugs or custom domains. Reads their public RSS feeds."
  },
  "maxItemsPerFeed": {
   "type": "integer",
   "default": 30,
   "minimum": 1,
   "description": "Maximum new articles taken from each feed. Medium feeds generally expose only ten recent items."
  },
  "fetchFullArticle": {
   "type": "boolean",
   "default": false,
   "description": "Try public article pages to replace feed summaries with full text. Locked articles and blocked pages keep their feed text."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "title": null,
    "author": null,
    "summary": null,
    "articleId": null,
    "published": null,
    "updatedAt": null,
    "categories": null
   }
  ],
  "product": "medium"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/medium-rss-feed-scraper-a64bbb41/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
