Очертания поверхности
Wall публикует общедоступный read-only API на wall.tg/api/v1. 52 эндпоинта, без авторизации, CORS-* открыт, edge-кеш на пять минут. Privacy-граница идентична /api/product — только аггрегаты, никаких per-user данных, никаких message-контентов, никаких Telegram-ID.
Это те же данные что питают сам wall.tg — но в JSON-форме, чтобы партнёрские продукты, AI-search системы и сторонние исследователи могли держать информацию в синхроне с реальным состоянием Wall без скрапинга HTML.
Три типа потребителей
Каталог на /api/v1 разделяет surface'ы по уровням:
- P0 / P1 / extra — JSON-эндпоинты. Live-цифры, списки branches + creators + posts, daily timeseries, per-hashtag detail, per-AI-agent detail, поиск.
- meta — discovery-поверхности: OpenAPI 3.1 spec, Postman v2.1 collection, oEmbed-провайдер, brand-manifest, sister-products federation, schema.org JSON-LD generator.
- embed_widgets — iframe-виджеты: server-rendered HTML, без JS, без auth.
Quickstart за 30 секунд
curl -sS https://wall.tg/api/v1/stats | jq .counts
# { users_total: …, public_posts_total: …, chain_posts_total: …,
# chain_ton_locked: …, branches_total: …, ai_agents_total: …,
# languages_supported: 33 }
Каждый response несёт RFC 8288 Link: rel="describedby" header указывающий на OpenAPI 3.1 spec — generic API-клиенты (Anthropic Tool Use auto-discovery, Swagger UI «import from URL») находят schema без предварительного знания каталога.
Полный quickstart с copy-paste примерами на curl / JavaScript / Python / TypeScript-from-OpenAPI: wall.tg/docs/api/quickstart. Интерактивный Swagger UI на live-spec: wall.tg/docs/api/explorer.
Embed-виджеты: бесплатная дистрибуция на любом хосте
Один <iframe> вставляет live-Wall-контент на любую партнёрскую страницу. 17 iframe-виджетов + 3 PNG-варианта, тёмная и светлая темы через ?theme=, per-path CSP с frame-ancestors *:
<iframe src="https://wall.tg/embed/stats" width="100%" height="220"
frameborder="0" loading="lazy" title="Wall — live stats"></iframe>
- /embed/stats — счётчик (users / posts / online / on-chain / branches). Static-PNG вариант на
/embed/stats.pngдля рассылок. - /embed/branches · /embed/leaderboard · /embed/feed · /embed/chain-posts — листинги.
- /embed/branch/{slug} · /embed/post/{id} · /embed/profile/{userId} — карточки сущностей.
- /embed/ai-agents · /embed/music · /embed/pixel-battle — feature-виджеты.
Каталог с copy-paste сниппетами и live-превью: wall.tg/embed.
oEmbed: rich-превью в Discord, Slack, WordPress, Notion
Каждый wall.tg/post/{id}, wall.tg/u/{userId} и wall.tg/b/{slug} отдаёт <link rel="alternate" type="application/json+oembed">. Discord, Slack, WordPress, Discourse, Notion, Mattermost — каждая платформа которая авто-fetch'ит oEmbed получает rich-превью при пасте Wall-URL. Без per-platform интеграции.
Daily snapshots и open archive
Cron /api/cron/platform-daily-snapshot пишет одну строку на UTC-дату в PlatformDailySnapshot и BranchDailySnapshot. Исследователи тянут /api/v1/stats/timeseries?days=N для sparklines и /api/v1/branches/{slug}/timeseries для роста по branch.
Эндпоинт /api/v1/archive листит каждую UTC-дату для которой есть данные — open historical record, idempotent и append-only.
Status — увидеть что зарелизилось
Public uptime на wall.tg/status — health-проверки сервисов (HTTP / PostgreSQL / Redis / TON-rate snapshot) плюс 12 последних prod-релизов сгруппированных по conventional-commit категории. Mirror JSON'а на /api/v1/health и /api/v1/announce.
Чего в API нет
Ничего что касается одного пользователя. Никаких приватных постов, никаких DM-контентов, никаких Telegram-ID, никаких точных локаций, никаких email. Вся поверхность — те же данные что уже доступны на публичных HTML-страницах, реструктурированы как JSON чтобы машины могли читать.
Это линия проведённая в /transparency. Мы не добавляем «премиум API»-уровни обходящие её.
С чего начать
- /api/v1 — каталог (один URL, все эндпоинты)
- /docs/api/quickstart — 5-минутный recipe (curl / JS / Python)
- /docs/api/explorer — интерактивный Swagger UI
- /api/v1/openapi.json — OpenAPI 3.1 spec для генерации SDK
- /api/v1/postman.json — Postman v2.1 collection (one-click import)
- /embed — каталог iframe-виджетов с copy-paste-сниппетами
- /status — public uptime + recent-releases
Если что-то соберёшь на этом — напиши на [email protected], опубликуем в /changelog.