Developers & API

List Telegram channels programmatically — one call, one or many channels. Built for automations and AI agents.

Automating your workflow? You can list channels without the web form. Every submission is reviewed (an AI pre-screen plus human review) before it goes live — so the API is safe to open, and nothing is published automatically.

Submit a channel (REST)

Send one handle or many. Handles can be @name, a t.me/name link, or a bare name. Both fields are accepted: channels (an array) or channel (a single string).

curl -X POST https://telegramchannels.io/api/channels/submit \
  -H "Content-Type: application/json" \
  -d '{"channels": ["@crypto_daily", "https://t.me/ai_tools"]}'

Or from JavaScript:

await fetch("https://telegramchannels.io/api/channels/submit", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ channel: "@my_channel" }),
});

The response reports what happened to each handle:

{
  "ok": true,
  "submitted": 1,
  "duplicates": 1,
  "invalid": 0,
  "results": [
    { "input": "@crypto_daily", "handle": "crypto_daily", "status": "submitted", "channelId": "..." },
    { "input": "https://t.me/ai_tools", "handle": "ai_tools", "status": "duplicate", "channelId": "..." }
  ],
  "note": "Submitted channels are PENDING and go live after the AI pre-screen + review."
}

Bulk lists

Up to 500 handles per call. Larger lists: split across calls. Rate limit is 500 calls/hour (per account or IP). A GET on the same URL returns the usage as JSON.

Use it as an AI tool (MCP)

We run a Model Context Protocol server, so an AI assistant can list a channel as a native tool call. Point your MCP client at:

https://telegramchannels.io/api/mcp

Example client config (Streamable HTTP):

{
  "mcpServers": {
    "tgdirectory": { "url": "https://telegramchannels.io/api/mcp" }
  }
}

For a client that only speaks stdio, bridge it with npx mcp-remote https://telegramchannels.io/api/mcp. The tool is submit_channel({ channels: [...] }).

Machine-readable specs

What gets listed

Each submitted handle becomes a pending channel. The AI pre-screen blocks adult, gambling and illegal content; the rest is reviewed by a person before it appears in the directory. Metadata (title, members, photo) is fetched from Telegram automatically — you only send the handle.