什么是 Telegram API?为什么需要申请?
Telegram 提供两套 API 体系:Bot API(用于创建机器人)和 Client API / TDLib(用于开发第三方客户端、Userbot 等高级应用)。
使用 Bot API 只需通过 @BotFather 获取 Token 即可,无需额外申请。但如果你要开发第三方 Telegram 客户端、数据采集工具、Userbot 或其他高级应用,就需要到 my.telegram.org 申请 API ID 和 API Hash。
本教程将详细演示 2026 年最新的申请流程,涵盖每个步骤的注意事项和常见坑点。

前置条件
- 一个已注册的 Telegram 账号(需要能接收验证码)
- 稳定的网络环境(需能访问 my.telegram.org)
- 准备好应用的名称和简介(英文)
第一步:访问 my.telegram.org
在浏览器中打开 https://my.telegram.org。
页面会显示一个手机号码输入框,输入你的 Telegram 注册手机号(需要带国际区号,如 +86 13912345678)。
第二步:接收并输入验证码
点击「Next」后,Telegram 会通过 App 内消息(不是短信)发送一个 5 位数验证码。
- 打开 Telegram App
- 查看与 Telegram(官方服务通知)的对话
- 找到类似「Login code: 12345」的消息
- 将验证码输入到网页中,点击「Sign In」
第三步:进入 API 开发工具
登录成功后,页面会显示几个选项。点击 「API development tools」 进入 API 申请页面。
如果你之前已经申请过,会直接显示已有的 API ID 和 Hash。如果是首次申请,会显示一个表单。
第四步:填写 API 申请表单

| 字段 | 说明 | 填写示例 |
|---|---|---|
| App title | 应用名称(英文,可随意填) | My Telegram App |
| Short name | 短名称(5-32 位英文字母) | myapp |
| URL | 应用网址(选填,可留空) | https://example.com |
| Platform | 目标平台 | Desktop(推荐选 Desktop 或 Other) |
| Description | 应用简介(简单描述用途) | A tool for managing Telegram messages |
填写完毕后点击 「Create application」,页面会立即显示你的 API ID(纯数字)和 API Hash(32 位十六进制字符串)。
第五步:保存 API 凭证
创建成功后,你会看到类似以下信息:
App api_id: 28XXXXX
App api_hash: 3f4a8eXXXXXXXXXXXXXXXXXXXXXXXX
- API ID 和 Hash 是永久有效的,无法重新生成
- 切勿将它们提交到公开的 GitHub 仓库
- 建议存储在环境变量或加密配置文件中
- 泄露后别人可以用你的凭证开发应用,可能关联到你的账号
第六步:使用 API 凭证开发应用
场景一:使用 Telethon(Python)开发 Userbot
pip install telethon
from telethon import TelegramClient
api_id = 28XXXXX # 替换为你的 API ID
api_hash = '3f4a8eXXXXXX' # 替换为你的 API Hash
client = TelegramClient('session_name', api_id, api_hash)
async def main():
await client.start()
me = await client.get_me()
print(f"登录成功: {me.first_name} (@{me.username})")
# 获取最近对话
async for dialog in client.iter_dialogs(limit=10):
print(f"{dialog.name}: {dialog.id}")
with client:
client.loop.run_until_complete(main())
场景二:使用 Pyrogram(Python)
pip install pyrogram
from pyrogram import Client
app = Client("my_account", api_id=28XXXXX, api_hash="3f4a8eXXXXXX")
async def main():
async with app:
me = await app.get_me()
print(f"Hi, {me.first_name}")
app.run(main())
场景三:使用 GramJS(JavaScript/TypeScript)
npm install telegram
const { TelegramClient } = require("telegram");
const { StringSession } = require("telegram/sessions");
const client = new TelegramClient(
new StringSession(""), apiId, apiHash, { connectionRetries: 5 }
);
await client.start({ phoneNumber, phoneCode: async () => "12345" });
console.log("Connected!");
API ID vs Bot Token 对比
| 对比项 | API ID + Hash | Bot Token |
|---|---|---|
| 获取方式 | my.telegram.org 申请 | @BotFather 创建 |
| 用途 | 第三方客户端、Userbot、数据采集 | 机器人自动回复、群管理 |
| 身份 | 以个人账号身份运行 | 以 Bot 身份运行 |
| 主动发消息 | 可以(与普通用户相同) | 需对方先 /start |
| 是否可重新生成 | 不可以(永久唯一) | 可以(/revoke) |
| 封号风险 | 较高(滥用会封个人号) | 较低(仅限制 Bot) |
常见问题
| 问题 | 原因 | 解决方案 |
|---|---|---|
| my.telegram.org 打不开 | 网络限制 | 使用代理或 VPN 访问 |
| 收不到验证码 | 验证码发到 App 而非短信 | 检查 Telegram App 中的服务通知 |
| 提示 “Too many tries” | 短时间请求过多 | 等待 24 小时后再试 |
| API Hash 忘记了 | 未保存 | 重新登录 my.telegram.org 查看 |
| FloodWaitError | API 调用过于频繁 | 按报错提示的秒数等待后重试 |
| SESSION_REVOKED | 会话被终止(可能在其他设备登出) | 删除 session 文件重新登录 |
总结
Telegram API 申请过程并不复杂,只需 5 分钟即可完成。关键是妥善保管 API ID 和 Hash,不要泄露到公开平台。有了 API 凭证后,你可以使用 Telethon、Pyrogram、GramJS 等框架开发各种 Telegram 应用,从简单的消息转发到复杂的数据采集和自动化工具。
如果觉得自己操作太麻烦,可以直接去 aaadoy海外账号购买平台 购买现成的账号,方便快捷,售后有保障。
🌐 需要海外账号?我们覆盖全品类
Apple ID · Telegram · Netflix · Spotify · Facebook · Instagram · TikTok · ChatGPT
🛒 前往商店购买