# Telegram Proxies: 1,139 Words, No JavaScript

> Telegram through proxies from 3 countries: the t.me/s web preview serves 1,139 words per page over plain HTTP, byte-identical from the US, Germany and India.

[Home](https://quanticdata.io/)/[Blog](https://quanticdata.io/blog/)/Telegram Proxies: 1,139 Words, No JavaScript

# Telegram Proxies: 1,139 Words, No JavaScript

Social proxiesSep 28, 2026·12 min read·By [Aldo Morese](https://quanticdata.io/about/), founder of QuanticData

What one public Telegram channel costs to read through a proxy, measured on 28 September 2026: the t.me preview page gives 69 words and the subscriber count in 11,138 bytes, the t.me/s web preview gives 1,139 words per page in 127,691 bytes over plain HTTP from the United States, Germany and India alike, and rendering adds 40 words for 135,444 bytes

On this page [Search for Telegram proxies and you land in the wrong article](/blog/telegram-proxies/#search-for-telegram-proxies-and-you-land-in-the-wrong-articl) [t.me/s/ is a server-rendered feed, and the render adds nothing](/blog/telegram-proxies/#t-me-s-is-a-server-rendered-feed-and-the-render-adds-nothing) [The exit country changed nothing on Telegram](/blog/telegram-proxies/#the-exit-country-changed-nothing-on-telegram) [The Bot API wants a token, and it is not a reading API](/blog/telegram-proxies/#the-bot-api-wants-a-token-and-it-is-not-a-reading-api) [There is no robots.txt, on either domain](/blog/telegram-proxies/#there-is-no-robots-txt-on-either-domain) [What a Telegram feed costs to read](/blog/telegram-proxies/#what-a-telegram-feed-costs-to-read) [The setting that works on Telegram](/blog/telegram-proxies/#the-setting-that-works-on-telegram) [What we will not help you do](/blog/telegram-proxies/#what-we-will-not-help-you-do)

Telegram is the rare platform where the cheapest possible client gets the whole public feed. On 28 September 2026 we fetched one public channel nineteen times through exits in the United States, Germany and India. The web preview at `t.me/s/telegram` returned 1,139 words and 127,691 bytes to a plain HTTP client with no account, no token and no JavaScript, and the same bytes to within two from all three countries. Rendering it in a browser added 40 words of interface for 7.6 seconds. The Bot API, by contrast, wants a token for every method. Here is the measurement, what it costs, and where Telegram's own terms stop you.

## Search for Telegram proxies and you land in the wrong article

On every other platform in this series the head term is about running accounts. On Telegram it is about censorship. The autocomplete suggestions are "telegram proxies for iran", "proxies for telegram in pakistan", "proxy for telegram india", "telegram proxies mtproto" and "telegram proxies list", and the first page of results is MTProto proxy directories, a GitHub list refreshed every 12 hours, and Telegram's own MTProxy page. That is a different product: MTProxy is a protocol-level relay built into the Telegram apps so that users in regions that restrict Telegram can reach its servers, and Telegram documents it at core.telegram.org/proxy. The apps also accept a plain SOCKS5 proxy under Settings, Data and Storage, Proxy Settings, which is what our [SOCKS5 endpoints](https://quanticdata.io/socks5-proxies/) are for if the question is "how does my own client reach Telegram from a network that does not allow it".

This article is about the other question, the one hiding under "telegram channel scraper": what does t.me hand a client that arrives through a proxy, and which of Telegram's surfaces are worth reading for social listening, brand monitoring, public-channel research and archiving your own organisation's posts. Half of that autocomplete is "channel scraper and adder" and "member scraper", which is a spam workflow, and the last section says so plainly.

## t.me/s/ is a server-rendered feed, and the render adds nothing

Telegram publishes two web surfaces for a public channel. `t.me/<channel>` is a short preview card. `t.me/s/<channel>` is the web preview, a full feed of recent posts. We audited the second with and without JavaScript from each of the three exits, and weighed both over plain HTTP.

| Fetch | Exit | Bytes | Extractable words | Canonical |
| --- | --- | --- | --- | --- |
| t.me/telegram, preview card, no JavaScript | US | 11,138 | 69 | none |
| t.me/s/telegram, no JavaScript | US | 127,691 | 1,139 | ?before=461 |
| t.me/s/telegram, no JavaScript | DE | 127,693 | 1,139 | ?before=461 |
| t.me/s/telegram, no JavaScript | IN | 127,693 | 1,139 | ?before=461 |
| t.me/s/telegram, rendered | US | 135,444 | 1,179 | ?before=461 |
| t.me/s/telegram?before=461, no JavaScript | US | 127,693 | 1,139 | ?before=461 |

The feed is in the HTML. Each page carries exactly 20 posts, message ids 441 to 460 on the page we measured, each in a `tgme_widget_message` block with a `data-post` id, the text, the date, and a view counter printed as an abbreviated string: 1.49M, 2.93M, 911K, 791K. Post text, dates, view counts, forwards, replies, media thumbnails, all 22 images per page, arrive server-rendered to a client that cannot run a script. The rendered pass returned 1,179 words instead of 1,139, and the 40 extra words are the "Download", "View in Telegram" and "Preview channel" chrome the app paints around the feed. It took 7.6 seconds against under two for the plain fetch. On this platform a headless browser is pure cost.

Pagination is a message id, not a page number. The canonical of the feed points at `?before=461`, and fetching that URL returned the same page shape, 127,693 bytes and 1,139 words. Walk backwards through a channel's history by passing the lowest message id you have seen as `before=`; walk forward from a point with `after=`. Every page carries `cache-control: no-store`, so there is no edge cache to lean on and every fetch is a real read.

The short preview card is worth its 11,138 bytes for one field. Its body is 69 words and one of them is the subscriber count, printed with spaces as thousands separators: "9 446 947 subscribers". If a list of channel sizes is the whole job, that page is 11 times cheaper than the feed. Parse it with the separator stripped; a comma-aware regex reads that number as 9.

## The exit country changed nothing on Telegram

This is the opposite of what we found on TikTok, where the exit selects a backend, and of Facebook, where a German exit rewrites number formats. From the United States, Germany and India the web preview returned 127,691, 127,693 and 127,693 bytes, the same 1,139 words, the same title, the same canonical. The two-byte difference is a timestamp. Telegram's web preview does not localise off the IP and does not shard by region.

For a collector that means country targeting buys nothing here, and you should not pay for it. Every page is served with `no-store`, so there is also no per-country cache to exploit. What does still vary by region is reachability of Telegram itself for end users, which is the MTProxy problem above and not a data-collection one. Read the feed from the cheapest exits that answer, and rotate for volume rather than for geography. That is exactly the case our [rotating endpoint](https://quanticdata.io/rotating-proxies/) exists for: one hostname, a fresh address per request, priced from $0.50/GB.

## The Bot API wants a token, and it is not a reading API

Telegram has two programmatic interfaces and neither replaces the web preview for public reads. The Bot API lives at `api.telegram.org/bot<token>/<method>`; every method takes the token in the path, and a request without a valid one is answered with an 83-byte JSON object saying the token is invalid. With a token, a bot receives updates for the chats it was added to and can post; it cannot enumerate public channels it was never added to. The documented limits are about sending, not reading: at most one message per second in a single chat, no more than 20 messages per minute in a group, and roughly 30 messages per second for bulk notifications, above which the API answers with a rate-limit reply. Paid broadcasts raise that to 1,000 per second at 0.1 Stars per message once a bot holds 100,000 Stars and 100,000 monthly active users.

The MTProto client API, the one third-party Telegram apps use, does read channel history, but it requires a real user account with a phone number and an api_id, and its Terms of Service govern what a client may do with what it reads. Section 1.5 of those terms is the sentence that matters for a data team: using the API to access or aggregate Telegram data to train, fine-tune or develop AI or machine-learning models is prohibited. Telegram's Terms of Service for Content Licensing repeat it, and go further: access to user-generated content for any purpose other than ordinary use of the platform as its user is prohibited, with a limited exception for operating a legitimate client, bot or mini app.

So the honest map is this. The public web preview is the only surface a proxied client can read without an identity, and it renders completely over plain HTTP. The Bot API is for building bots that people add to their chats. The client API is for building Telegram clients. Neither is a licence to build a dataset, and the licensing terms say that in one paragraph.

## There is no robots.txt, on either domain

We fetched `t.me/robots.txt` and `telegram.org/robots.txt` over plain HTTP. Both returned a 153-byte and a 555-byte nginx page reading "404 Not Found". Telegram publishes no crawler rules at all: no allow list, no disallow list, no named AI crawlers, no sitemap. That is unusual for a platform of this size, and it cuts both ways. Nothing in a robots file tells a client to stay out of `/s/`, and nothing in a robots file grants permission either. The permission question is answered entirely by the terms above, which is the paragraph a lawyer will read and a crawler never will.

One more shape worth knowing. Every response from t.me carries `cache-control: no-store` and `pragma: no-cache`; the preview card additionally sends `x-frame-options: ALLOW-FROM https://web.telegram.org`. There are no rate-limit headers on any of the responses we captured, so as on Bluesky's public edge, the only signal that you are fetching too fast is the reply itself. Pace by your own counter and back off when a page comes back short.

## What a Telegram feed costs to read

All figures at our published rates, counting a gigabyte as 10^9 bytes, using the byte counts measured above.

| Job | Bytes per request | Requests per GB | Cost per request at $0.50/GB | At $0.80/GB residential |
| --- | --- | --- | --- | --- |
| Feed page, t.me/s/, no JavaScript | 127,691 | 7,831 | $0.000064 | $0.00010 |
| Feed page, rendered | 135,444 | 7,383 | $0.000068 plus 7.6 s of browser | $0.00011 |
| Preview card, subscriber count only | 11,138 | 89,782 | $0.0000056 | $0.0000089 |

A gigabyte of the cheapest rotating bandwidth holds 7,831 feed pages, and at 20 posts a page that is 156,620 posts with text, date and view count per gigabyte, 6,385 bytes a post. Parse the view counter with its suffix: "1.49M" and "911K" are strings, and a numeric cast on them fails or, worse, returns 1.49. Monitoring 2,000 public channels, one feed page each per hour for a month, is 1.44 million pages, about 184 GB and roughly $92 at $0.50/GB, with no browser compute at all. The same job rendered would cost slightly more in bytes and 3,040 hours of headless browser time for 40 extra words per page. A subscriber census of 100,000 channels through the preview card is 1.1 GB, under a dollar.

If you would rather not run the fetch loop, the [web scraping API](https://quanticdata.io/web-scraping-api/) returns any t.me/s/ page as clean Markdown without rendering from $0.0002 per page, retries and rotation included, and failed requests are never billed. The same call is available to an agent through the [MCP server](https://quanticdata.io/mcp-server/). Note the inversion we also found on [Bluesky](https://quanticdata.io/blog/bluesky-proxies/) and [Mastodon](https://quanticdata.io/blog/mastodon-proxies/): for pages this small, per-gigabyte proxy billing is cheaper than per-page API billing, so the plain proxy route is the cheaper of our two products here.

## The setting that works on Telegram

- **Network:** [rotating proxies](https://quanticdata.io/rotating-proxies/) from $0.50/GB, the cheapest exits in the pool. Nineteen fetches from three countries met no address-level obstacle and the pages are small enough that bandwidth price barely matters; what you are buying is address diversity for volume. Residential Basic at $0.80/GB returned nothing extra, and mobile at $2.30/GB has no case here.

- **Fetch mode:** `engine: tls`, plain HTTP, never rendered. The feed page returns 1,139 words in 127,691 bytes; rendered it returns 1,179 words in 135,444 bytes after 7.6 seconds, and the 40 extra words are interface.

- **Country:** none required. The same page came back as 127,691, 127,693 and 127,693 bytes from the United States, Germany and India with identical content; spread the pool for throughput, not for geography.

- **When the proxy is not enough:** there is no Telegram collector in our catalogue, and the feed does not need one. Use the [web scraping API](https://quanticdata.io/web-scraping-api/) without rendering at $0.0002 per page for clean Markdown with pagination handled by passing `before=<message id>`, or read the raw HTML yourself and parse the `tgme_widget_message` blocks. Anything beyond public channels, private groups, member lists, direct messages, is the Bot API with a token or the client API with an account, and both are governed by Telegram's terms.

- **Free tier:** every account gets $2 of free API usage per month, which is 10,000 feed pages through the scraping API before you pay anything.

Read `t.me/s/` over plain HTTP, page by message id, rotate for volume, and leave accounts and member lists alone. For the platform in this series where the answer was also "the web preview is the API", compare [Discord](https://quanticdata.io/blog/discord-proxies/), where the invite endpoint answers in 2,810 bytes.

## What we will not help you do

The "telegram channel scraper and adder" queries describe one workflow: pull the member list of a public group and add those users to another group, or message them. Telegram's terms prohibit it, its Bot API limits exist precisely to stop it, and a proxy does not change either fact. The same goes for registering accounts in bulk, running user accounts as bots, and reading private chats through any route. We will not write those instructions.

What the public web preview legitimately supports is a long list: monitoring public channels for brand mentions, tracking what a competitor or a news source publishes, measuring the reach of your own channel by view counts per post, archiving your organisation's announcements, and research on public discourse. All of it runs on unauthenticated reads of pages Telegram chose to render for the open web. Two obligations survive: posts are their authors' content and, where they mention people, personal data, so purpose, retention and deletion still apply; and Telegram's content-licensing terms rule out feeding what you read into model training without the consent they describe.

### Sources & further reading

- [Telegram Bots FAQ: limits on sending messages](https://core.telegram.org/bots/faq)

- [Telegram API Terms of Service](https://core.telegram.org/api/terms)

- [Telegram Terms of Service for Content Licensing](https://telegram.org/tos/content-licensing)

- [Telegram MTProxy](https://core.telegram.org/proxy)

- [t.me/s/telegram web preview (fetched 28 September 2026)](https://t.me/s/telegram)

## FAQ

Quick answers on telegram proxies.

[Something else? Ask us →](mailto:hello@quanticdata.io)

### Can I scrape a public Telegram channel without an account or API key?

Yes, through the web preview. On 28 September 2026 t.me/s/telegram returned 1,139 extractable words and 127,691 bytes to a plain HTTP client with no account, no token and no JavaScript, with post text, dates, view counts and 22 media thumbnails per page. Pagination is by message id with before=<id> and after=<id>. Private channels, groups and member lists are not on that surface.

### Do I need a proxy to read t.me pages?

Not for a handful of requests; all nineteen of our fetches returned 200 from a single exit. For monitoring thousands of channels you need address diversity, because t.me sends no rate-limit headers and every page is served with cache-control: no-store, so each fetch is a real read. A rotating pool at $0.50/GB holds 7,831 feed pages per gigabyte.

### Does rendering Telegram pages in a browser return more content?

No. The rendered feed page returned 1,179 words in 135,444 bytes after 7.6 seconds; the plain HTTP fetch returned 1,139 words in 127,691 bytes in under two. The 40 extra words are the Download and View in Telegram interface, not posts. The feed is fully server-rendered, so a headless browser is pure cost on this platform.

### Does the exit country change what Telegram returns?

No. The same feed page came back as 127,691 bytes from the United States and 127,693 bytes from Germany and India, with the same 1,139 words, title and canonical; the two-byte difference is a timestamp. Telegram does not localise the web preview off the IP, so geo targeting buys nothing for data collection. Country matters only for end users reaching Telegram from restricted networks, which is what MTProxy and SOCKS5 support in the apps are for.

### What are the Telegram Bot API rate limits?

Telegram documents sending limits, not reading limits: at most one message per second in a single chat, no more than 20 messages per minute in a group, and about 30 messages per second for bulk notifications, above which the API returns a rate-limit reply. Paid broadcasts raise the ceiling to 1,000 messages per second at 0.1 Stars each, for bots with 100,000 Stars and 100,000 monthly active users. Every method requires a bot token in the path.

### Does Telegram allow scraping in its robots.txt?

There is no robots.txt: t.me/robots.txt and telegram.org/robots.txt both returned a 404 page of 153 and 555 bytes on 28 September 2026. Permission is set by the terms instead. The API Terms of Service, section 1.5, and the Terms of Service for Content Licensing prohibit using Telegram data to train or develop AI and machine-learning models, and restrict access to user content to ordinary use of the platform, with an exception for operating a legitimate client, bot or mini app.

### What does it cost to monitor 2,000 Telegram channels hourly?

One feed page per channel per hour is 1.44 million pages a month. At 127,691 bytes each that is about 184 GB, roughly $92 at $0.50/GB on rotating exits or $147 on residential Basic at $0.80/GB, counting a gigabyte as 10^9 bytes, with no browser compute. Through the web scraping API without rendering the same pages cost $0.0002 each, about $288, with retries and rotation handled for you.

## Read the feed, skip the browser

Every number here came from one platform: fetch any t.me page over plain HTTP or rendered, compare the two views, and see what each byte returns. Every account gets $2 of free API usage each month, and failed requests are never billed.

[Start free — $2/month included](https://quanticdata.io/signup/)[Explore Rotating Proxies from $0.50/GB](https://quanticdata.io/rotating-proxies/)

## Related reading

[Social proxies Pinterest Proxies: 1.3 MB Profile, 107 Words Fifteen fetches of Pinterest on 28 September 2026 from the United States, Germany and Brazil. A public profile answers a plain HTTP client with 1,304,978 bytes, an h1, a description, ProfilePage JSON-LD and the board grid. Rendering it costs 2,628,042 bytes and 33 seconds for 151 words, and from Brazil the render never hydrated at all. The exit country picks the domain: www, de. or br. Here is the measurement, the oEmbed endpoint that does exist, the robots allowlist of 330 named bots, and the one line in the Terms. Read →](https://quanticdata.io/blog/pinterest-proxies/) [Social proxies Snapchat Proxies: 757K Subscribers, No JS Sixteen fetches of Snapchat on 28 September 2026 from the United States, Germany and India. A public profile returns its subscriber count, category, website and a Spotlight list with view counts to a plain HTTP client in 662,597 bytes, no login, no JavaScript. Rendering the same page costs 2,637,627 bytes for the same 94 words. The exit country rewrites the title and the counter label, and Snapchat tells you which country it saw in a response header. Here is the measurement, the arithmetic, and where the Snap Terms stop you. Read →](https://quanticdata.io/blog/snapchat-proxies/) [Social proxies Threads Proxies: 12.7M Followers in the Head Thirteen fetches of Threads on 28 September 2026 from the United States, Germany and Brazil. A public profile answers a plain HTTP client with 1,034,341 bytes, the follower and post counts in the meta description, and the recent posts in the HTML, no login and no JavaScript. Rendering it costs 2,028,277 bytes for an unstable word count. The exit country rewrites the number itself: 12.7M, 12,7 Mio., 12,7 mi. Here is the measurement, the arithmetic, what the Threads API needs, and the sentence in robots.txt that governs all of it. Read →](https://quanticdata.io/blog/threads-proxies/)

## Also on this site

Quantic**Data**

Residential proxies & web data APIs for AI.

#### Proxies

- [Residential Basic](https://quanticdata.io/residential-proxies/#basic)

- [Residential Premium](https://quanticdata.io/residential-proxies/#plans)

- [Cheap Residential](https://quanticdata.io/cheap-residential-proxies/)

- [Mobile Proxies](https://quanticdata.io/mobile-proxies/)

- [Datacenter Proxies](https://quanticdata.io/datacenter-proxies/)

- [ISP Proxies](https://quanticdata.io/isp-proxies/)

- [Rotating Proxies](https://quanticdata.io/rotating-proxies/)

- [Sneaker Proxies](https://quanticdata.io/sneaker-proxies/)

- [SOCKS5 Proxies](https://quanticdata.io/socks5-proxies/)

- [IPv6 Proxies](https://quanticdata.io/ipv6-proxies/)

- [Proxy locations](https://quanticdata.io/proxies/)

#### Data APIs

- [MCP Server](https://quanticdata.io/mcp-server/)

- [Web Scraper API](https://quanticdata.io/web-scraping-api/)

- [SERP API](https://quanticdata.io/serp-api/)

- [Collectors](https://quanticdata.io/collectors/)

- [Web Data for AI](https://quanticdata.io/web-data-api-for-ai/)

- [Quantic AI](https://quanticdata.io/ai-web-scraping-service/)

- [Crawl & Map](https://quanticdata.io/crawl-map/)

- [SEO Audit](https://quanticdata.io/seo-audit/)

#### Use cases

- [Company data](https://quanticdata.io/scrape-company-data/)

- [Price monitoring](https://quanticdata.io/competitor-price-monitoring/)

- [Market research](https://quanticdata.io/market-research-data/)

- [Real estate data](https://quanticdata.io/real-estate-data-scraping/)

- [Scrape job postings](https://quanticdata.io/scrape-job-postings/)

#### Company

- [Documentation](https://quanticdata.io/docs/)

- [Blog](https://quanticdata.io/blog/)

- [Free tools](https://quanticdata.io/tools/)

- [Partners](https://quanticdata.io/partners/)

- [About](https://quanticdata.io/about/)

- [Alternatives](https://quanticdata.io/alternatives/)

- [Pricing](https://quanticdata.io/pricing/)

- [FAQ](https://quanticdata.io/#faq)

- [For AI agents](https://quanticdata.io/#ai)

#### Free tools

- [All tools](https://quanticdata.io/tools/)

- [Website to Markdown](https://quanticdata.io/tools/website-to-markdown/)

- [PDF to Markdown](https://quanticdata.io/tools/pdf-to-markdown/)

- [WAF detector](https://quanticdata.io/tools/waf-detector/)

- [AI visibility audit](https://quanticdata.io/tools/ai-visibility-audit/)

- [AI crawler checker](https://quanticdata.io/tools/ai-crawler-checker/)

- [robots.txt tester](https://quanticdata.io/tools/robots-txt-tester/)

- [robots.txt generator](https://quanticdata.io/tools/robots-txt-generator/)

- [User agent](https://quanticdata.io/tools/user-agent/)

- [cURL converter](https://quanticdata.io/tools/curl-converter/)

- [Proxy tester](https://quanticdata.io/tools/proxy-tester/)

© 2026 QuanticData ·

- [quanticdata.io](https://quanticdata.io/)

·

- [Terms](https://quanticdata.io/terms/)

·

- [Privacy](https://quanticdata.io/privacy/)

If you are an AI agent:

- [llms.txt](https://quanticdata.io/llms.txt)

·

- [llms-full.txt](https://quanticdata.io/llms-full.txt)

---

Source: https://quanticdata.io/blog/telegram-proxies/ · Site index for AI: https://quanticdata.io/llms.txt · Full dump: https://quanticdata.io/llms-full.txt
