Analyze Your Medium Follower Stats with This Tool
See who are members, writers, and who follow you back
Since their decision to promote following, Medium is becoming more of a platform where you build a community rather than just share blog posts. Medium users, and especially Partner Program writers, are now following more writers and getting notified about the newest articles written by them. It naturally follows that writers are focusing on building an audience, and it might be interesting to start looking at Medium as a social network and not just as a blogging platform.

With that in mind, I decided to check out what my Medium network looks like, see how many of my followers are writers, how many of them follow me back, etc, and I created a little app that does just that. Unfortunately, Medium’s public API is more focused on publishing and does not provide the information we need for this, so we will mainly be making requests to Medium’s GraphQL server and processing the data from the results. In order to get the results in a reasonable time and not to DDoS Medium, I only did the data collection and analysis in 1st level — with only the people I follow and that follow me. See the implementation details below or check out these Github repositories for the full code. Please feel free to create issues or PRs if you have anything to add!
Additionally, I published the tool here, so that you can check out what your Medium network looks like without needing to clone the repo and run it yourself. When you enter your Medium username in the tool, it will get your following and follower list from the Medium server, and give you the accumulated lists along with some highlights and statistics. Note that it might take a while for the results to load (especially if you have a lot of followings/followers) because we are accumulating Medium’s paginated results.
Analyze your own Medium network by entering your username in this link: https://medium-stats.github.io
Disclaimer: Please note that I am a software engineer mainly working full-stack, and I haven’t had a lot of experience with data analysis or network visualization. With the data we have, I might be missing some of the interpretations or analyses that could be made. Please make a comment to this post with suggestions for improvements, new ideas, or any thoughts on the matter!
Background
For a while now, the Medium team has been rethinking and redesigning the Medium application to make it more connected. With this redesign “writers are easier to discover and follow, and their stories are reaching wider audiences”. This introduced several changes in Medium UI accompanied by other business/operational decisions. One of these decisions was to change the criteria of enrolling in the partner program, Medium’s program for the creators to earn for their content. One of the new criteria is that a writer should have at least 100 followers in order to enroll and stay in the partner program, and in March 2022 they started to remove the writers who do not satisfy this condition from the program. With this news, a lot of the writers with fewer followers started to try and grow their audience. This caused the emergence of a new category of articles for network-building, promoting follow-for-a-follow (1, 2, 3, 4, and many more).
I am not sure how this new strategy affected Medium’s ‘connectedness’ (please let me know in the comments if you saw any analysis/news on this from the Medium team). But considering that a lot of Medium Partner Program members (including myself) followed each other just for the purpose of keeping their program membership, it should have worked at least a bit.
I personally think the design changes have also been purposeful in the right way. I have been using Medium for several years now, and only recently have I started to actually follow the writers of the content that I like, simply because it was easier to do so, and it actually improved my experience when browsing through articles.
Long story short, the Medium team has been successfully increasing the network connections within their ecosystem, and it slowly makes sense to look at it as a network and pay attention to your followers and the accounts that you follow, especially if you are a writer.
Implementation Details
As a software engineer I want to talk about the details and steps of the application a bit to inspire similar tools and implementations. If you are not interested or not familiar with software development, feel free to skip this section.
While I was going for having an overview of my followers and followings, I started by checking the network tab to see what requests are made to Medium’s GraphQL server to 1) get my user information 2) get the list of people who follow me 3) get the list of people whom I follow. Additionally, I needed to know what data Medium returns to the frontend, so I can have an idea about what I can visualize, put into graphs, or what conclusions I can draw. To make a request to the Medium server, I initially used the information in these articles (1, 2) and gist, and figured out how to get started.
This research told me that:
When I make a GET call to https://medium.com/@${username}?format=json I will get the user object in JSON format with a string prefix. After clearing the prefixed string and converting it to JSON, we get an object with fields like userId, name, username, createdAt, imageId, mediumMemberAt, isWriterProgramEnrolled, etc, which already gave me some input about my profile. And if I could get the same for my followers and followings, I could do something with it.
I was originally going to build a frontend-only application and just get the data with the client and display it nicely, so I would build some graphs or showcase the data in a nice format that I can analyze. However, I saw that the Medium server was blocking the calls from clients with CORS, so in order to overcome this, I created a backend server with express super quickly and built a React frontend to get the data from this express server instead of Medium itself. See these repos for my backend and frontend codes respectively.
Back to the endpoints; after some more poking around, I found that I was also able to get the follower and following lists. A GET call to /_/api/users/{userId}/following was giving me the list of people that I follow, and /_/api/users/{userId}/followers was giving me that of people who follow me. There was still one catch though, and it was that these endpoints were only returning 8 people in the list and we had to consider pagination. Using the information from this article, I created a function getAllDataFromUri that goes through all the pages in a given endpoint for Medium and returns the results in a concatenated array. I am sharing that function below, but check out my Github repo to fill in the gaps and to see how the whole thing is carried out.
/* Get all data from a paginated endpoint */const getAllDataForUri = async (uri) => { // e.g. url = /_/api/users/{userId}/following let url = MEDIUM + uri + "?limit=100"; let data = []; let isEnd = false; let nextId; while (!isEnd) { if (nextId) { url = MEDIUM + uri + "?limit=100&to=" + nextId; }
const response = await axios.get(url); const { payload } = cleanResponse(response.data); data = [...data, ...payload.value]; if ( payload && payload.paging && payload.paging.next && payload.paging.next.to ) { nextId = payload.paging.next.to; } else { isEnd = true;}
}
return data;};After some coding, I had a server to:
- get my user information including my user id from my username
- get the list of my followers with my user id
- get the list of my followings with my user id
And the beautiful side is that the list of followers and followings included the same user object for the people and not just the IDs, so no additional requests were required to collect information. Originally I considered going further and checking who my followers follow, too, but with this structure of requests and calls to the Medium server it would take too long, and creating an actual network graph would probably be too time-costly.
Hopefully, in line with their re-positioning as a network, the Medium dev team can create additional features in their public API for us developers to dive deeper into follower stats. It would definitely make way for some interesting content!
I then started building the frontend that makes requests to the express server I built, gets the user, follower, and following information, and displays them -hopefully nicely-. React is my go-to frontend framework, so I created an app called medium-network using create-react-app and started to work 🙌 I chose Chakra UI as my component library to kick off quickly, nivo as the graph library since we happily use it in other React projects, and React Query for getting and managing the data. I will not go through every detail about how I wrote the application step by step as it would take longer and miss the point of this article, but here is the repository with the full code if you are interested, and you can always ask follow-up questions if something is not clear!
Results
We have a limited amount of data with the way we obtained them, they are:
- A user’s profile information
- List of accounts that follow a user
- List of accounts that a user follows
And within the ‘profile information’ we have these to work with:
- Basic account information; membership date, profile URL, profile image, etc.
- Social media information (Facebook and Twitter)
- Whether the user is in Medium Partner Program
- Whether the user is a Medium member (i.e. paying user), and since when
From all this, I created a 3 part page, 1) user’s profile information 2) follower information 3) following information.

Follower and following information have a similar structure, so let’s focus on what they consist of:
Followers & Followings
When listing the follower / following accounts, I used tag components and highlighted some of them. When you hover over the tags, you will see detailed profile information for that user and will have the option to go to their Medium profile. Below we see two graphs, indicating the number of 1) how many of the follower/followings are Medium members (i.e. paying Medium users) and 2) how many of the follower/followings are in Medium Partner Program.

For the above image, the list of people that I follow are given. By default, the highlight feature ‘highlights people following back’, so the green tags indicate the profiles that follow me back, and the pink ones indicate the profiles that don’t. You can change that option above the tag list to 2) highlight partner program members, or 3) highlight Medium members.
And at last, at the bottom we have two graphs showing the proportion of Medium members and Medium Partner Program members among the people that I follow.
Please give a shout out in the comments if you can think of other meaningful visualisations or analysis that can be created with the data at hand 🙌
Conclusion
Considering their new approach to position themselves as a network of writers and readers, we take a look at Medium as a social network and see how/if we can get an overview of our followers. The Medium API does not allow much in this sense, so we are limited in terms of the data we can obtain. Thus the analysis we can make is also quite limited, however, more complex results can be created in the future regarding the Medium network if/when the API provides more data .
With the data we do have, however, we can obtain general information of:
- the profile of a Medium username
- list of people who follow that user, and their profile information
- list of people who that user follows, and their profile information
You can check out yours at https://medium-stats.github.io
What can we do with this?
With this tool, you can see:
- a comprehensive overview of your followers and followings.
- which of your followers you follow back
- which of your followings follows you back
- how many of your followers/followings are Medium members
- how many of your followers/followings are Medium Partner Program members
- if individual follower/following accounts are Medium members or are in Medium Partner Program
Hopefully you can make use of this tool to improve your Medium network, and please let me know if you have any suggestions for improvements in terms of the data collection or the results UI. I believe the number of articles and tools looking at Medium as a network will grow in the future, and I hope that this one can inspire other implementations.






