# Telegram Channel

<p>Channel metadata for a public Telegram channel or group: title, description, avatar, verified badge, the live subscriber string and the public preview link.</p><p>Only public channels render a preview. A personal profile and a handle that does not exist return the same contact page, so <code>is_public_channel_preview</code> answers whether the handle renders as a channel &mdash; not whether a user account exists.</p>

- **Documentation:** [https://scrappa.co/docs/telegram-api/telegram_channel](https://scrappa.co/docs/telegram-api/telegram_channel)
- **API group:** Telegram API
- **Endpoint:** `GET https://scrappa.co/api/telegram/channels/{username}`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `username` | string | Yes | <p>Public channel handle. A bare handle or an <code>@handle</code> also works in the path; use this parameter for the host forms, which contain a slash: <code>t.me/telegram</code>, <code>t.me/s/telegram</code>, <code>https://t.me/s/telegram</code>, <code>https://telegram.me/telegram</code>, <code>https://telegram.dog/telegram</code>. Every form normalises to the bare lowercase handle, because Telegram usernames are case-insensitive, and no request is ever issued to a mirror host.</p><p>When this parameter is present it is the handle that is used; the path segment is only the fallback for the forms that fit there.</p> |

## Example response

```json
{
    "data": {
        "channel": {
            "title": "Telegram News",
            "username": "telegram",
            "avatar_url": "https://cdn.example/avatars/telegram.jpg",
            "description": "The official Telegram on Telegram. Much recursion.",
            "is_verified": true,
            "preview_url": "https://t.me/s/telegram",
            "permalink_url": "https://t.me/telegram",
            "subscribers_raw": "9 401 414 subscribers",
            "is_public_channel_preview": true
        }
    },
    "meta": {
        "attempts": 1,
        "duration_ms": 812
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | The username, post id or search query failed validation. A 422 carries a message and an errors map, and no error code. |
| 503 | Upstream Unavailable | No usable page came back. The request did not consume a credit. The code varies by failure type: UPSTREAM_HTTP_ERROR when the target answered with a non-successful status, TELEGRAM_DISABLED while the surface is switched off, TRANSPORT_ERROR when every gateway failed to connect, and a generic upstream_unavailable when no connection was available at all. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
