Medium API

A powerful REST API that provides comprehensive access to Medium's content, users, publications, and more.

Build content aggregators, analytics tools, reading apps, or research platforms.

Available exclusively on RapidAPI — subscribe to get your API key and start making requests immediately.

Base URL https://unofficial-medium-api-wrapper.p.rapidapi.com

All requests must include x-rapidapi-host and x-rapidapi-key headers. Get your API key at rapidapi.com. For support, contact support@taotao7.top.

JavaScript
const response = await fetch(
  'https://unofficial-medium-api-wrapper.p.rapidapi.com/api/user/1234567890',
  {
    headers: {
      'x-rapidapi-host': 'unofficial-medium-api-wrapper.p.rapidapi.com',
      'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
    }
  }
);
const data = await response.json();
console.log(data);
Python
import requests

headers = {
    "x-rapidapi-host": "unofficial-medium-api-wrapper.p.rapidapi.com",
    "x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(
    "https://unofficial-medium-api-wrapper.p.rapidapi.com/api/user/1234567890",
    headers=headers
)
data = response.json()
print(data)
cURL
curl --request GET \
     --url https://unofficial-medium-api-wrapper.p.rapidapi.com/api/user/{user_id}/top-articles \
     --header 'x-rapidapi-host: unofficial-medium-api-wrapper.p.rapidapi.com' \
     --header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY'
JSON
{
  "success": true,
  "data": {
    "id": "abc123",
    "username": "johndoe",
    "fullname": "John Doe",
    "followers_count": 1250
  }
}

Article

GET /api/article/{article_id}

Get Article Info

Parameters

Name In Type Required Description
article_id path string Yes The ID of the Medium article

Responses

200 Returns the article information
Schema Properties:
  • id string
  • title string
  • subtitle string
  • author_id string
  • published_at string
  • url string
  • claps number
  • responses_count number
  • reading_time number
  • is_saved boolean - Whether the article is saved in any list by the user
404 Article not found
Schema Properties:
  • error string
GET /api/article/{article_id}/assets

Get Article's Assets

Parameters

Name In Type Required Description
article_id path string Yes The ID of the Medium article

Responses

200 Returns the article assets (images, etc.)
Schema Properties:
  • assets array
404 Article not found
Schema Properties:
  • error string
GET /api/article/{article_id}/content

Get Article's Content

Parameters

Name In Type Required Description
article_id path string Yes The ID of the Medium article

Responses

200 Returns the article content
Schema Properties:
  • id string
  • content string
404 Article not found
Schema Properties:
  • error string
GET /api/article/{article_id}/fans

Get Article's Fans

Parameters

Name In Type Required Description
article_id path string Yes The ID of the Medium article
page query number No

Responses

200 Returns the users who clapped for the article
Schema Properties:
  • page number
  • count number
  • fans array
404 Article not found
Schema Properties:
  • error string
GET /api/article/{article_id}/html

Get Article's HTML

Parameters

Name In Type Required Description
article_id path string Yes The ID of the Medium article

Responses

200 Returns the article content in HTML format
Schema Properties:
  • id string
  • html string
404 Article not found
Schema Properties:
  • error string
GET /api/article/{article_id}/markdown

Get Article's Markdown

Parameters

Name In Type Required Description
article_id path string Yes The ID of the Medium article

Responses

200 Returns the article content in markdown format
Schema Properties:
  • id string
  • markdown string
404 Article not found
Schema Properties:
  • error string
GET /api/article/{article_id}/related

Get Related Articles

Parameters

Name In Type Required Description
article_id path string Yes The ID of the Medium article
page query number No
x-medium-cookie header string No Optional Medium cookie string forwarded upstream
x-medium-frontend-path header string No Optional Medium frontend path override
x-medium-frontend-route header string No Optional Medium frontend route override

Responses

200 Returns articles related to the given article
Schema Properties:
  • page number
  • count number
  • articles array
GET /api/article/{article_id}/responses

Get Article's Responses

Parameters

Name In Type Required Description
article_id path string Yes The ID of the Medium article
page query number No

Responses

200 Returns the article responses (comments)
Schema Properties:
  • page number
  • count number
  • responses array
404 Article not found
Schema Properties:
  • error string

List

GET /api/list/{list_id}

Get List Info

Parameters

Name In Type Required Description
list_id path string Yes The ID of the Medium list

Responses

200 Returns the list information
Schema Properties:
  • id string
  • name string
  • description string
  • creator_id string
  • count number
  • created_at string
404 List not found
Schema Properties:
  • error string
GET /api/list/{list_id}/articles

Get List Articles

Parameters

Name In Type Required Description
list_id path string Yes The ID of the Medium list
page query number No

Responses

200 Returns the articles in the list
Schema Properties:
  • page number
  • count number
  • total number
  • next string
  • articles array
GET /api/list/{list_id}/responses

Get List Responses

Parameters

Name In Type Required Description
list_id path string Yes The ID of the Medium list
page query number No

Responses

200 Returns the responses in the list
Schema Properties:
  • page number
  • count number
  • total number
  • next string
  • responses array

Misc

GET /api/archived-articles

Get Archived Articles

Parameters

Name In Type Required Description
tag query string No Optional tag to filter articles
year query number No
month query number No
page query number No
next query string No

Responses

200 Returns archived articles
Schema Properties:
  • page number
  • archived_articles array
  • articles array
  • count number
  • tag string
  • year number
  • month number
  • next string
GET /api/latest-posts

Get Latest Posts

Parameters

Name In Type Required Description
topic_slug query string Yes Topic slug to filter posts
page query number No

Responses

200 Returns the latest posts
Schema Properties:
  • page number
  • latestposts array
  • posts array
  • count number
  • topic_slug string
GET /api/recommended-feed

Get Recommended Feed

Parameters

Name In Type Required Description
tag query string No Optional tag to filter feed
page query number No Optional page number (1-20)

Responses

200 Returns the recommended feed
Schema Properties:
  • recommended_feed array
  • feed array
  • count number
  • tag string
  • page number
GET /api/recommended-lists

Get Recommended Lists

Parameters

Name In Type Required Description
tag query string Yes Tag slug to filter lists
page query number No

Responses

200 Returns recommended lists
Schema Properties:
  • page number
  • recommended_lists array
  • lists array
  • count number
  • tag string
GET /api/recommended-users

Get Recommended Users

Parameters

Name In Type Required Description
count query number No
page query number No

Responses

200 Returns recommended users
Schema Properties:
  • page number
  • recommended_users array
  • users array
  • count number
GET /api/root-tags

Get Root Tags

Responses

200 Returns root/main tags
Schema Properties:
  • root_tags array
  • tags array
  • count number
GET /api/tag/{tag}

Get Tag Info

Parameters

Name In Type Required Description
tag path string Yes The tag to get info for

Responses

200 Returns tag information
Schema Properties:
  • tag string
  • name string
  • followers number
  • followers_count number
  • articles_count number
  • authors_count number
  • latest_articles_count number
  • latest_authors_count number
  • children array
404 Tag not found
Schema Properties:
  • error string
GET /api/tag/{tag}/related

Get Related Tags

Parameters

Name In Type Required Description
tag path string Yes The tag to get related tags for

Responses

200 Returns related tags
Schema Properties:
  • related_tags array
  • given_tag string
  • tags array
GET /api/top-feeds

Get Top Feeds

Parameters

Name In Type Required Description
tag query string Yes Tag slug to filter feeds
mode query string No
page query number No

Responses

200 Returns top feeds
Schema Properties:
  • page number
  • topfeeds array
  • feeds array
  • count number
  • tag string
  • mode string
GET /api/top-writers

Get Top Writers

Parameters

Name In Type Required Description
topic_slug query string Yes Topic slug to filter writers
count query number No
page query number No

Responses

200 Returns top writers
Schema Properties:
  • page number
  • count number
  • top_writers array
  • writers array
  • topic_slug string

Publication

GET /api/publication/{publication_id}

Get Publication Info

Parameters

Name In Type Required Description
publication_id path string Yes The ID of the Medium publication

Responses

200 Returns the publication information
Schema Properties:
  • id string
  • name string
  • slug string
  • description string
  • image_url string
  • followers_count number
  • creator_id string
404 Publication not found
Schema Properties:
  • error string
GET /api/publication/{publication_id}/articles

Get Publication Articles

Parameters

Name In Type Required Description
publication_id path string Yes The ID of the Medium publication
page query number No

Responses

200 Returns the publication's articles
Schema Properties:
  • page number
  • count number
  • articles array
404 Publication not found
Schema Properties:
  • error string
GET /api/publication/{publication_id}/newsletter

Get Publication's Newsletter

Parameters

Name In Type Required Description
publication_id path string Yes The ID of the Medium publication

Responses

200 Returns the publication's newsletter information
Schema Properties:
  • id string
  • name string
  • description string
  • subscribers_count number
404 Publication or newsletter not found
Schema Properties:
  • error string
GET /api/publication/{slug}/id

Get Publication ID

Parameters

Name In Type Required Description
slug path string Yes The slug of the Medium publication

Responses

200 Returns the publication ID
Schema Properties:
  • id string
404 Publication not found
Schema Properties:
  • error string

User

GET /api/user/{user_id}

Get User Info

Parameters

Name In Type Required Description
user_id path string Yes The ID of the Medium user

Responses

200 Returns the user information
Schema Properties:
  • id string
  • username string
  • fullname string
  • bio string
  • followers_count number
  • following_count number
  • image_url string
GET /api/user/{user_id}/articles

Get User's Articles

Parameters

Name In Type Required Description
user_id path string Yes The ID of the Medium user
page query number No

Responses

200 Returns the user's articles
Schema Properties:
  • page number
  • count number
  • articles array
GET /api/user/{user_id}/books

Get User's Books

Parameters

Name In Type Required Description
user_id path string Yes The ID of the Medium user
page query number No

Responses

200 Returns the user's books
Schema Properties:
  • page number
  • count number
  • books array
GET /api/user/{user_id}/followers

Get User's Followers

Parameters

Name In Type Required Description
user_id path string Yes The ID of the Medium user
page query number No

Responses

200 Returns the user's followers
Schema Properties:
  • page number
  • count number
  • total number
  • followers array
GET /api/user/{user_id}/following

Get User's Following

Parameters

Name In Type Required Description
user_id path string Yes The ID of the Medium user
page query number No

Responses

200 Returns the users the user is following
Schema Properties:
  • page number
  • count number
  • total number
  • following array
GET /api/user/{user_id}/interests

Get User's Interests

Parameters

Name In Type Required Description
user_id path string Yes The ID of the Medium user
page query number No

Responses

200 Returns the user's interests (tags)
Schema Properties:
  • page number
  • count number
  • interests array
GET /api/user/{user_id}/lists

Get User's Lists

Parameters

Name In Type Required Description
user_id path string Yes The ID of the Medium user
page query number No

Responses

200 Returns the user's lists
Schema Properties:
  • page number
  • count number
  • lists array
GET /api/user/{user_id}/publication-following

Get User's Publication Following

Parameters

Name In Type Required Description
user_id path string Yes The ID of the Medium user
page query number No

Responses

200 Returns the publications the user is following
Schema Properties:
  • page number
  • count number
  • publications array
GET /api/user/{user_id}/publications

Get User's Publications

Parameters

Name In Type Required Description
user_id path string Yes The ID of the Medium user
page query number No

Responses

200 Returns the user's publications
Schema Properties:
  • page number
  • count number
  • publications array
GET /api/user/{user_id}/top-articles

Get User's Top Articles

Parameters

Name In Type Required Description
user_id path string Yes The ID of the Medium user
page query number No

Responses

200 Returns the user's top articles
Schema Properties:
  • page number
  • count number
  • articles array
GET /api/user/{username}/id

Get User ID

Parameters

Name In Type Required Description
username path string Yes The username of the Medium user

Responses

200 Returns the user ID
Schema Properties:
  • id string
404 User not found
Schema Properties:
  • error string
502 Upstream GraphQL error
Schema Properties:
  • error string

Basic

$0.00 /mo
  • — 320 Requests / Month
  • — + $0.003 per extra request
  • — Rate Limit: -
  • — 10,240MB Bandwidth / Month
  • — + $0.001 per extra MB
Choose This Plan

Ultra

$29.99 /mo
  • — 32,000 Requests / Month
  • — Hard Limit
  • — Rate Limit: -
  • — 10,240MB Bandwidth / Month
  • — + $0.001 per extra MB
Upgrade Plan

Mega

$168.00 /mo
  • — 1,500,000 Requests / Month
  • — Hard Limit
  • — Rate Limit: -
  • — 10,240MB Bandwidth / Month
  • — + $0.001 per extra MB
Upgrade Plan