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

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

Request
// ⚠️ 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.

Metadata Score Breakdown

Estimated from metadata — endpoint not independently tested

This score is estimated from observable metadata — HTTPS support, authentication model, declared CORS, and documentation reachability — because the API requires authentication or exposes no publicly testable endpoint. The five-signal breakdown is only shown for live-tested APIs.

Metadata estimate · endpoint not independently tested

Technical Specifications

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

Related Tags

Similar APIs

View All →