Technical Guide

Difference Between Telegram TData and Session+Json: Which to Choose for Scraping, Inviting, and Personal Use

In-depth technical breakdown of Telegram authorization formats: TData binary directory structure (D877F783D5D3EF8C), Pyrogram and Telethon SQLite/JSON sessions, 2FA password handling, and workload-specific format selection.

Author: Accira Protocol Engineering Team (Accira MTProto & Messaging Protocols Engineering Group) · Published: · 10 min read

Table of Contents

  1. 01. TData Architecture: Directory Structure and Auth Keys
  2. 02. Session+JSON Architecture: SQLite DB and MTProto Params
  3. 03. Handling 2FA Cloud Passwords
  4. 04. Client Fingerprints: MTProto Layers and initConnection
  5. 05. Format Comparison Matrix and Practical Recommendations

When building infrastructure within the Telegram ecosystem, automation engineers and marketing teams primarily choose between two session formats: for manual management and native desktop reliability, teams purchase Telegram TData accounts, whereas programmatic pipelines and massive outreach systems rely on Telegram Session+JSON accounts.

TData Architecture: Directory Structure and Auth Keys

The TData (Telegram Data) format represents the native binary session storage mechanism generated by the official Telegram Desktop client (authored in C++ utilizing the Qt framework). Inside the root application directory, the tdata folder encompasses distinct encrypted data segments:

  • 16-character hexadecimal profile directory (e.g., D877F783D5D3EF8C): Houses serialized user storage blocks. The initial 8 bytes of the directory name correspond to an encrypted storage key hash. Sub-files map0 and map1 manage cryptographic block sector indexes.
  • key_datas file: Encrypted master key storage container. Without a user-defined local passcode, encryption relies on local hardware entropy and operating system machine keys.
  • settingss file: Serialized configuration preferences governing visual themes, audio notifications, and media caching rules.

The principal technical benefit of TData is absolute architectural legitimacy in the perception of Telegram edge routing. Launching a TData session is indistinguishable from standard official desktop execution. Operators access the complete graphical UI, voice/video calls, secret chats, and real-time synchronicity.

Session+JSON Architecture: SQLite DB and MTProto Params

The Session + JSON standard emerged from developer ecosystems centered around Python MTProto frameworks including Telethon and Pyrogram. State data is partitioned across two corresponding assets:

  1. The .session file: A standardized SQLite3 database containing the sessions table with parameters:
    • dc_id: Telegram Data Center designation (DC1 Miami through DC5 Singapore).
    • server_address and port: Primary MTProto transport socket address.
    • auth_key: 256-byte symmetric authorization key established via the Diffie-Hellman cryptographic exchange during provisioning.
  2. The .json metadata manifest: Defines hardware telemetry attributes required when invoking the initConnection MTProto handshake:
    {
      "session_file": "telethon_user_79991234567",
      "phone": "+79991234567",
      "app_id": 2040,
      "app_hash": "b18441a1ff607e10a989891a5462e627",
      "device_model": "Samsung Galaxy S24 Ultra",
      "system_version": "Android 14",
      "app_version": "10.8.1",
      "lang_code": "en",
      "system_lang_code": "en-US",
      "twoFA": "Password123",
      "proxy": [2, "192.168.1.100", 8080, true, "login", "password"]
    }

Thanks to low per-instance memory overhead (under 50 KB disk footprint), a standard VPS instance can sustain over 5,000 simultaneous asynchronous connections via Python's asyncio event loop.

Handling 2FA Cloud Passwords

Telegram Two-Factor Authentication (Cloud Password) secures accounts against unauthorized cross-device registration. Operational execution varies significantly between formats:

  • Under TData, the session is already authenticated; no cloud password prompt appears on startup. Password input is required solely if modifying the account phone number or terminating remote sessions in Settings.
  • Under Session+JSON, cloud credentials are provided within the twoFA (or cloud_password) property in the JSON file. Programmatic clients utilize this field when executing client.sign_in(password=...) if sessions require re-validation.

Client Fingerprints: MTProto Layers and initConnection

Telegram verification infrastructure continuously audits binary protocol packets for compatibility against official protocol versions:

  • MTProto Layer Tracking: Modern production clients operate on Layer 170+. Automation scripts dispatching legacy payload schemas (e.g., Layer 120) are flagged immediately as synthetic bots, resulting in SpamBot restrictions or account termination.
  • API ID and App Hash Consistency: Utilizing standard application credentials (such as official Telegram Android IDs) requires absolute field harmony with device_model and system_version. Mismatched attributes trigger immediate TCP drops with AUTH_KEY_UNREGISTERED.

Format Comparison Matrix and Practical Recommendations

Use the technical evaluation matrix below to select the optimal format for your specific operational scope:

Metric Telegram TData Telegram Session+JSON
Control Interface Manual GUI (Telegram Desktop client) Programmatic API (Python Telethon / Pyrogram)
RAM Utilization 100-250 MB per active window instance Under 2-5 MB per active async connection
Onboarding Friction Zero: extract archive and execute binary Requires developer tooling and script execution
Server-side Trust Highest possible (standard desktop traffic) Dependent on proxy quality and JSON header hygiene
Optimal Application Personal usage, customer support, community management High-throughput invite bots, scraping, automated DM pipelines

When conversion across formats is necessary, engineers deploy specialized translation utilities (such as Python's opentele library), extracting the verified auth_key from TData into SQLite .session structures and vice versa.

Back to Catalog All Glossary Guides