Telegram MTProto API

Social / OAuth Advanced HTTPS
Varies by plan (check documentation)

Overview

Telegram MTProto is the full-featured Telegram API that lets you build custom Telegram clients and read/write data for real user accounts, not just bots. It uses Telegram's own encrypted MTProto protocol, which requires OAuth authentication and a dedicated client library. This API is best for advanced developers building full Telegram clients or user-level automation.

💡

Beginner Tip

Start with the simpler Telegram Bot API for most projects; use MTProto only when you need full user-account access. You will need an app_id and app_hash from my.telegram.org to get started.

Available Data

Use case: Integrate read and write telegram data data into web and mobile applications
Telegram MTProto data via REST API
JSON-formatted response data
Requires OAuth authentication

Example Response

JSON Response
{
  "status": "success",
  "data": {
    "result": "Data from Telegram MTProto",
    "description": "Read and write Telegram data",
    "timestamp": "2025-01-15T10:00:00Z"
  }
}

Field Reference

_ The TL (Type Language) constructor name identifying the response type.
id Unique identifier for the object, such as a message or user.
flags Bitmask encoding optional field presence; check docs for each bit meaning.
date Unix timestamp of when the object was created or sent.
message Text content of a message object.

Implementation Example

// ⚠️ Note: This URL may be a documentation page. Check official docs for actual API endpoint.
const url = "https://core.telegram.org/api";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "Authorization": "Bearer YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

AUTH_KEY_UNREGISTERED The authorization key has not been registered or has expired.
Re-run the authentication flow to generate a fresh auth key for your session.
PHONE_NUMBER_INVALID The phone number provided during login is in the wrong format.
Supply the phone number in full international format, e.g., +12025550100.
FLOOD_WAIT_X Too many requests were sent in a short period, triggering a rate limit.
Wait the number of seconds indicated by X in the error before retrying your request.

Matrix Score Breakdown

🌐 Reachability 0/30
⚡ Speed 15/20
🔒 Security 15/15
🛠 Developer XP 3/20
✓ Reliability 0/15

Partially tested on Apr 5, 2026

Technical Specifications

Auth OAuth
HTTPS REQUIRED
CORS UNKNOWN
Category Social
Difficulty Advanced
Verified: 2026-04-04

Similar APIs

View All →