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

# Card activity

> A card's recent sales and marketplace listings over the last 1–365 days, newest first, with nobody named.

Scope: `read:catalog` · MCP tool: `get_card_activity`

Two lists for one card: its sales, from the shop or a marketplace listing, and its listings. Nobody is named: there are no buyer or seller ids, usernames or listing text.

Only market trades count. A buy by one of CatchBack's own accounts (staff, test or content accounts) and a seller buying their own listing aren't market prices, so they are left out of `sales`, and the listing such a buy filled is left out of `listings`. Pack pulls and sell-backs to CatchBack aren't sales here.

**id** `string` *required*

A card id, as in [Get a card](https://catchbackcards.mintlify.site/partner-api/endpoints/get-card.md).

**category** `string`

The card's catalog, if you know it. See [Get a card](https://catchbackcards.mintlify.site/partner-api/endpoints/get-card.md).

**days** `integer` (default: 90)

How many days back from now: a whole number from 1 to 365. Anything else is a `400`.

**limit** `integer` (default: 20)

The most sales, and the most listings, returned: 1–50. Anything else is a `400`.

Activity is cached for up to a minute.

## Response

**card\_id** `string`

**category** `string`

The card's catalog.

**days** `integer`

**limit** `integer`

**since** `string`

The start of the window: `days` before now.

**sales** `object[]`

Completed sales in the window, newest first.

**sale**

**sale\_id** `string`

**sold\_at** `string`

**price** `number`

What the card sold for in USD, before the buyer fee.

**source** `string`

`shop` (CatchBack stock) or `listing` (a marketplace listing).

**listing\_id** `string | null`

The listing it sold from. `null` for a shop sale.

**listing\_type** `string | null`

`fixed_price` or `dutch_auction`. `null` for a shop sale.

**listings** `object[]`

Listings created or sold in the window, plus any listing still active whatever its age, newest first.

**listing**

**listing\_id** `string`

**listing\_type** `string`

`fixed_price` or `dutch_auction`.

**status** `string`

`active`, `sold`, `cancelled` or `expired`. New values can be added, so don't fail on one you don't know.

**price** `number`

The listing's price in USD. For a Dutch auction, the price stored on the listing rather than its current auction price: what it sold for is in `sales`.

**listed\_at** `string`

**sold\_at** `string | null`

`null` unless it sold.

## Errors

| Status | When |
| - | - |
| `400` | A malformed card id, an unknown `category`, `days` that isn't a whole number from 1 to 365, or `limit` that isn't one from 1 to 50 |
| `404` | No card has this id |
| `500` | We couldn't read the activity. Retry with backoff |

```bash cURL theme={null}
curl "https://catchbackcards.com/api/partner/v1/cards/0e94dc61-5a2f-4b1e-9c3d-7f8a1b2c3d4e/activity?days=90&limit=20" \
  -H "Authorization: Bearer $CATCHBACK_KEY"
```

```json 200 theme={null}
{
  "card_id": "0e94dc61-5a2f-4b1e-9c3d-7f8a1b2c3d4e",
  "category": "pokemon",
  "days": 90,
  "limit": 20,
  "since": "2026-07-30T18:00:00.000Z",
  "sales": [
    { "sale_id": "a17e…", "sold_at": "2026-10-20T15:02:44Z", "price": 395, "source": "listing", "listing_id": "5f1c2a90-…", "listing_type": "fixed_price" },
    { "sale_id": "93c2…", "sold_at": "2026-09-02T11:40:09Z", "price": 360, "source": "shop", "listing_id": null, "listing_type": null }
  ],
  "listings": [
    { "listing_id": "5f1c2a90-…", "listing_type": "fixed_price", "status": "sold", "price": 395, "listed_at": "2026-10-18T09:12:00Z", "sold_at": "2026-10-20T15:02:44Z" }
  ]
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.