Get the catalog feed

Returns a download link and metadata for a game's products catalog feed.

The file is gzip-compressed, newline-delimited JSON. Each line is one product: its identifier, product type, name, expansion, finishes, languages, images, Cardmarket / TCGplayer ids, and game-specific attributes — the same field names as the Products endpoints. It does not contain prices — see the prices feed for those. The download is the literal gzip bytes — your HTTP client will not decompress it automatically. Gunzip the file before reading it; see https://docs.cardnexus.com/feeds for download examples in Node and Python.

The catalog feed is rebuilt when a game's catalog is updated. checksum changes only when the catalog changes. The url is a time-limited download link; request this endpoint again for a fresh link once it expires.

The file's record shape (one product per line) is documented at https://docs.cardnexus.com/feeds/catalog.

Authentication is required (any valid API key); no scope.

Path Parameters
  • gameId
    Type: string
    min length:  
    1
    required

    The game's identifier (e.g. mtg, pokemon). Returned by GET /v1/games.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for get/feeds/{gameId}/catalog
curl 'https://public-api.cardnexus.com/v1/feeds/{gameId}/catalog' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "feedType": "catalog",
  "url": "https://cardnexus-feeds.s3.eu-west-1.amazonaws.com/feeds/mtg/catalog.ndjson.gz?X-Amz-Expires=3600&X-Amz-Signature=8a1f...",
  "urlExpiresAt": "2026-06-08T15:04:11.000Z",
  "checksum": "9f2c4e1b7d3a6f508c2e9b1d4a7f0c3e6b9d2f5a8c1e4b7d0a3f6c9e2b5d8f1a",
  "sizeBytes": 5242880,
  "recordCount": 18432,
  "format": "ndjson",
  "encoding": "gzip",
  "lastRefreshedAt": "2026-06-08T14:04:11.000Z",
  "generatedAt": "2026-06-05T02:11:47.000Z"
}