---
title: "Get catalog snapshot."
method: GET
path: "/v1/catalog/snapshots/{snapshot_id}"
tags: ["Catalog"]
---

# Get catalog snapshot.

`GET /v1/catalog/snapshots/{snapshot_id}`

## Request

- Base URL: `https://api.tlmtr.io`
- URL: `https://api.tlmtr.io/v1/catalog/snapshots/{snapshot_id}`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/docs/v1/catalog/snapshots/:snapshot_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Credits keys: 0.001 credits per successful metadata read.

Retrieve the saved filters, channel count, creation time, and expiration time
of a snapshot owned by your user. Channel IDs are not included.
An unavailable snapshot returns 404; a retained but expired snapshot returns 410.
Catalog and snapshot access must both be enabled.

## Path parameters

- `snapshot_id` string, required

## Response `200`

- CatalogSnapshotResponse
  - `snapshot_id` string, required: Unique identifier of the original snapshot. Pass it unchanged to snapshot endpoints.
  - `filters` CatalogSnapshotFiltersResponse, required
    - `term` string, nullable: Saved search phrase for channel names; omitted when no phrase is set.
    - `search_in_about` boolean, required: Whether the saved search phrase also matches channel descriptions.
    - `country` string[], required: Saved country identifiers from /v1/dictionaries/countries. An empty list means no country restriction.
    - `language` string[], required: Saved language identifiers from /v1/dictionaries/languages. An empty list means no language restriction.
    - `category` string[], required: Saved category identifiers from /v1/dictionaries/categories. An empty list means no category restriction.
    - `members_min` integer, nullable: Saved minimum channel member count; omitted when unbounded.
    - `members_max` integer, nullable: Saved maximum channel member count; omitted when unbounded.
    - `views_min` integer, nullable: Saved minimum average post views; omitted when unbounded.
    - `views_max` integer, nullable: Saved maximum average post views; omitted when unbounded.
    - `er_min` integer, nullable: Saved minimum engagement rate; omitted when unbounded.
    - `er_max` integer, nullable: Saved maximum engagement rate; omitted when unbounded.
    - `privacy` 'unspecified' | 'public' | 'private'
    - `telegram_verified` boolean, nullable: Saved Telegram verification requirement. True selects verified channels, false selects unverified channels; omitted means no restriction.
  - `channels_count` integer, required: Number of channels saved in the snapshot, up to 800,000.
  - `created_at` string, required: Creation timestamp in UTC, formatted as RFC 3339.
  - `expires_at` string, required: Expiration timestamp in UTC, formatted as RFC 3339. Resources expire 30 days after their own creation.

## Other responses

- `402`: Insufficient credits
- `403`: Catalog and snapshot access must both be enabled.
- `404`: Resource not found or not owned by your user.
- `410`: Resource has expired.
- `503`: Snapshot storage is temporarily unavailable.

## Changes

- **2026-10-09** `6c2bfd66c5f2`: 4 breaking, 1 info
  - the response's body type changed from `object` to no type for status `402`
  - removed the required property `available_mc` from the response with the `402` status
  - removed the required property `shortfall_mc` from the response with the `402` status
  - removed the required property `total_cost_mc` from the response with the `402` status
  - …1 more
- **2026-09-10** `80951ad7b3fb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/changes/v1/catalog/snapshots/:snapshot_id/get.md)

---

[API](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api.md) - [All operations](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/revisions/98f399867856?raw)
