# Medium API: Read an article

> Reads a public Medium article from its link, including publication-domain links: details, engagement counts, tags and the plain-text paragraphs. Member-only stories include only the publicly visible preview.

Unofficial. Not affiliated with or endorsed by Medium.

- Page: https://fous.com/methods/medium.com/read-article
- Method: `medium.com/read_article`, version 1
- Website: medium.com
- Returns: title, subtitle, author, publication, date, reading time, claps, responses, tags, member-only flag, paragraphs, image, link
- Effect: read (it gets data and changes nothing)
- Sign-in: none needed
- Cost: 1 credit per completed run (1¢ with pay as you go); failed runs are free
- Verified: Nov 2, 2026

## Inputs

| Field | Type | Required | In the run below | Description |
|---|---|---|---|---|
| `article` | string | yes | `"https://medium.com/@tarasjseaks/why-i-only-write-for-medium-0b8c500134a1"` | Link to a Medium article, including a publication's own domain, such as https://medium.com/@tarasjseaks/why-i-only-write-for-medium-0b8c500134a1. |

## Output

From a run on Oct 31, 2026, shortened. Its input:

```json
{
  "article": "https://medium.com/@tarasjseaks/why-i-only-write-for-medium-0b8c500134a1"
}
```

Its output:

```json
{
  "tags": [
    "Writing",
    "Community",
    "Mission"
  ],
  "claps": 29,
  "title": "Why I Only Write for Medium",
  "author": "Taras J Seaks",
  "subtitle": "And why this story is free to read",
  "responses": 2,
  "paragraphs": [
    "Why I Only Write for Medium",
    "And why this story is free to read",
    "Writers don’t just write to write. In some cases, we do. But in most cases, it’s to share an important message. This is as true for novels as it is for self-development content and everything surrounding them."
  ],
  "member_only": false,
  "publication": null,
  "article_link": "https://medium.com/@tarasjseaks/why-i-only-write-for-medium-0b8c500134a1",
  "published_date": "2024-03-20",
  "main_image_link": "https://miro.medium.com/0*nwz5ReKI2u2dF-AV",
  "full_text_available": true,
  "reading_time_minutes": 6
}
```

## Run it

From code, with a Fous API key in `FOUS_API_KEY`; the answer's `data` holds the output:

```bash
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"medium.com/read_article","input":{"article":"https://medium.com/@tarasjseaks/why-i-only-write-for-medium-0b8c500134a1"}}'
```

From an AI agent connected to the Fous MCP server: its `run` with the same method and input. To connect one, give it `set up https://fous.com/SKILL.md`.

## Ask your agent

- Pull the full text and clap count from this Medium post: https://medium.com/@sarah.drasner/the-art-of-code-review-8f3c2a91d4e7
- What tags and reading time does this article have? https://towardsdatascience.com/a-gentle-introduction-to-transformers-5b2e9c7a1f04
- Can you get me the paragraphs of https://betterprogramming.pub/stop-using-console-log-for-debugging-3d91ab7c0e52 so I can summarize it?
- Check whether this Medium story is member-only and who wrote it: https://medium.com/@jameswrites/how-i-paid-off-60k-in-student-loans-a4c7e1290bd3
- How many responses and claps did https://uxdesign.cc/the-death-of-the-hamburger-menu-7e2f04b8c193 get, and when was it published?

## Input schema

```json
{
  "type": "object",
  "required": [
    "article"
  ],
  "properties": {
    "article": {
      "type": "string",
      "description": "Link to a Medium article, including a publication's own domain, such as https://medium.com/@tarasjseaks/why-i-only-write-for-medium-0b8c500134a1."
    }
  }
}
```

## Output schema

```json
{
  "type": "object",
  "required": [
    "title",
    "subtitle",
    "author",
    "publication",
    "published_date",
    "reading_time_minutes",
    "claps",
    "responses",
    "tags",
    "member_only",
    "full_text_available",
    "paragraphs",
    "main_image_link",
    "article_link"
  ],
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Article tags."
    },
    "claps": {
      "type": "integer",
      "description": "Number of claps."
    },
    "title": {
      "type": "string",
      "description": "Article title."
    },
    "author": {
      "type": "string",
      "description": "Author name."
    },
    "subtitle": {
      "type": [
        "string",
        "null"
      ],
      "description": "Article subtitle, if any."
    },
    "responses": {
      "type": "integer",
      "description": "Number of responses."
    },
    "paragraphs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Publicly visible text in reading order, with headings as separate paragraphs."
    },
    "member_only": {
      "type": "boolean",
      "description": "Whether the article is member-only."
    },
    "publication": {
      "type": [
        "string",
        "null"
      ],
      "description": "Publication name, if the story is in one."
    },
    "article_link": {
      "type": "string",
      "description": "Article page link."
    },
    "published_date": {
      "type": "string",
      "format": "date",
      "description": "Original publication date."
    },
    "main_image_link": {
      "type": [
        "string",
        "null"
      ],
      "description": "Main image link, if any."
    },
    "full_text_available": {
      "type": "boolean",
      "description": "Whether the complete text is publicly available."
    },
    "reading_time_minutes": {
      "type": "integer",
      "description": "Reading time shown to readers, in minutes."
    }
  }
}
```

## See more

- [Medium API: List a writer's or publication's latest articles](https://fous.com/methods/medium.com/list-author-articles.md): Lists the latest public articles by a Medium writer or publication (by username, publication name or Medium link), with dates, reading times, claps, member-only labels and tags.
- [Medium API: List topic articles](https://fous.com/methods/medium.com/list-topic-articles.md): Lists public Medium articles for a topic, newest first or popular this week, with author, publication, reading time, claps and membership status.
- [CNN API: Read an article](https://fous.com/methods/cnn.com/read-article.md): Reads a CNN article by link or headline and returns its headline, summary, authors, dates, section, tags, main image and public paragraphs. Subscriber stories return only a brief public preview; live blogs include their entries.
- [The Guardian API: Read article](https://fous.com/methods/theguardian.com/read-article.md): Reads one public Guardian article by link or headline and returns its details and available full-text paragraphs. Live blogs return the latest entries shown on the page; some older articles may be unavailable.
- [NPR API: Read article](https://fous.com/methods/npr.org/read-article.md): Reads an NPR article by its link or headline and returns its text and publication details. For live blogs, returns the displayed updates.
- [BBC News API: Read article](https://fous.com/methods/bbc.com/read-article.md): Reads the text and details of a BBC News article from its link or headline. Live coverage pages return the latest entries available.
- [Daily Mail API: Read an article](https://fous.com/methods/dailymail.co.uk/read-article.md): Reads a public Daily Mail article from its link, or from a headline (the best-matching result of the site's search), and returns its text and details; live blogs give the latest entries shown on the page.
- [TechCrunch API: Read an article](https://fous.com/methods/techcrunch.com/read-article.md): Reads a public TechCrunch article by link or headline and returns its text, authors, dates, section, tags and image. Live blogs return their latest public updates.
- [All Medium methods](https://fous.com/methods/medium.com.md)
