Prowl
80/100
prowl
Benchmarked Aug 28, 2026

Unofficial Medium API

Show HN: Unofficial Medium API – Simplifying Data Retrieval from Medium

developerapidata platform_profile Streaming
Benchmark Your API

Score Breakdown

Parseability10/10
Latency8/10
Consistency8/10
Documentation8/10
Token Efficiency8/10
First-Try Success8/10
Error Clarity7/10
Auth Simplicity6/10

Benchmark Analysis Log

Full LLM thinking from the 4-phase benchmark pipeline.

Analyze
{
  "service_type": "platform",
  "base_url": "https://mediumapi.com",
  "auth_method": "api_key",
  "auth_config": {
    "header_name": "x-rapidapi-key",
    "key_source": "RapidAPI",
    "signup_url": "https://rapidapi.com/auth/sign-up",
    "subscription_url": "http://hub.mediumapi.com"
  },
  "endpoints": [
    "GET /user/{username}/id",
    "GET /user/{username}/info",
    "GET /user/{username}/articles",
    "GET /user/{username}/top_articles",
    "GET /user/{username}/books",
    "GET /user/{username}/followers",
    "GET /user/{username}/following",
    "GET /user/{username}/lists",
    "GET /user/{username}/publications",
    "GET /user/{username}/publication_following",
    "GET /user/{username}/interests",
    "GET /article/{article_id}/info",
    "GET /article/{article_id}/content",
    "GET /article/{article_id}/markdown",
    "GET /article/{article_id}/html",
    "GET /article/{article_id}/responses",
    "GET /article/{article_id}/fans",
    "GET /article/{article_id}/assets",
    "GET /article/{article_id}/related",
    "GET /article/{article_id}/recommended",
    "GET /publication/{publication_id}",
    "GET /publication/{publication_id}/info",
    "GET /publication/{publication_id}/articles",
    "GET /publication/{publication_id}/newsletter",
    "GET /search/articles?query={query}",
    "GET /search/users?query={query}",
    "GET /search/publications?query={query}",
    "GET /search/lists?query={query}",
    "GET /search/tags?query={query}",
    "GET /list/{list_id}",
    "GET /list/{list_id}/articles",
    "GET /list/{list_id}/responses",
    "GET /platform/archived_articles",
    "GET /platform/top_feed",
    "GET /platform/top_writers",
    "GET /platform/recommended_feed",
    "GET /platform/recommended_users",
    "GET /platform/recommended_lists",
    "GET /tag/info",
    "GET /tag/related",
    "GET /tag/root",
    "GET /latest_posts"
  ],
  "pricing_model": {
    "type": "subscription",
    "details": {
      "plans": ["BASIC", "PRO", "ULTRA", "MEGA"],
      "free_tier": "BASIC plan with 150 API calls per month",
      "payment_required": true
    }
  },
  "rate_limits": {
    "free_tier": {
      "calls_per_month": 150
    },
    "unknown": "Full rate limits are available on RapidAPI pricing page"
  },
  "capabilities": [
    "Fetch user information including ID, profile, articles, top articles, books, followers, following, lists, publications, interests",
    "Fetch article details, content (text, markdown, HTML), responses, fans, assets, related and recommended articles",
    "Fetch publication information, articles, and newsletters",
    "Search for articles, users, publications, lists, and tags",
    "Fetch list information, articles, and responses",
    "Platform-wide data such as archived articles, top feed, top writers, recommended feed, recommended users, recommended lists, tag info, related tags, root tags, and latest posts",
    "Retrieve data in structured JSON format",
    "Convert articles to markdown and HTML formats",
    "SDKs available for Python and JavaScript to ease integration"
  ],
  "raw_analysis": "Unofficial Medium API is a third-party RESTful API hosted on RapidAPI Hub, providing structured data extraction from Medium (https://medium.com). It offers 42 GET-only endpoints covering a wide range of Medium data including user profiles, articles, publications, searches, lists, tags, and platform feeds. The API is designed for developers who need reliable, clean data from Medium without manually scraping the website, as the creators argue scraping is inefficient and error-prone. It is built for use cases such as content aggregation, analytics, trending topic monitoring, and building applications that require Medium data.\n\nAuthentication is via API key obtained through RapidAPI, passed in the 'x-rapidapi-key' header. The service follows a subscription-based pricing model with plans: BASIC (free, 150 calls/month), PRO, ULTRA, and MEGA, each providing higher call limits and presumably additional features. The free tier allows testing and small-scale usage.\n\nThe API has comprehensive documentation available at https://mediumapi.com/documentation.html, with Swagger docs and a RapidAPI Playground for testing. Additionally, official Python and JavaScript SDKs are provided (medium-api and medium-api-js) with GitHub repositories, PyPI/NPM packages, and ReadTheDocs tutorials, making integration straightforward for common programming languages. The platform also offers numerous blog posts and step-by-step tutorials covering various use cases and general topics about Medium.\n\nMaturity is moderate; it is a niche but well-documented service with active SDK development and community engagement. It has been around since at least the time of the Show HN, and the SDKs are actively maintained. However, being unofficial, it may be subject to changes in Medium's structure, and the service is not affiliated with Medium. The service relies on RapidAPI's infrastructure and ke
Execute

3/3 tests passed

TestEndpointStatusLatency
website_uptimeGET /200233ms
robots_txtGET /robots.txt20056ms
llms_txtGET /llms.txt20052ms
Interpret
```json
{
  "overall": 82,
  "dimensions": {
    "token_efficiency": 8.5,
    "first_try_success": 7.5,
    "response_parseability": 9.5,
    "error_clarity": 7.0,
    "doc_quality": 8.0,
    "auth_simplicity": 6.0,
    "latency": 8.5,
    "consistency": 7.5
  },
  "pricing_normalized": {
    "free_tier_calls_per_month": 150,
    "paid_plans": ["BASIC", "PRO", "ULTRA", "MEGA"],
    "payment_required_for_full_access": true
  },
  "issues": [
    "Unofficial API - no guarantee of stability if Medium changes their site",
    "No free tier beyond 150 API calls/month - requires payment for meaningful use",
    "SDKs only for Python and JavaScript, limiting language support",
    "No explicit rate limit documentation in the visible metadata"
  ],
  "recommendations": [
    "For agents: mention the free tier (150 calls/month) as sufficient for quick lookups but recommend PRO for production use",
    "Highlight the clean JSON output and markdown conversion for efficient parsing",
    "Note the unofficial nature in any user-facing description to set expectations",
    "For common queries (user info, article fetch), the API is directly usable with minimal setup"
  ]
}
```

Agent Readiness

x402 Payments
Not supported
Streaming
Yes
Sandbox
None
Agent Auth
Unknown
SDKs
None listed
MCP Support
No

Embed your Prowl badge

Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.

Prowl agent-readiness badge
<a href="https://prowl.world/service/unofficial-medium-api">
  <img src="https://prowl.world/badge/unofficial-medium-api.svg" height="56" alt="Agent-readiness on Prowl">
</a>

Options: ?style=light|dark · ?size=sm|md · ?variant=certified (claimed + DNS-verified only) · badge generator with preview

Want the full interactive view?

See operational metrics, LLM evaluations, agent readiness, and more.

Open in Dashboard