ShowMRR API

Read-only JSON over HTTPS. No API key.

The same data that powers showmrr.com is available as JSON. Everything here is a GET request that works from a terminal or a script today. Base URL: https://showmrr.com/api

Read this first: verified vs self-reported

Every revenue figure carries a label. isVerified is true only when ShowMRR read the figure from a payment provider the founder connected (Stripe, Lemon Squeezy or Polar) and the last read was recent. Otherwise the figure is self-reported: typed in by a person, or read from a public page the founder publishes (publicSource says which page and when). revenueAsOf is the date the number was last read or edited.

If you republish a figure, please keep its label and date next to it. A self-reported number shown without that context is the thing this API exists to avoid.

Basics

Endpoints

GET /api/leaderboard

Ranked startups with a revenue sparkline. Parameters: category, withRevenue=true (drop startups that list no revenue), verified=true (only provider-verified), limit, offset.

{
  "data": [
    {
      "rank": 1,
      "startupId": 114,
      "name": "Ghost",
      "slug": "ghost",
      "logoUrl": null,
      "category": "content-creation",
      "currentMrrCents": 92919800,
      "mrrGrowthPct": 0.0,
      "isVerified": false,
      "founderName": "Unclaimed listing",
      "revenueAsOf": "2026-10-19T04:03:45.650006Z",
      "mrrCurrency": "usd",
      "tagline": "Open-source publishing platform for newsletters, memberships and paid subscriptions, run as a non-profit.",
      "websiteUrl": "https://ghost.org",
      "sparklineData": [
        92919800
      ]
    }
  ]
}

GET /api/startups

List startups, best revenue first. Parameters: category, limit, offset.

GET /api/startups/:id

One startup, by numeric id or by slug (/api/startups/ghost). Includes claimable (nobody has claimed the listing yet) and, for self-reported figures read from a public page, publicSource.

{
  "id": 114,
  "slug": "ghost",
  "name": "Ghost",
  "tagline": "Open-source publishing platform for newsletters, memberships and paid subscriptions, run as a non-profit.",
  "websiteUrl": "https://ghost.org",
  "category": "content-creation",
  "techStack": [],
  "currentMrrCents": 92919800,
  "mrrGrowthPct": 0.0,
  "customerCount": 0,
  "isVerified": false,
  "createdAt": "2026-10-18T07:11:42.309744Z",
  "revenueAsOf": "2026-10-19T04:03:45.650006Z",
  "mrrCurrency": "usd",
  "claimable": true,
  "publicSource": {
    "url": "https://ghost.org/about/",
    "metric": "monthly_revenue",
    "readAt": "2026-10-19T04:03:45.650006Z"
  }
}

GET /api/startups/:id/revenue

Daily revenue history for a startup (id or slug). Parameter: days (1–365, default 30). source is where each point came from: a provider name, or public_page for a figure read from the founder's own page.

{
  "data": [
    {
      "startupId": 114,
      "source": "public_page",
      "mrrCents": 92919800,
      "customerCount": 0,
      "snapshotDate": "2026-10-18T00:00:00.000Z"
    }
  ]
}

GET /api/search

Search and filter. With no q and no filter it returns an empty list. Parameters: q (words, prefix matching), category, mrr_min and mrr_max (in cents), growth_min, growth_max, followers_min, followers_max, founded_min, founded_max, audience (b2b or b2c), sort (mrr, growth, newest, followers), limit, offset.

curl 'https://showmrr.com/api/search?q=analytics&mrr_min=100000&sort=mrr'

GET /api/categories

Categories that have listings, with count, totalMrrCents and verifiedCount. GET /api/categories/:slug lists the startups in one category (limit, offset).

GET /api/stats

Platform totals: startupCount, verifiedCount, founderCount, totalMrrCents, a revenue distribution and a per-category breakdown. Note that totalMrrCents adds up every listed figure, including self-reported ones; verifiedCount says how many startups are provider-verified.

Other lists

Fair use

Use the API for your own tools, research and apps, and keep the rate limit. Please don't mirror the whole database as a competing directory. If you need more than 100 requests a minute or a bulk export, write to support@showmrr.com.

A quick example

curl -s 'https://showmrr.com/api/leaderboard?withRevenue=true&limit=3' | jq '.data[] | {{name, currentMrrCents, isVerified, revenueAsOf}}'