Best Medium API for author profile data
Medium answers 200 for a handle that does not exist. Any vendor that checks the status code and then parses will treat your typo as a real author.
What to require of any vendor here
- Ask how it decides the read worked. Not the status code — a handle that does not exist returns a successful response carrying a not-found page. The only honest answer is an anchor: the profile object itself, in the page's Apollo state, absent means error.
- Ask where it reads the number. It lives in that same state, not in the visible markup, so a vendor matching patterns over HTML is reading the wrong layer and will break on the next redeploy.
- Ask what it returns for post count. There is no reliable public one, so `null` is correct and a number is whatever happened to be rendered on the page that day.
Where the number actually lives
We read socialStats.followerCount from public profile page, logged out — not the rounded text. Handle format: Medium username, without the `@`: letters, digits, dot, hyphen and underscore. The `@` is part of the URL, not of the name.
What you are handing over
The number lives in the Apollo state rather than in the markup, and Medium answers 200 for a handle that does not exist. Keeping the anchor and the state path right when Medium redeploys is the part you are handing over.
What this does not return
- No story count. The public profile does not carry a reliable one, so posts_count is null instead of a count of whatever happened to be on the page.
- No verified flag. verifications.isBookAuthor says the person published a book, not that the account is verified, so verified is null.
- No 404 to rely on. A handle that does not exist returns 200 with a not-found page, which is why the read is anchored on the profile object and not on the status code.
Our endpoints for this platform — 1
medium/profile— Public profile on medium, with the exact follower count.
Shape, parameters and the errors each one returns are in the endpoint reference, and this platform has its own page with the recorded response.
What the alternatives cost
We do not restate competitor prices here. The vendor pages carry them — 35 of them — each price read on that vendor's own page, with the date we read it. Readings run from 2026-09-05 to 2026-10-03.
A price copied into a second place is a price that will disagree with itself the first time a vendor changes one. Verify on their page before deciding — we are an interested party.
Reading Medium yourself is the part above. Reading it through one call is the part we sell.