TgFather
Sign in
Guides

TData, a Telethon session, or a login code: pick the format first

Noah Whitaker 7 min read
TData, Telethon session or login code: TgFather guide

Updated August 2026

People talk about buying "a Telegram account" as if that were one object. It is not. You are buying a way in. The folder, the session file, or the code is the product. Everything else on the listing is a claim sitting next to that product.

I have watched this go wrong in the same three ways for years. Someone pays for TData, then tries to open it on a phone. Someone else loads a Telethon .session into Telegram Desktop. A third person types a live login code on the wrong client and burns it. They picked a format they did not understand.

Decide the format before you decide the country, the age band, or the price.

What you are actually receiving

Telegram does not have an "export this user" button. Shops invent delivery around three things Telegram already has: a desktop session directory, an MTProto session used by libraries, and the ordinary login code you have typed a hundred times. Those three things do not convert into each other. A TData folder is not a .session. A login code is not a file you can archive and reopen next month.

TData

TData is Telegram Desktop's working directory. A folder, usually named tdata, full of files the desktop client already knows how to read. If you live in Telegram Desktop on a laptop, this is the format that feels like opening an app that is already signed in.

It is a poor fit if your whole life is on iOS or Android. Importing a TData folder onto a phone is not a thing. People still try.

A live TData folder, dropped into the right place and opened with a matching Telegram Desktop build, should land you in a chat list. Settings should show a phone number. If the app behaves like a fresh install, the folder is empty or from a different client generation. That is a dead file, not a shy account.

A Telethon session

A Telethon session is a small database file, typically ending in .session. Libraries that speak MTProto use it as proof they are already authorized. You do not "open" it. You load it in code and call something like get_me().

This is the right object if you are writing a test harness, or a support script that needs a user account rather than a bot token. It is the wrong object if you just want to talk to people from a phone.

A live session connects and returns a user object. A dead one fails in boring ways: the auth key is unregistered, the server rejects the session, or you get a 2FA prompt and nobody gave you the password. That last case is often a seller who set 2FA and forgot to pass the cloud password. Still useless until that password is in your hands.

Treat the file like a password. Anyone who has a copy is logged in as that user. Do not paste it into a group chat "just to check."

A live login code

This is the ordinary Telegram code. The same digits you type when you change phones. A shop that offers a live code is promising to show you that code while you are signing in on a client you control. Least magical option, often the right one, if you want the account on your own device.

You enter the code. You land in the account. If Telegram then asks for a cloud password you were not given, stop. If the code never appears, or appears already used, the delivery failed. Do not request a second code from five devices. Use it in the window it arrives.

Who should pick which

Format What it is Take this if You will know it worked when
TData Telegram Desktop's session folder You actually use the desktop app The app opens signed in and Settings shows the number
Telethon .session An MTProto auth file for code You are talking to Telegram from a script The client connects and get_me() returns that user
Live login code A one-time sign-in code You want the account on a phone or a client you already trust You type the code and see a chat list, not a password wall you cannot pass

A business inbox that a person will sit in all day: login code or TData. A community ops seat that lives on a laptop: TData. A bot or Mini App test against a real user: the session, kept on the machine that runs the test.

Do not take a session "because it sounds more professional." That is how you end up with a file you cannot open.

What "aged" actually means

Aged means the account was registered a while ago. Months. Sometimes years. That is the whole claim.

It does not mean the account has friends, a username you will like, or a decent previous operator. It means a clock has been running since the number was first attached.

Sellers talk about age because Telegram is harsher on brand-new numbers. Fresh accounts hit tighter limits on joining chats and adding contacts. An older account has usually lived past that window. People inflate that narrow advantage into a personality.

I treat age as a filter, not a virtue. Work inbox that should not trip over new-account limits: age is worth paying for. Clean test user for a bot: a younger account is often fine. If someone is selling "aged" as if it were a built-in audience, they are selling a channel. Age is not a character reference.

How to tell a dead file from a live one

Do this before you build a workflow on top of the login.

For TData: put the folder where Telegram Desktop expects it, launch the app, and go to Settings. You want a phone number and a working chat list. A welcome screen, or a session-revoked message, means it is not live for you.

For a Telethon session: connect once and fetch the user. If that call succeeds, the file is alive. An unregistered key is a souvenir. A 2FA prompt means you are missing a secret.

For a login code: the only test is a successful sign-in on one client. Then confirm the number in Settings. A missing username is not automatically a dead account.

Then set two-factor authentication immediately. If a cloud password is already on the account, change it. Until you do that, anyone who still has a copy of the session or the TData folder can walk back in. The code you typed does not revoke their files. Session files are keys, not documents.

Inbox work, not growth hacks

The reasons that hold up are boring. A company does not want customer chat on a founder's personal number. A community team wants an ops seat that is not one staff phone. A developer needs a real user to test a bot without burning their own identity.

Those are inbox and tooling problems. Telegram's terms still apply. Buying the login does not buy you a waiver. If the plan is unsolicited bulk messaging, do not buy the account.

If you already know the format you need, the Telegram accounts catalog is organized around TData, Telethon sessions, and live login codes. Pick the format first. Then look at the rest.

FAQ

Can I take a TData folder and also use the same account on my phone?

Sometimes, after the desktop session is alive, you can add another device the normal way from inside the account. That is a second login, not a conversion of the folder. If the phone is the daily driver, start with a live login code.

The session connects but Settings shows a different username than the listing. Is that dead?

Not necessarily. Usernames get changed. What you want is a stable user id and a number that matches the order. A mismatch on the vanity handle is a support question. A mismatch on the phone number is a different account.

If I already have 2FA on my personal Telegram, can I reuse that password here?

You can type the same string. You should not. This account is a separate key. Give it its own cloud password.

Does aged mean the account has message history I can read?

No. Age is a registration clock. History is whatever the previous operator left, which is often nothing useful. Buy age for the clock. Do not buy it for a diary.

Is a login code safer than a file?

Safer in one sense: you are not downloading a key you might misplace. Weaker in another: the code expires, and if 2FA is set you still need that password. Safety is mostly what you do after sign-in.