Hey guys!
This is the "Getting Started" Guide for the Medium API (Unofficial Version), listed on the RapidAPI Platform.
This REST API helps you to quickly extract data from medium.com, without any hassle.
Using our Unofficial Medium API, you can get -
User's - Info, Articles, Top Articles, Followers, Following, Interests, Lists, Publications
Article's - Info, Responses, Content, Markdown, HTML, Fans, Related Articles
Publication's - Info, Articles, Newsletter
Top Feeds, Latest Posts, Top Writers, Tag Info, Related Tags
List's - Info, Articles, Responses
Search - Articles, Publications, Users, Lists, Tags
💡 Checkout our swagger documentation for the details on each endpoint!
Before getting started, you must first get your API Key to authenticate your calls. You'll need to pass it in the headers, along with the requests, to use the API smoothly.
Header -
x-rapidapi-key: [RAPIDAPI_KEY]
Wondering how to subscribe to our API and get API Key? Watch the following video -
API's Base URL:
Endpoints:
User 👥 :
· GET User ID
· GET User Info
· GET User's Articles
· GET User's Top Articles
· GET User's Following
· GET User's Followers
· GET User's Interests
· GET User's Lists
· GET User's Publications
Article ✏️ :
· GET Article Info
· GET Article's Content
· GET Article's Markdown
· GET Article's HTML
· GET Article's Responses
· GET Article's Fans
· GET Related Articles
Publication 📰 :
· GET Publication ID
· GET Publication Info
· GET Publication Articles
· GET Publication's Newsletter
Misc 🌀 :
· GET Latest Posts
· GET Top Writers
· GET Top Feeds
· GET Tag Info
· GET Related Tags
List 📜 :
· GET List Info
· GET List Articles
· GET List Responses
Search 🔎 :
· Search Articles
· Search Publications
· Search User
· Search Lists
· Search Tags
GET User ID
Every Medium user has one unique hash ID associated with his/her account. Usually, we only deal with usernames that we choose while registering on Medium Platform. You can find your username in the sub-domain of your profile page URL or at the end of it. Like -
- https:// username .medium.com
- https:// medium.com/@ username
Once you get your username, like mine is nishu-jain, you can use the following endpoint to get your user_id
.
Endpoint -
GET /user/id_for/{username}
Usage -
Once you have the user_id
, you can invoke other user-related endpoints using it.
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/user/id_for/nishu-jain" |
{ | |
"id" : "1985b61817c3" | |
} |
GET User Info
Once you've got the user_id
, you can use it to get user-related information such as - Full name, Username, Bio, Followers & Following count, Twitter username, Profile-image, top writer status, etc ...
Endpoint -
GET /user/{user_id}
If you don't have the user_id
, see the GET User ID endpoint above.
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/user/1985b61817c3" |
{ | |
"id": "1985b61817c3", | |
"username": "nishu-jain", | |
"fullname": "Nishu Jain", | |
"bio": "Obsessed with Tech & Biz; Building my SaaS startup; Does NOT dumb down the writing; Skilled Wordsmith; Delivers the best — https://links.nishu.io", | |
"followers_count": 704, | |
"following_count": 7, | |
"publication_following_count": 2, | |
"image_url": "https://miro.medium.com/1*C92Hx7k9nRM7TPlrmhgW9w.jpeg", | |
"twitter_username": "one_anachronism", | |
"is_writer_program_enrolled": true, | |
"allow_notes": true, | |
"medium_member_at": "2020-06-24 16:05:46", | |
"is_suspended": false, | |
"top_writer_in": ["data-science", "artificial-intelligence", "programming"], | |
"has_list": true, | |
"is_book_author": false, | |
"tipping_link": "https://www.paypal.com/paypalme/sanskarjain1997", | |
"bg_image_url": "https://miro.medium.com/1*5EKkWUnrRoveFz88dcWP4Q.png", | |
"logo_image_url": "https://miro.medium.com/1*jp6zL2GND2FnDy1WGZOdpQ.png" | |
} |
GET User's Articles
This endpoint returns a list of articles (article_ids
) written by the Medium user.
💡 You can then use the GET Article Info endpoint to retrieve information, such as title, subtitle, author, claps, voters, tags, topics, publication, etc..., related to your desired article.
Endpoint -
GET /user/{user_id}/articles
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/user/e680fcaf274b/articles" |
{ | |
"id": "e680fcaf274b", | |
"associated_articles": [ | |
"111d0f0c7c58", | |
"3cfddd3be420", | |
"8c42e1e55d31", | |
. | |
. | |
. | |
], | |
"count": 500, | |
"total_pinned_articles": 2, | |
"next": "1655196790606" | |
} |
GET User's Top Articles
This endpoint returns a list of aritcle_ids
of the top 10 posts/articles on the user's profile (usually in chronological order - most recent posts), for the given user (user_id
).
💡 You can then use the GET Article Info endpoint to retrieve information on individual articles.
Endpoint -
GET /user/{user_id}/top_aritcles
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/user/1985b61817c3/top_articles" |
{ | |
"id" : "1985b61817c3", | |
"top_articles" : [ | |
"562c5821b5f0", | |
"05a740c035cc", | |
"23a287916d3f", | |
"9263875a3649", | |
"6c34414177bd", | |
"9867ba29a923", | |
"65a63626c04e", | |
"d29a51e112fb", | |
"c561122e8d02", | |
"9d376e28bb1e" | |
], | |
"total_pinned_articles": 1 | |
} |
GET User's Following
This endpoint returns a list of user_ids
of the given user's followings.
You can fetch this list and use the GET User Info endpoint to retrieve information related to the individual users.
Note: Currently, this list does not contain the
publication_ids
of the publications that the user is following.
Query Parameters (Optional): -
-
count
: To limit the number of results. (count
<= 1500)
Endpoint -
GET /user/{user_id}/following
Usage —
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/user/14d5c41e0264/following?count=10" |
{ | |
"id": "14d5c41e0264", | |
"following": [ | |
"51e7eb466f57", | |
"4731f4eb4818", | |
"c0db304eefe1", | |
"cb95a7d0729d", | |
"d97397290c06", | |
"41f99c370629", | |
"cfa71f272740", | |
"4a142a63b9a0", | |
"3340d9dd0981", | |
"78561519e424" | |
] | |
} |
GET User's Followers
This endpoint returns a list of user_ids
of the followers for the given user.
Note: The length of followers' list might be different from what you get in the Get User Info Endpoint. It's because, this list doesn't include Medium Users who left the platform.
If you really need the exact followers' count, use this endpoint to get the followers' list and take its length as the exact followers' count
You can use the GET User Info endpoint to retrieve information related to the individual users.
Query Parameters (Optional): -
-
count
: To limit the number of results. (count
<= 1500)
Endpoint -
GET /user/{user_id}/followers
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/user/1985b61817c3/followers?count=10&after=14274b746ca3" |
{ | |
"id": "1985b61817c3", | |
"followers": [ | |
"14609d40b731", | |
"148ae689f366", | |
"14daabbff886", | |
"1508ef53df06", | |
"150aaf6fae67", | |
"1556eaf34b46", | |
"157ac0b7fce4", | |
"15f72b3c21f1", | |
"162e5e73459a", | |
"16759d70a68f" | |
], | |
"count": 10, | |
"next": "16759d70a68f", | |
"total_followers": 704 | |
} |
GET User's Interests
This endpoint returns a list of tags
that the given user follows on Medium.
All tags are lowercased hyphen-separated strings.
Endpoint -
GET /user/{user_id}/interests
Usage —
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/user/1985b61817c3/interests" |
{ | |
"id": "1985b61817c3", | |
"tags_followed": [ | |
"gadgets", | |
"privacy", | |
"history", | |
"education", | |
"ios-development", | |
"venture-capital", | |
. | |
. | |
. | |
], | |
"count": 50 | |
} |
GET User's Lists
This endpoint returns an array of list_ids
created by the user.
You can use the GET List Info endpoint to retrieve information on individual Medium Lists.
Endpoint -
GET /user/{user_id}/lists
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/user/5142451174a3/lists" |
{ | |
"id": "5142451174a3", | |
"lists": [ | |
"ba3904884898", | |
"321cfd9966ec", | |
"b8a117567230", | |
"9516ed2145ae", | |
"24356f9a9c6e", | |
"e8b1c393bcff", | |
"95b41261bee0", | |
"4ecdbfd97d05" | |
], | |
"count": 8 | |
} |
GET User's Publications
This endpoint returns a list of publication_ids
where the user is the editor and/or creator.
You can use the GET Publication Info endpoint to retrieve information on individual publications.
Endpoint -
GET /user/{user_id}/publications
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/user/5142451174a3/publications" |
{ | |
"id" : "5142451174a3", | |
"publications" : { | |
"admin_in" : [ | |
"1707904c7d01", | |
"f942ece95c75", | |
"7115479cd0d4", | |
"8ccfed20cbb2", | |
"138251b1ae0f", | |
"808f98f1d615", | |
"15f753907972", | |
"4f57b0126c4", | |
"eced202fa6e3", | |
"d6739c1fa4cb", | |
"1c6c9c01313f", | |
"56d19ef7a86a" | |
], | |
"writer_in" : [ | |
"4c1db9d0f93a", | |
"15f753907972", | |
"1c6c9c01313f" | |
] | |
} | |
} |
GET Article Info
This endpoint returns the article-related information such as Title, Subtitle, Author, Tags, Topics (as assigned by Medium), Publication, Published date and time, Clap Count, Voter Count, Word Count, Responses Count, Reading Time, Language, etc...
For using this endpoint, you'll need an article's unique hash ID, called article_id
.
You can find the article_id
at the end of any Medium Story's URL. Like -
- https:// medium.com /towards-artificial-intelligence/why-its-super-hard-to-be-an-ml-researcher-or-developer- 67fa62fc1971
- https:// nishu-jain.medium.com /the-neutrality-of-death- 20abb01e5c85
Endpoint -
GET /article/{article_id}
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/article/67fa62fc1971" |
{ | |
"id": "67fa62fc1971", | |
"title": "Why it’s Super Hard to be an ML Researcher or Developer?", | |
"subtitle": "A Realization that Literally Changed my Life", | |
"author": "1985b61817c3", | |
"publication_id": "98111c9905da", | |
"published_at": "2020-10-28 21:01:06", | |
"last_modified_at": "2023-06-20 06:37:11", | |
"tags": [ | |
"data-science", | |
"machine-learning", | |
"artificial-intelligence", | |
"deep-learning", | |
"careers" | |
], | |
"topics": [ | |
"machine-learning", | |
"data-science" | |
], | |
"claps": 603, | |
"voters": 141, | |
"word_count": 1146, | |
"responses_count": 6, | |
"reading_time": 4.874528301886793, | |
"url": "https://pub.towardsai.net/why-its-super-hard-to-be-an-ml-researcher-or-developer-67fa62fc1971", | |
"unique_slug": "why-its-super-hard-to-be-an-ml-researcher-or-developer-67fa62fc1971", | |
"image_url": "https://miro.medium.com/1*Ot1HMgLOe8GhwX1Knlx96g.png", | |
"lang": "en", | |
"is_series": false, | |
"is_locked": true, | |
"is_shortform": false, | |
"top_highlight": "Give me six hours to chop down a tree and I will spend the first four sharpening the axe - Abraham Lincoln" | |
} |
GET Article's Content
This endpoint returns the textual content of an article/story, for the corresponding article_id
.
You can get the
article_id
from the URL, as shown above in the GET Article Info endpoint.
Endpoint -
GET /article/{article_id}/content
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/article/562c5821b5f0/content" |
{ | |
"id": "562c5821b5f0", | |
"content": "About Me :) - Nishu Jain\n\nWho am I and what do I do …\n\nNishu Jain\n\nHey there!\n\nI’m Nishu Jain: A geek, cursed with little creativity.\n\nProfessionally, I’m a Software Engineer who likes to play with data, algorithms, and especially, Artificial Intelligence/Deep Learning.\n\nI speak mostly Python but, have polyglottic tendencies. I believe in developing real-world products for people like you and me.\n\nAnd apart from being a full-fledged Tech-Geek, I’ve got a few real hobbies … like -\n\n~ Reading & Writing\n\nAs you can see, I’m writing on Medium … da?\n\nSometimes, I do freelancing as well. So if you’ve something interesting for me, ping me on Fiverr. I’ll be happy to talk to you.\n\nOn Medium: I like to write about Technology, Business, Psychology, Philosophy, etc… And from time to time, I tell short stories too and talk about art and stuff.\n\nSpeaking of which, I also do …\n\n~ Sketching\n\nYeah! I love the world of Art and I make it too - Wanna see my artwork?\n\nhttps://www.instagram.com/sketchscrolls\n\nLiked my work? 😮\n\nConnect with me on Instagram. (username: sketchscrolls)\n\n~ Playing Piano\n\nIt’s kind of a new thing for me and I recently picked it up.\n\nI’ve uploaded a few pieces on my personal Instagram account (username: one_anachronism).\n\nCurrently, I’m trying my hands with western classical music and few anime openings (don’t call me Otaku yet). I’ll soon upload some serious performance as well …. so till then, stay connected! ^_^\n\nTopics that interest me -\n\nTechnology, Programming, Designing, Investing, Business, Economics, Art, Psychology, Mathematics, Physics, Music, Mythology, Linguistics, Philosophy, Etymology, etc…\n\nAll in all …\n\nI’m kind of a jack of all trades but, master of some - And I’m proud of it.\n\nInstead of spending my life doing some sort of specialization, I would rather learn different domains, and try to fuse them together.\n\nI would rather add more dimensions to my personality, acquire more skills in my arsenal, and mix a little flavor in my life - than be living in a monochromatic world.\n\nAnd don’t confuse my polymathic trait with a lack of dedication. Because, when I’m in my \"research mode\", you’ll have a pretty hard time surpassing me. I consume information like a sponge, process it like a machine, and try to see the bigger picture like a sage.\n\nThat’s who I am. (Hope I piqued your interest)\n\nEnough about me! Let’s get in touch\n\nGive ME a chance to know you. Shoot me an email—\n\nnishujain1997.19@gmail.com\n\nOr directly message me on Twitter … Or LinkedIn or whatever\n\nWebsite: https://links.nishu.io\n\nLinkedIn: https://www.linkedin.com/in/one_anachronism\n\nTwitter: https://twitter.com/one_anachronism\n\nInstagram (Sketches): https://www.instagram.com/sketchscrolls\n\nInstagram (Personal): https://www.instagram.com/one_anachronism\n\nGitHub: https://github.com/weeping-angel\n\nFiverr: https://fiverr.com/nishu_jain\n\nHopefully, we can do something awesome together!\n\nHave a nice day.\n\nPS: I go by the name Sanskar Jain as well. Nishu is just my pen name!" | |
} |
GET Article's Markdown
This endpoint returns the article content in the markdown format (.md), for the corresponding article_id
.
You can get the
article_id
from the URL, as shown above in the GET Article Info endpoint.
Endpoint -
GET /article/{article_id}/markdown
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/article/67fa62fc1971/markdown" |
{ | |
"id": "67fa62fc1971", | |
"markdown": "### [Careers](https://towardsai.net/p/category/careers), [Data Science](https://towardsai.net/p/category/careers), [Machine Learning](https://towardsai.net/p/category/machine-learning)\n\n# Why it's Super Hard to be an ML Researcher or Developer?\n\n### A Realization that Literally Changed my Life\n\n\n\n---\n\n<iframe src=\"https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fanchor.fm%2Fnishu-talks%2Fembed%2Fepisodes%2FWhy-its-Super-Hard-to-be-an-ML-Researcher-or-Developer-emsrpv&display_name=Anchor+FM+Inc.&url=https%3A%2F%2Fanchor.fm%2Fnishu-talks%2Fepisodes%2FWhy-its-Super-Hard-to-be-an-ML-Researcher-or-Developer-emsrpv&image=https%3A%2F%2Fd3t3ozftmdmh3i.cloudfront.net%2Fproduction%2Fpodcast_uploaded_nologo400%2F10759800%2F10759800-1606157708107-a5012566fbed8.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=anchor\" title=\"Listen and Read\" height=\"102\" width=\"400\"></iframe>\n\nAccording to the [stats](https://data-mining.philippe-fournier-viger.com/too-many-machine-learning-papers/), currently, 33,000 ML Research papers are being published per year. That means, around 90+ papers per day! And almost every single paper introduces something new, without any exception.\n\n\n\nAs an \"AI enthusiast\", I try to get a brief (or a rough idea) of as many papers as possible to keep myself updated in the industry. But to be honest, it feels a bit overwhelming.\n\nTo make things much worse, I recently heard a \"story\" that literally changed my life as an ML/DL developer.\n\n**Warning:** What I'm about to share with you may disturb your career as an ML researcher/developer or make you deeply anxious. So, hear my reasoning until the end.\n\n> You may love it or hate it, but you can't ignore it\n\nAfter realizing what I mentioned above, I was already feeling like, \"Have I wasted a good amount of my life with ML research? Could I do something more useful with my life?\". And then ...\n\n---\n\n## The Story that changed my life\n\nA few months ago, I came across this **true story** of a Harvard professor of political science, Gary King, who started working on the document clustering problem to give a Festschrift (_a collection of writings published in honor of a scholar_) to one of his colleagues, as the retirement gift.\n\nTo do so, he asked his grad students to utilize every clustering algorithm ever invented. For those who know about this, clustering is a very old problem in the field of machine learning and statistics. Hence, there were plenty of methods available to apply in the literature, and they found around 250 algorithms.\n\nTo compare the efficiency of all the algorithms, they coded an R package and what did they found? Was there any absolute \"best\" algorithm?\n\nNope. Obviously not.\n\nAs expected, each method worked differently. They could not decide which algorithm was best, and at last, they let their users pick the results that they themselves found useful.\n\nSo what did I learn?\n\n---\n\n## Listen Carefully\n\nHere, I described the situation using clustering, but the same argument can be given to any problem - may that be reinforcement learning, deep learning, supervised learning, unsupervised learning, or anything else.\n\nRight now, I am pretty sure that there are more than a hundred variants of SGD (Stochastic Gradient Descent) alone, which is an integral part of deep learning.\n\nAnd that is scary to me (even with some experience in this field).\n\nIt made me ask this question: _Should I spend my time inventing the 251st clustering algorithm?_\n\nWe all know that _**glory comes to the trailblazers**_. Every next version of something gets lesser and lesser credit (like a [submodular set function](https://en.wikipedia.org/wiki/Submodular_set_function)); the law of diminishing returns applies.\n\nAfter Ian Goodfellow invented [GANs](https://en.wikipedia.org/wiki/Generative_adversarial_network) (Generative Adversarial Networks), there were more than a hundred types of GAN variants out there. Everyone was attracted to them and contributed, but unfortunately, only a few got some recognition. Ian Goodfellow will always be at the center of the GAN universe.\n\nSo let me ask you this again, _Is it really worth it to invent the 251st clustering algorithm or a 101st SGD variant?_\n\n---\n\n## The ML Tragedy\n\n\n\nI told you, there is no happily ever after.\n\nThere is a set of theorems in search and optimization called, \"**[No Free Lunch Theorems](https://en.wikipedia.org/wiki/No_free_lunch_in_search_and_optimization)**\" (seriously, no kidding) which accurately depicts our situation. Let me quote this from Wikipedia:\n\n> In computational complexity and optimization the **no free lunch theorem** is a result that states that for certain types of mathematical problems, the computational cost of finding a solution, averaged over all problems in the class, is the same for any solution method. **No solution therefore offers a \"short cut\".** This is under the assumption that the search space is a probability density function. It does not apply to the case where the search space has underlying structure that can be exploited more efficiently than random search or even has closed-form solutions that can be determined without search at all. **For such probabilistic assumptions, the outputs of all procedures solving a particular type of problem are statistically identical**. A colourful way of describing such a circumstance, introduced by David Wolpert and William G. Macready in connection with the problems of search and optimization, is to say that **there is no free lunch**. Wolpert had previously derived no free lunch theorems for machine learning (statistical inference). Before Wolpert's article was published, Cullen Schaffer independently proved a restricted version of one of Wolpert's theorems and used it to critique the current state of machine learning research on the problem of induction [[1](https://wikimili.com/en/No_free_lunch_in_search_and_optimization)].\n\nIn short, the theorem says, there isn't gonna be any \"best\" approach (or algorithm) that can fit all problem space.\n\nAfter averaging over a large input distribution, every algorithm performs the same, more or less. Hence, no best clustering algorithm, no best RL (reinforcement learning) method, no best regressor, etc... It's all hokum.\n\n---\n\n## What's Next?\n\nSince now I have put you in my shoes, you must be wondering why you read all this?\n\nBecause there **is** something that you can do! And that is, to **change your approach.**\n\nAs an ML developer, the best advice that I can give to you is: Instead of concentrating on ML algorithms, focus on the problem - **Problem Formulation must be your main priority**.\n\n> Give me six hours to chop down a tree and I will spend the first four sharpening the axe - Abraham Lincoln\n\nDon't approach the problem from the opposite direction. I learned that the hard way, but once I did, it changed everything.\n\n> [**How I Won a National Level ML Competition with my Unique \"Informal Approach\"**](https://towardsdatascience.com/how-i-won-a-national-level-ml-competition-with-my-unique-informal-approach-e86fd95532fd)\n\nKeep that in mind and I'm sure you'll **not** get lost (into this algorithm jungle). I hope you'll spend your time more wisely from this point forward.\n\n---\n\n_If you enjoy reading these stories, then I'm sure you would love to be a **[Medium paying member](https://nishu-jain.medium.com/membership).** It's only $5 per month, and you'll get unlimited access to thousands and thousands of stories and writers. You can support me by **[signing up using this link](https://nishu-jain.medium.com/membership)**_, _and I'll earn a small commission that will help me grow and publish more stories like this._\n\n_Thanks for reading and have a nice day!_\n\n---\n\n**Other awesome articles that you might enjoy -**\n\n> [**Medium API Documentation**](https://mediumapi.com/documentation.html)\n\n> [**Machine Learning is Becoming a Joke**](https://medium.com/datadriveninvestor/machine-learning-is-becoming-a-joke-automl-downsides-c7634ce0572c)\n\n> [**10 Game-changing AI Breakthroughs Worth Knowing About**](https://pub.towardsai.net/10-game-changing-ai-breakthroughs-worth-knowing-about-b2076afc4930)\n\n> [**Now AI is Knocking On The Doors of Luxurious Hotels**](https://medium.com/towards-artificial-intelligence/now-ai-is-knocking-on-the-doors-of-luxurious-hotels-2066b1102590)" | |
} |
GET Article's HTML
This endpoint returns the article in plain HTML format (.html), for the corresponding article_id
.
You can get the
article_id
from the URL, as shown above in the GET Article Info endpoint.
Query Parameter (Optional) : -
- Set
fullpage
parameter totrue
to get the full HTML page with head, body, title and meta tags. Iffullpage
is set tofalse
or not provided, the endpoint will only return the HTML inside body tag.
Endpoint -
GET /article/{article_id}/html
GET /article/{article_id}/html?fullpage=true
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/article/d9b04a431d7e/html?fullpage=true&style_file=https://mediumapi.com/styles/dark.css" |
{ | |
"id": "d9b04a431d7e", | |
"html": "<html lang=en><head><title>“Attracting Girls With Money” Is The XY Problem</title><meta charset=\"UTF-8\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"><meta name=\"viewport\" content=\"width=device-width initial-scale=1.0\"><meta name=\"description\" content=\"Why “Don’t Chase Girls, Chase Money” is a terrible advice\"><meta name=\"keywords\" content=\"money, relationships, love, life, self\"><meta name=\"author\" content=\"Nishu Jain\"><meta property=\"og:type\" content=\"website\"><meta property=\"og:title\" content=\"“Attracting Girls With Money” Is The XY Problem\"><meta property=\"og:description\" content=\"Why “Don’t Chase Girls, Chase Money” is a terrible advice\"><meta property=\"og:image\" content=\"https://miro.medium.com/1*Yaw5ryRC6Wle_xhJcp31Wg.jpeg\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"“Attracting Girls With Money” Is The XY Problem\"><meta property=\"twitter:description\" content=\"Why “Don’t Chase Girls, Chase Money” is a terrible advice\"><meta property=\"twitter:image\" content=\"https://miro.medium.com/1*Yaw5ryRC6Wle_xhJcp31Wg.jpeg\"><link rel=\"stylesheet\" href=\"https://mediumapi.com/styles/dark.css\"></head><body><div class=\"blog\"><h3 id=\"5c58\">RELATIONSHIPS</h3><h1 id=\"846d\">\"Attracting Girls With Money\" Is The XY Problem</h1><h3 id=\"490c\">Why \"Don't Chase Girls, Chase Money\" is a terrible advice</h3><img alt=\"A girl swimming in money (AI generated Image from Lexica.art)\" src=\"https://miro.medium.com/1*Yaw5ryRC6Wle_xhJcp31Wg.jpeg\"></img><hr><p>There's this famous problem that often arises on technical support forums, which I think applies to every aspect of our lives.</p><p>This is called the <b>XY Problem</b>.</p><p>It refers to a situation where someone has a problem (X) and attempts to solve it by asking about a specific solution (Y), without considering whether Y is the best approach to solving X.</p><p>In other words, the person is seeking help for what they believe is the solution to their problem, rather than asking for help in understanding or solving the actual underlying problem.</p><p>This can lead to inefficiencies and failures, as the person is looking for advice or suggestions related to Y, even if there might be a better way to address X.</p><p>Now, think relationships.</p><p>Ever heard of using money to attract partners? That's like slapping a Y on a deeper X issue tied to relationships, self-esteem, or societal expectations.</p><p>It's like trying to solve the puzzle by just focusing on one piece.</p><p>Imagine someone thinking, <i><b>\"If I flash my cash, I'll find the perfect match!\"</b></i></p><p>But hold up - that's the XY problem. They're fixated on the solution (Y) without understanding the real deal (X) that makes relationships work.</p><p>This approach may overlook essential elements such as</p><ul><li>Genuine connection</li><li>Shared values</li><li>Emotional Intelligence</li><li>And effective communication</li></ul><p>Now let's dive into reality. Dude wants to find love, thinks money is the golden ticket. But instead of just chasing dollar signs, he should ask himself: <i><b>Does the pursuit of wealth align with his real relationship goals?</b></i></p><p>Turns out, you can't slap a price tag on a solid connection.</p><p>In most of the scenarios, it's crucial for the man to reflect on their motivations and consider whether the pursuit of financial success is genuinely aligned with their broader relationship goals.</p><p>Sure, money's in the mix, but it's just one piece of the puzzle.</p><p>Instead of relying solely on external factors like wealth, addressing personal growth, fostering meaningful connections, and understanding the dynamics of healthy relationships can be more sustainable and fulfilling approaches to finding a compatible partner.</p><p>While financial stability can play a role in dating and relationships, it's essential to recognize that it's just one aspect of a much more complex and nuanced equation.</p><p>By focusing on the underlying issues (X) and considering a holistic approach, individuals can navigate relationships with greater authenticity and build connections that are based on more than just monetary considerations.</p><p>Remember, it's not just about the dollar bills - it's about tackling the real issues and building connections that go beyond the bank balance</p><hr><p>And here we are, at the end of the line ... If you liked this short story, be sure to give it a few claps and share your thoughts in the comments.</p><p><i>Thanks for reading and have a nice day!</i></p></div></body></html>" | |
} |
GET Article's Responses
This endpoint returns a list of responses (response_ids
, same as article_ids
) for a given article (article_id
)
Note: You can treat
response_id
pretty much same asaritcle_id
. To see the content of the response, use the Get Article's Content endpoint.
Endpoint -
GET /article/{article_id}/responses
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/article/67fa62fc1971/responses" |
{ | |
"id": "67fa62fc1971", | |
"responses": [ | |
"a9bbc22aa1e6", | |
"3308e927204a", | |
"b1fcf9f36d87", | |
"295b0938fd49", | |
"cc14e813995a", | |
"649b48584efb" | |
], | |
"count": 6 | |
} |
GET Article's Fans
This endpoint returns a list of user_ids
of the people who clapped on the article.
You can use the GET User Info endpoint to retrieve information on individual users.
Endpoint -
GET /article/{article_id}/fans
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/article/67fa62fc1971/fans" |
{ | |
"id": "67fa62fc1971", | |
"voters": [ | |
"5902bb648651", | |
"fa40650a485", | |
"bd3401878b93", | |
"8b2442adc5ec", | |
"68c535034b9a", | |
"7f9022b31b2a", | |
"c4439b2e0adc", | |
. | |
. | |
. | |
], | |
"count": 143 | |
} |
GET Related Articles
This endpoint returns a list of article_ids
of the related posts. (Length = 5)
Note: If the article is self-published, related posts will belong to the same author. Else, related posts will belong to the publication in which the article is published.
Endpoint -
GET /article/{article_id}/related
Usage -
GET Publication ID
Every Medium Publication has one unique hash ID associated with it. Usually, we only deal with publication_slug
that is generated when we choose our Publication's Name. You can find your publication_slug
in the homepage URL of your publication. Like -
- https:// medium.com / publication_slug
Once you get your publication_slug
, you can use the following endpoint to get your publication_id
.
Endpoint -
GET /publication/id_for/{publication_slug}
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/publication/id_for/towards-data-science" |
{ | |
"publication_id" : "7f60cf5620c9", | |
"publication_slug" : "towards-data-science" | |
} |
GET Publication Info
This endpoint returns publication-related information such as Publication name, Tagline, Description, Tags, Followers Count, Creator, Editors, Twitter username, Instagram username, Facebook Page name, Logo, Domain, etc ... for the corresponding publication_id
.
A publication_id
is the unique hash ID associated with every Medium Publication. For example, publication_id
of TowardsDataScience is "7f60cf5620c9"
If you don't know the publication_id
, you can get it from any article published under it. Use the endpoint GET Article Info, to retrieve the publication_id
. Or, if you know the publication_slug
, use the endpoint GET Publication ID.
Endpoint -
GET /publication/{publication_id}
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/publication/98111c9905da" |
{ | |
"id" : "98111c9905da", | |
"name" : "Towards AI", | |
"slug" : "towards-artificial-intelligence", | |
"tagline" : "The leading AI community and content platform focused on making AI accessible to all", | |
"description" : "The leading AI community and content platform focused on making AI accessible to all", | |
"tags" : [ | |
"ARTIFICIAL INTELLIGENCE", | |
"MACHINE LEARNING", | |
"DATA SCIENCE", | |
"PROGRAMMING", | |
"DEEP LEARNING" | |
], | |
"followers" : 27863, | |
"domain" : "pub.towardsai.net", | |
"creator" : "8a819983d566", | |
"editors" : [ | |
"8a819983d566", | |
"aea8a19ea239", | |
"cfd55a204329", | |
"dbf92a012bd3", | |
"92b9872c24de", | |
"f34bfe2bbaec", | |
"fb93f4aae2b0", | |
"d2b799b51ffa" | |
], | |
"facebook_pagename" : "towardsAl", | |
"instagram_username" : "towards_ai", | |
"twitter_username" : "towards_AI", | |
"logo" : "https://miro.medium.com/1*NIT82G_xlaooOWm_pTtb1A.png", | |
"url" : "pub.towardsai.net" | |
} |
GET Publication Articles
This endpoint returns the list of articles_ids
of the latest 25 articles, posted recently in that publication.
You can use the GET Article Info endpoint to retrieve information on individual articles.
Query Parameter (Optional): -
-
from
: Use thefrom
query parameter to get the articles before that date and time.
Endpoint -
GET /publication/{publication_id}/articles
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/publication/98111c9905da/articles?from=2023-01-31T13:10:00" |
{ | |
"publication_articles" : [ | |
"9612b739bdee", | |
"fc4790effd14", | |
"472107bc2c9c", | |
"200da7834663", | |
"7f3abc7a987", | |
"3582be9dc5ed", | |
"54b12b87e3b9", | |
"ad24b55c16dd", | |
"6a3fb08368e2", | |
"7590de6744b4", | |
"3cbeea3f8e36", | |
"892d4bf65922", | |
"dbecdeb27aaa", | |
"3b2a77810996", | |
"6bcb17f9bff6", | |
"15534303cde2", | |
"b711f0396f57", | |
"8293f1070f2f", | |
"caf84e78fe40", | |
"ef71f9c8aad8", | |
"26d064659f8e", | |
"3f3b84f87e28", | |
"44b21079ff17", | |
"46c8785c3da2", | |
"65e6816821ae" | |
], | |
"publication_id" : "98111c9905da", | |
"from" : "2023-01-31 12:53:15", | |
"to" : "2023-01-26 14:21:25" | |
} |
GET Publication's Newsletter
This endpoint returns information related to the associated newsletter for the given publication. This includes their name, description, creator's id, subscriber's count, unique id, image url, etc...
Endpoint -
GET /publication/{publication_id}/newsletter
Usage -
GET Latest Posts
This endpoint returns a list of the latest posts (article_ids
) under a topic/niche (as classified and distributed by the Medium platform). Examples of a topic/niche can be:
- blockchain
- artificial-intelligence
- relationships
- mental-health, etc ...
These are known as topic_slugs
. (Not same as tags
)
At any given moment, this endpoint will return a list of 25 articles (article_ids
). You can then GET Article Info endpoint to retrieve information related to each article.
Endpoint -
GET /latestposts/{topic_slug}
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/latestposts/blockchain" |
{ | |
"latestposts" : [ | |
"f685c5075a52", | |
"b850ac3cff72", | |
"5212ce732e25", | |
"9190bbd3a843", | |
"7a54f7434ed2", | |
. | |
. | |
. | |
"adcbccfc46f6", | |
"b76cfc88c8ec", | |
"17a945a9c206", | |
"e0cce016ee98" | |
] | |
} |
GET Top Writers
This endpoint returns a list of top writers (user_ids
) within a particular topic/niche (using topic_slug
). Examples of topic_slug
are -
- blockchain
- relationships
- artificial-intelligence, etc ...
You can use an optional query parameter count
to specify the number of top writers you want to retrieve.
Note: Maximum number of top writers within a topic will be 250.
After fetching the user_ids
, you can use the GET User Info endpoint to extract information related to the individual users.
Endpoint -
GET /top_writers/{topic_slug}
GET /top_writers/{topic_slug}?count={count}
Usage —
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/top_writers/artificial-intelligence?count=10" |
{ | |
"top_writers" : [ | |
"fb44e21903f3", | |
"9b351e8113e9", | |
"4a25c00139e6", | |
"d8fc5db9b016", | |
"819323b399ac", | |
"7ba6be8a3022", | |
"39db050c2ac2", | |
"d28939b5ab78", | |
"aff72a0c1243", | |
"bcab753a4d4e" | |
] | |
} |
GET Top Feeds
This endpoint returns a list of article_ids
(default count = 25) for the given tag
and mode
.
Example of a tag
will ‘blockchain', ‘defi', ‘artificial-intelligence', etc...
Mode:
-
hot
: For getting trending articles -
new
: For getting the latest articles -
top_year
: For getting the best articles of the year -
top_month
: For getting the best articles of the month -
top_week
: For getting the best articles of the week -
top_all_time
: For getting the best articles of all time
Note: You can use the GET Article Info endpoint to retrieve information related to each article.
Query Parameters (Optional): -
- To get the subsequent top feeds, it can also take a query string parameter called
after
, where,after
< 250. - To limit the number of top feeds, use another query string parameter called
count
, wherecount
< 25.
Endpoint -
GET /topfeeds/{tag}/{mode}
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/topfeeds/artificial-intelligence/new" |
{ | |
"topfeeds": [ | |
"12eae52bae13", | |
"02603e7e0ede", | |
"c90e1adb2c0c", | |
"1ab6d630c687", | |
"f300ad7f66a4", | |
"d134e9e3a122", | |
"896ab36a75db", | |
"df17f24004d7", | |
"7dd37c519218", | |
"25bd18e3dee3", | |
"413954d8052a", | |
"e5c846d3ac81", | |
"5eaa6be0bcff", | |
"b64ce491da17", | |
"ee62660b8060", | |
"2d74cfb7c48d", | |
"77c4d0f11bda", | |
"4e0a7b5d8ce2", | |
"0d6bdc88fb90", | |
"cfae8cb7d66f", | |
"dc19ac4b440f", | |
"bc8c764cec0e", | |
"b06cb943a286", | |
"c10229d8f90f", | |
"ae8635c3d229" | |
], | |
"tag": "artificial-intelligence", | |
"mode": "NEW", | |
"count": 25 | |
} |
Get Tag Info
This endpoint returns tag-related information for the given tag
. This includes:
- Tag Name
- Followers Count
- Number of stories
- Number of writers
- Number of latest stories
- Number of latest writers
Note:
tags
are lowercased, hyphen-separated strings representing a category or niche on Medium Platform
Endpoint -
GET /tag/{tag}
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/tag/artificial-intelligence" |
{ | |
"articles_count" : 432117, | |
"authors_count" : 139612, | |
"children" : [ | |
"chatgpt", | |
"conversational-ai", | |
"deep-learning", | |
"large-language-models", | |
"machine-learning", | |
"nlp", | |
"voice-assistant" | |
], | |
"followers" : 5248403, | |
"latest_articles_count" : 495, | |
"latest_authors_count" : 275, | |
"name" : "Artificial Intelligence", | |
"tag" : "artificial-intelligence" | |
} |
Get Related Tags
This endpoint returns a list of related_tags
for a given tag
.
Example: For the tag blockchain
, it will return "cryptocurrency", "bitcoin", "ethereum", "crypto", "ico", "technology", "defi", "nft", "fintech".
Endpoint -
GET /related_tags/{tag}
Usage -
GET List Info
This endpoint returns the Medium's list-related information - such as id, name, author, description, thumbnail image url, creation datetime, last modified datetime, number of articles in the list, claps, voters, and comments - for the given list_id
.
The list_id
is the unique hash ID associated with every Medium List. You can see it at the end of the URL as follows:
- https:// nishu-jain.medium.com /list/medium-api-38f9e0f9bea6
Here 38f9e0f9bea6
is the list_id
.
Endpoint -
GET /list/{list_id}
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/list/38f9e0f9bea6" |
{ | |
"id" : "38f9e0f9bea6", | |
"name" : "Medium API", | |
"description" : "Collections of all the articles and resources related to Medium API", | |
"count" : 18, | |
"author" : "1985b61817c3", | |
"claps" : 48, | |
"voters" : 1 | |
"responses_count" : 1, | |
"created_at" : "2023-03-12 06:46:46", | |
"last_item_inserted_at" : "2023-03-12 06:53:02", | |
"thumbnail" : "https://miro.medium.com/0*8f634a2860234802375db89fbfcccb5cc717f3fd.jpeg", | |
} |
GET List Articles
This endpoint returns an array of article_ids
present in the given Medium List.
You can use the GET Article Info endpoint to retrieve information on individual articles.
Endpoint -
GET /list/{list_id}/articles
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/list/3d8f744f5370/articles" |
{ | |
"id": "3d8f744f5370", | |
"list_articles": [ | |
"e9f1684b7f6a", | |
"b12befd4bdf6", | |
"3afa1a5b4880", | |
"9e3ca6b985ba", | |
"174f19771b26", | |
"0c3967730c9d", | |
"75fc26442948", | |
. | |
. | |
. | |
], | |
"count": 182 | |
} |
GET List Responses
This endpoint returns an array of response_ids
for the given Medium List.
Note: You can treat
response_id
pretty much same asaritcle_id
. To see the content of the response, use the Get Article's Content endpoint.
Endpoint -
GET /list/{list_id}/responses
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/list/3d8f744f5370/responses" |
{ | |
"id" : "3d8f744f5370", | |
"responses" : [ | |
"f31a257b42e8" | |
], | |
"count": 1 | |
} |
Search Articles
This endpoint returns a list of article_ids
that match the search query. The maximum length of this list will be 1000. If no articles are found that match the search query, then an empty list will be returned.
Query Parameter (Required): -
-
query
: A string parameter that specifies the search query for which the articles need to be retrieved.
You can use the GET Article Info endpoint to retrieve information on individual articles.
Endpoint -
GET /search/articles?query={query}
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/search/articles?query=startup" |
{ | |
"articles" : [ | |
"3b6b3e29b318", | |
"ab6cc72fad0e", | |
"e07b3cd5fd5b", | |
. | |
. | |
. | |
"d9f10b46770f", | |
"c6a1d2ff4820", | |
"355cb5944f9c" | |
], | |
"search_query" : "startup" | |
} |
Search Publications
This endpoint returns a list of publication_ids
that match the search query. The maximum length of this list will be 1000. If no publications are found that match the search query, then an empty list will be returned.
Query Parameter (Required): -
-
query
: A string parameter that specifies the search query for which the publications need to be retrieved.
You can use the GET Publication Info endpoint to retrieve information on individual publications.
Endpoint -
GET /search/publications?query={query}
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/search/publications?query=mental+health" |
{ | |
"publications" : [ | |
"8d6b8a439e32", | |
"b224b324ef5", | |
"efea2976ffad", | |
. | |
. | |
. | |
"ed4a26019c88", | |
"9bad29def407", | |
"10bdb59e2123" | |
], | |
"search_query" : "mental health" | |
} |
Search Users
This endpoint returns a list of user_ids
that match the search query. The maximum length of this list will be 1000. If no users are found that match the search query, then an empty list will be returned.
Query Parameter (Required): -
-
query
: A string parameter that specifies the search query for which the users need to be retrieved.
You can use the GET User Info endpoint to retrieve information on individual users.
Endpoint -
GET /search/users?query={query}
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/search/users?query=data+engineer" |
{ | |
"search_query" : "data engineer", | |
"users" : [ | |
"41cd8f154e82", | |
"b8176fabf308", | |
"4364d136bdda", | |
. | |
. | |
. | |
"68799d14abf", | |
"dd1059ef5a3", | |
"2095dc5036aa" | |
] | |
} |
Search Lists
This endpoint returns an array of list_ids
that match the search query. The maximum length of this array will be 1000. If no Medium Lists are found that match the search query, then an empty array will be returned.
Query Parameter (Required): -
-
query
: A string parameter that specifies the search query for which the Medium Lists need to be retrieved.
You can use the GET List Info endpoint to retrieve information on individual Medium Lists.
Endpoint -
GET /search/lists?query={query}
Usage -
curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \ | |
"https://medium2.p.rapidapi.com/search/lists?query=artificial+intelligence" |
{ | |
"lists" : [ | |
"aa7010a5e263", | |
"83e46ac41297", | |
"f6c71394fbdc", | |
. | |
. | |
. | |
"9ad209d4a87a", | |
"a9a508a38505", | |
"8eef93ab39cd" | |
], | |
"search_query" : "artificial intelligence" | |
} |
Search Tags
This endpoint returns a list of tags
that match the search query. The maximum length of this list will be 1000. If no tags are found that match the search query, then an empty list will be returned.
Query Parameter (Required): -
-
query
: A string parameter that specifies the search query for which the tags need to be retrieved.
Endpoint -
GET /search/tags?query={query}
Usage -
Final thoughts -
As of now, this API consists of 33 endpoints, all of which use the GET method. I'll try to add more endpoints in the future and improve its efficiency to provide you with the best Unofficial Medium API possible.
- You can subscribe to this API here: Medium API - RapidAPI
- Read its Swagger documentation here: API Documentation
- And if you're a python programmer, do
pip install medium-api
. Visit the following link to know more about Unofficial Medium API's Python SDK.
GitHub - weeping-angel/medium-api
If you've any thoughts on it, feel free to share them. I'll appreciate your feedback and try to improve it further.
My email ID: nishu@mediumapi.com
Thanks for reading and have a wonderful day!
PS: We post tutorials, videos, code snippets, and insights related to Medium and Unofficial Medium API. So be sure to follow us on:
- Twitter: twitter.com/medium_api
- LinkedIn: www.linkedin.com/company/medium-api
Top comments (3)
Nice but i don't see angular?
Hey Okoro 👋
Yeah, we built SDK only for one language, i.e. Python. We're kinda short on manpower to be honest. But you can easily hit the endpoints using Axios or fetch if you're working on Angular project.
By the way, how do you wanna use it? Just curious :)
Ok noted thanks