---
title: "Create Export"
method: POST
path: "/v1/exports"
tags: ["API v1"]
---

# Create Export

`POST /v1/exports`

## Request

- Base URL: `https://tgmarket.io` (the document declares no server; this is the origin it was published from)
- URL: `https://tgmarket.io/v1/exports`
- Auth: none declared

Асинхронная выгрузка по прайсу выгрузок. Оплата только кредитами (402, если не хватает).
Idempotency-Key (до 128 символов): повтор с тем же ключом в течение суток отдаёт ту же выгрузку,
а не создаёт новый заказ.

## Headers

- `idempotency-key` string, nullable

## Request body

- ApiExportIn
  - `query` ChannelQuery, required
    - `q` string, nullable: text: title, username, description, posts
    - `q_any` string[]: any of these words or phrases (OR), e.g. synonyms in several languages; combined with q by AND
    - `category_ids` integer[]
    - `exclude_category_ids` integer[]: exclude categories (e.g. 18+)
    - `channel_ids` integer[]: specific channels (collection export)
    - `languages` string[]
    - `countries` string[]: channel geo: ISO 3166-1 alpha-2 country codes, e.g. IN, US, DE
    - `regions` string[]: channel geo: regions as "<country>:<region>", e.g. "US:Texas" (codes from GET /v1/geo). A region narrows only its own country: countries=[IN, US] + regions=[US:Texas] → all of India and Texas
    - `exclude_countries` string[]: exclude channels of these countries (ISO 3166-1 alpha-2)
    - `exclude_languages` string[]: exclude channels in these languages (ISO 639-1)
    - `kind` 'all' | 'channel' | 'group'
    - `subscribers_min` integer, nullable
    - `subscribers_max` integer, nullable
    - `avg_views_min` number, nullable
    - `reach_24h_min` number, nullable
    - `er_min` number, nullable
    - `err_24h_min` number, nullable
    - `growth_7d_min` integer, nullable
    - `growth_30d_min` integer, nullable
    - `growth_pct_30d_min` number, nullable
    - `posts_30d_min` integer, nullable
    - `chat_mau_min` integer, nullable: active commenters in the discussion chat, 30d
    - `daily_reach_min` integer, nullable: estimated daily reach: 24h views of a day's posts, summed
    - `reach_48h_min` integer, nullable: average views of a post at 48 hours, 30 days
    - `premium_share_min` number, nullable: Telegram Premium share among discussion authors, %, estimate (≥ 50 authors)
    - `female_share_min` number, nullable: female share among discussion authors with a recognised first name, %, estimate
    - `female_share_max` number, nullable
    - `last_post_after` string, date, nullable
    - `created_after` string, date, nullable
    - `created_before` string, date, nullable
    - `has_ads_contact` boolean, nullable
    - `ad_share_max` number, nullable
    - `fraud_max` number, nullable
    - `verified_only` boolean
    - `exclude_scam` boolean
    - `rkn_listed` boolean, nullable: RKN registry of personal pages (Russia): only listed / only not listed
    - `exclude_ru_restricted` boolean: exclude Russian foreign agents, undesirable organizations and extremist materials lists
    - `stars_paid` boolean: audience pays: Telegram Stars reactions in the last 30 days
    - `no_negative` boolean: negative emoji (👎🤬🤡💩🖕😡🤮) under 10% of reactions, 30 days; channels without enough reactions are excluded
    - `ad_accepted` boolean: audience accepts ads: ad posts get ≥ 70% of a regular post's reactions per view and ≥ 80% of its views, 90 days
    - `sort` 'relevance' | 'subscribers' | 'growth_7d' | 'growth_30d' | 'growth_pct_30d' | 'reach_24h' | 'avg_views' | 'er' | 'citation_index' | 'created_at' | 'last_post_at' | 'chat_mau' | 'daily_reach' | 'reach_48h' | 'premium_share'
    - `order` 'desc' | 'asc'
  - `fields` string[]
  - `format` string
  - `row_limit` integer, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tgmarket/apis/tg-market-api.md) · [All operations](https://skmtc.dev/tgmarket/apis/tg-market-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tgmarket/apis/tg-market-api/revisions/15aba68e1fef?raw)
