retrieves the stats (clapCount, voterCount, responseCount, and readingTime) of Medium posts
On this article, I’ll clarify the best way to retrieve the stats (
response depend, and
studying time) of Medium feed posts utilizing a REST API, the dearth of this characteristic within the Medium RSS feed is what motivated me to create this superior Medium API. That is my forty first Medium article.
I wished to acquire the stats (
response depend, and
studying time) of my Medium posts whereas engaged on my private web site improvement. 2 years earlier than after I implement the medium widget to my web site I discovered Pixelpoint.io which generated a widget with clap counts of a medium put up. At that second I puzzled how they carried out it? Then I neglect to analysis it however final month I discovered that pixelpoint.io’s widget shouldn’t be working. I appeared in all places for an answer to my wants however couldn’t discover one, so I had no alternative however to code it myself.
My preliminary instinct was to have a look at the RSS feed however there have been no such particulars are offered then I appeared on the official documentation of the general public REST API by Medium, and nothing was there both. The Medium REST API solely means that you can create a Medium article by
HTTP POST technique(cf part 3.3). You’ll be able to’t retrieve or edit a Medium article through the use of the Medium API 😔.
As a way to get an understanding of how the helpful stats are retrieved within the Medium put up, I began to examine the Medium utilizing browser developer instruments. Shockingly, there was no request to acquire the stats amongst all of the XHR calls, which push me to have a look at the HTML response of the Medium put up.
curl https://medium.com/p/unique_Id_of_the_post >> put up.html
Then I scrape Medium put up knowledge with out a headless browser.
First, I get the web site and search for errors. Then I confirmed whether or not the physique exists, and cargo the physique utilizing
$ . In
strive block, all of the tag script contents are mapped in an array. Then discover the component which incorporates
window.__APOLLO_STATE__ , substitute the task
window.__APOLLO_STATE__ = with an empty string. I substitute the
/"/g with ‘
"’ and parse with
JSON.parse . Lastly, get the suitable values from the JSON.
The benefits of this method over headless browsers are tremendous quick and takes manner much less processing and assets.
You possibly can in a position to make use of the Superior Medium API that I developed as follows:
There are 5 kinds of requests. you can have the ability to get all of the responses through the use of
Medium feed in JSON
You possibly can capable of get the RSS feed of the final 10 Medium posts through the use of the next hyperlinks (substitute your username as an alternative of
The next request of the API provides the direct JSON conversion of that RSS Feed.
Medium Superior Information
You possibly can capable of get the Medium feed in JSON with the lacking a part of the Medium feed comparable to
readingTime. every lacking knowledge injected in each put up(gadgets) object.
The next request of the API provides the JSON conversion of the RSS feed with the injection of lacking knowledge.
Medium Personalized Information
JSON conversion of the Medium RSS feed is custom-made in line with the classes. Order the Medium put up’s tags in line with their use depend among the many newest 10 posts and the
tagOrder return that tags’ order rank. Medium’s newest 10 posts have been divided by 3 and each 3 posts have been pushed in an array and people arrays have been pushed in a single array. There may be an algorithm that returns probably the most appropriate tag for the Medium put up among the many different tags of that Medium put up.
The next request of the API provides the custom-made model of the Medium feed in JSON
Medium Personalized Superior Information
This response accommodates the Medium custom-made knowledge with the injection of lacking stats comparable to
The next request of the API provides the custom-made model of the Medium feed in JSON with the lacking a part of the Medium feed.
Lacking knowledge of a selected put up.
This response accommodates solely the lacking half (
readingTime) of Medium feed for a selected Medium put up.
Request 💻 ➡ 🌎 :
Response 🌎➡💻 :
This API is Open Supply and I welcome your contributions. final 2 years I used the medium widget from Pixelpoint.io which generated a widget with clap counts of a medium put up. I didn’t do analysis to get the lacking a part of the Medium feed after I used Pixelpoint.io. however 2 months earlier than Pixelpoint.io shouldn’t be working and this incident impacts my private web site. Subsequently I pushed myself and created this API.