Свежая нормализованная база как рабочий инструмент.
API построен вокруг публичных агрегатов, verified-профилей и прозрачного происхождения данных. Raw message archive не предоставляется.
Rights-aware API
Каждый объект содержит источник, время проверки и доступный scope публикации. Данные без права на экспорт не попадают в публичный ответ.
Доступные маршруты
GET/api/v1/catalogТри каталога через type=channels|bots|chats и фильтры q, category, language, minTrust.
POST/api/v1/submissionsДобавление @username или t.me URL с receipt ID.
POST/api/v1/reportsЖалоба или исправление с обязательным evidence.
GET/api/v1/healthСостояние приложения, хранилища и коннекторов.
POST/api/v1/telegram/refreshЗащищённое обновление публичного профиля через Bot API.
POST/api/v1/ingestion/jobs/claimВыдача MTProto collector очередной порции due-заданий.
POST/api/v1/ingestion/snapshotsИдемпотентный приём агрегатов каналов, ботов и чатов.
POST/api/v1/ingestion/jobs/failВозврат задания в очередь с FloodWait-aware задержкой.
GET/api/v1/auth/telegram/startЗапуск Telegram OpenID Connect с PKCE и anti-CSRF state.
GET/api/v1/auth/meТекущий аккаунт, роли, scope и эффективные permissions.
POST/api/v1/auth/logoutОтзыв серверной сессии и удаление HttpOnly cookie.
GET / POST/api/v1/claimsЗаявки пользователя на подтверждение владения ресурсом.
GET/api/v1/moderation/queueЗащищённая очередь жалоб и ownership claims.
PUT / DELETE/api/v1/admin/users/:id/rolesScope-aware выдача и отзыв ролей с audit trail.
Поиск по каталогу
GET /api/v1/catalog?type=channels&q=product&language=RU
{
"data": [
{
"slug": "product-compass",
"name": "Product Compass",
"type": "channels",
"kind": "Канал",
"signals": {
"health": 96,
"trust": 94,
"reach": 89,
"momentum": 82
},
"provenance": {
"source": "owner_connected",
"checkedAt": "2026-07-29T10:12:00Z"
}
}
],
"meta": { "total": 1, "safeSearch": true }
}Безопасность и квоты
- Free: 60 запросов в минуту.
- Agency: 600 запросов в минуту и batch endpoints.
- Идемпотентность для write-запросов.
- Audit log и отзыв API-ключа.
- Raw Telegram content не возвращается.