Medium Author Posts API
An author's ten newest posts across publications, with full article HTML when the article body is available.
GET /v1/medium/authors/{username}/posts1 credit Failed requests are free
About this endpoint
GET /v1/medium/authors/{username}/posts accepts a handle with or without the leading @, or a profile URL such as https://medium.com/@ev, and returns the author's newest posts as JSON. data.author holds username, name, title, description, id, avatarUrl, url, host and isCustomDomain. data.posts holds up to ten posts.
The article body is usually available. When contentAvailable is true, each post has contentHtml, contentText, wordCount and readingMinutes, with the publisher's article markup preserved and plain text and reading time derived. When an item is incomplete, complete is false and the response holds the complete items.
The list has no cursor and returns ten posts. Use the daily post sitemaps to discover older post URLs by date. An invented handle returns lookupStatus: not_found with author: null and posts: [].
Medium Author Posts API FAQ
Which forms of handle work?
ev, @ev and https://medium.com/@ev all name the same author. The handle is lower-cased and the leading @ is removed before the lookup.
Do posts include the full article?
Usually. Check contentAvailable on each post. When it is true, contentHtml, contentText, wordCount and readingMinutes are filled. When it is false, read snippet and imageUrl instead.
Why are there only ten posts?
This list returns its newest ten posts and has no cursor. Use GET /v1/medium/posts with a date to discover older post URLs from the daily sitemap.
How many credits does it cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.