каталог наполняется Place Score считается ежедневно методология открыта RU / EN с первого дня

API для разработчиков

Каталог каналов, ботов и mini apps и состояние монитора доступности Telegram — в JSON. Чтение бесплатно: 1000 запросов в сутки на ключ.

Ключ

Создаётся в кабинете и передаётся заголовком x-api-key. В адресной строке ключ передавать не нужно: оттуда он попадает в логи прокси и в историю браузера.

Создать ключ в кабинете

Потолок

1000 запросов в сутки на ключ. Счётчик обнуляется в 00:00 UTC. В каждом ответе идут заголовки X-RateLimit-Limit и X-RateLimit-Remaining; при превышении — 429 и Retry-After с числом секунд до обнуления.

Попробовать

Замените КЛЮЧ на свой и выполните в терминале.

curl -H "x-api-key: КЛЮЧ" \
  "https://tg.place/api/v1/top?limit=3"

Адреса

GET /api/v1/search?q=нейросети
Поиск по каталогу.
GET /api/v1/listings/{slug}
Одна запись: метрики, оценка с разбивкой и пометкой «предварительная».
GET /api/v1/categories
Деревья категорий по типам записей. Пустые не отдаются.
GET /api/v1/top?limit=10
Топ каталога по Place Score — тот же отбор, что у витрины.
GET /api/v1/status
Состояние «Сигнала». Те же данные лежат на /api/status без ключа.

Ошибки

Все ошибки одной формы: код, строка для человека и ссылка на эту страницу. Коды: no_key, bad_key, bad_request, not_found, rate_limited, internal.

{
  "error": {
    "code": "rate_limited",
    "message": "…",
    "docs": "https://tg.place/ru/developers"
  }
}

Спецификация

OpenAPI собирается из тех же схем, которые проверяют запросы, поэтому не расходится с поведением.

openapi.json

Платные тарифы

Их пока нет. Появятся вместе с платежами; бесплатный тариф при этом останется.

Ключ открывает чтение каталога через /api/v1. Бесплатный тариф — 1000 запросов в сутки на ключ, до 5 ключей на учётную запись.