> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dripstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Top-selling

> Most purchased posts and highest-earning publications. Free post cards, not summaries.

Use these only when the user asks for **popular, top-selling, or
most-purchased** items. They are not a substitute for
[topic search](/search) or [entity search](/entity-search/ticker).

Free, no auth. Cards include `priceCents`; the `synthesizedSummary` still
comes from the [paid publication-post route](/concepts/payment-flow).

MCP: `list_top_selling_posts`, `list_top_selling_publications`.

`limit` is 1-100 on both routes (default 10).

## Posts

`GET /api/v1/posts/top-selling` ranks posts by purchase count, then earnings.

```bash theme={null}
curl "https://dripstack.com/api/v1/posts/top-selling?limit=10"
```

```json theme={null}
{
  "items": [
    {
      "publicationSlug": "stratechery",
      "slug": "the-ai-infrastructure-boom",
      "title": "The AI Infrastructure Boom",
      "subtitle": "Why hyperscalers are spending billions on GPU clusters",
      "publishedAt": "2026-06-14T12:00:00.000Z",
      "priceCents": 50,
      "isPodcast": false,
      "purchaseCount": 42,
      "totalAmountSoldUsd": "21.00"
    }
  ]
}
```

Present each item as `{title} ({publicationSlug}, YYYY-MM-DD) — $X.XX` when
`priceCents` is known. Keep `publicationSlug` + `slug` for the paid fetch.

## Publications

`GET /api/v1/publications/top-selling` ranks publications by creator
earnings, then purchase count.

```bash theme={null}
curl "https://dripstack.com/api/v1/publications/top-selling?limit=10"
```

```json theme={null}
{
  "totals": {
    "articlePurchaseCount": 1200,
    "totalAmountSoldUsd": "640.00"
  },
  "publications": [
    {
      "slug": "stratechery",
      "title": "Stratechery",
      "description": "Analysis of the strategy and business of technology.",
      "siteUrl": "https://stratechery.com",
      "articlePurchaseCount": 80,
      "purchasedArticleCount": 12,
      "totalAmountSoldUsd": "40.00"
    }
  ]
}
```

`articlePurchaseCount` is completed purchases; `purchasedArticleCount` is
distinct posts purchased. After the user chooses a publication, call
[GET /api/v1/publications/{slug}](/publications) then unlock selected posts
as usual.
