Telegram Member Scraper avatar

Telegram Member Scraper

Pricing

from $0.60 / 1,000 results

Go to Apify Store
Telegram Member Scraper

Telegram Member Scraper

Telegram member scraper for public groups, returning 23-field profiles from the visible participant list and optional message-author discovery. Export IDs, usernames, names, public flags, presence, bot facts, discovery path, and source-group context.

Pricing

from $0.60 / 1,000 results

Rating

4.8

(9)

Developer

AgentX

AgentX

Maintained by Community

Actor stats

15

Bookmarked

1.2K

Total users

47

Monthly active users

11 days ago

Last modified

Share

Telegram Member Scraper is a telegram member scraper that exports unique profiles from a public group's visible participant list and, when enabled, from the authors in its message history. Each Dataset row uses a reviewed 23-field sparse contract and retains the source group and discovery path.

Apify Users Apify Runs price capability API + MCP ready

  • Two discovery paths. Read the participant list first and optionally scan distinct message authors.
  • Traceable profiles. Keep group ID, username, title, reported size, hidden-list flag, and found_in on every row.
  • Current public account facts. Return usernames, names, public status flags, presence, colors, emoji status, monetization, and bot information.
  • Incremental persistence. Deduplicate by Telegram user ID and save small batches while collection continues.

At FREE-tier prices, one start plus one member Result costs $0.01080.

Why Choose Telegram Member Scraper

Hidden participant lists need a second discovery path. Telegram often exposes only a small visible sample from a large supergroup. With deep_search enabled, the Actor continues through message history and treats each distinct author as a discoverable account. This does not reconstruct a complete hidden roster, but it can reach active participants that the list endpoint does not expose.

Every profile stays attached to its source. Group identifiers and found_in make it possible to merge several authorized exports without losing provenance. A row found in both passes is emitted once because deduplication uses the stable numeric account ID.

Sparse output avoids invented data. The 23-field contract omits unavailable values instead of filling them with false, zero, or empty placeholders. Requesting-account relationships, private read state, access hashes, file references, and transport credentials are excluded.

Long work remains useful. Results flush in batches of five. If a source account rotates, a run stops, or the timeout arrives after some work, already pushed rows remain in the default Dataset.

Quick Start Guide

The smallest source example returns one listed member from a public group:

{
"deep_search": true,
"max_results": 1,
"telegram_url": "https://t.me/DatascienceChats"
}

Run the Actor, open the default Dataset, and inspect id, username, found_in, group_title, and processed_at. A one-row test validates the source and contract without committing to a long history scan.

Then compare shallow and deep modes on the same authorized group. Set deep_search to false for only the visible participant list. Enable it when you need active message authors after that list is exhausted. Start with 10 results before scaling and compare the returned count with the request.

There is no schema maximum, but reachable members, source visibility, history depth, account rotation, and run timeout still bound completion.

Input Parameters

Three required inputs define discovery mode, row ceiling, and the public group.

InputTypeRulesExample
deep_searchbooleanInclude message-author discovery after the visible listtrue
max_resultsintegerMinimum 1; free requests cap at 101
telegram_urlstringPublic username, @handle, or canonical Telegram URLhttps://t.me/DatascienceChats

Canonical t.me and telegram.me username URLs are accepted. Private invite links, joinchat and plus-style URLs, foreign hosts, unrelated paths, and broadcast channels are rejected. A channel has subscribers rather than an exposed group-member path; use its linked discussion group when appropriate.

max_results counts unique publishable profiles, not raw list entries or messages. Message history may contain repeated authors, service messages, deleted accounts, and objects that do not meet the publishability contract.

Output Data Schema

The Dataset contains 23 possible top-level fields:

AreaFields
Group provenancegroup_id, group_username, group_title, group_member_count, group_members_hidden, found_in
Account identityid, username, usernames, source_url, first_name, last_name, type
Public statehas_photo, flags, restrictions, last_seen, colors, emoji_status, monetization, bot_info
Processingprocessor, processed_at
{
"group_id": 1013954462,
"group_username": "DatascienceChats",
"group_title": "Data Science, ML & AI Chats",
"group_member_count": 13854,
"group_members_hidden": true,
"found_in": "participants",
"id": 1036017898,
"username": "example_user",
"usernames": ["example_user"],
"source_url": "https://t.me/example_user",
"first_name": "Example",
"type": "user",
"has_photo": true,
"flags": ["premium"],
"last_seen": "recently",
"processor": "https://apify.com/agentx/telegram-member-scraper",
"processed_at": "2026-08-12T13:00:00+00:00"
}

Example values illustrate shape only. Counts, handles, names, flags, and presence can change between runs. A message author may have left the group; found_in=messages proves authorship in scanned history, not current membership.

Integration Examples

Actor ID PSRx5Q0FWQwgLpfuL is used by the public API. Run synchronously for a small result set:

curl -X POST "https://api.apify.com/v2/acts/agentx~telegram-member-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"deep_search":true,"max_results":1,"telegram_url":"https://t.me/DatascienceChats"}'

For a larger export, start asynchronously, poll the run, and fetch the default Dataset. Keep tokens in a secret manager and avoid logging them.

{
"actor": "agentx/telegram-member-scraper",
"input": {
"deep_search": true,
"max_results": 1,
"telegram_url": "https://t.me/DatascienceChats"
}
}

The same payload works through Apify MCP, schedules, webhooks, Make, n8n, and custom clients. Use maxTotalChargeUsd when unattended jobs need a spending ceiling.

Pricing

Telegram Member Scraper charges one Actor Start plus one Result event for each member profile written to the default dataset.

EventFREEBRONZESILVERGOLDPLATINUMDIAMOND
Actor Start$0.01000$0.01000$0.01000$0.01000$0.01000$0.01000
Result$0.00080$0.00072$0.00064$0.00060$0.00060$0.00060

A Result is one saved member profile. One FREE result costs $0.01 + 1 × $0.00080 = $0.01080; 100 Results cost $0.09000. Runs that return fewer profiles create fewer Result events. Actual charges follow emitted events and current published pricing.

Use Cases

Public community research: collect a bounded sample of visible or active accounts with source-group provenance.

Cross-group analysis: export authorized public groups separately and join by numeric account ID while retaining each group's context.

Bot and moderation review: identify public bot labels, trust flags, restriction reasons, and message-author discovery paths for human review.

Audience sampling: compare the visible participant sample with distinct recent authors without claiming either is a complete current roster.

Structured export: load the stable sparse contract into JSON, CSV, Excel, a database, or an enrichment workflow.

Alternatives

Use Telegram Info Scraper when you already have identifiers and need entity details rather than group discovery. Use Telegram Chat Scraper for messages, reactions, topics, and media. Use Telegram Private Group Scraper only for a separately authorized authenticated content workflow.

Telegram's native client is better for occasional manual inspection. This Actor is useful for repeatable Dataset rows, bounded automation, API access, schedules, and cross-run provenance.

No public tool can reconstruct every hidden member, prove current membership from old authorship, or bypass private-group access.

Limits and Troubleshooting

  • Only a few listed members: enable Deep Search; Telegram may expose only a visible sample.
  • Fewer profiles than requested: the group may have fewer reachable accounts, history may repeat authors, or source work may end early.
  • Channel rejected: use a discussion group rather than a broadcast channel.
  • Group unreadable: verify the public username and remove invite or unrelated URL parts.
  • Long deep scan: lower max_results, narrow the operational window with a smaller job, and preserve completed Dataset batches.
  • Missing username or presence: the account may not publish it. Do not replace absence with a guess.

Keep the run ID when contacting support and compare the request, saved rows, group identity, and discovery paths.

Trust and Reliability

The design was validated against visible-list and message-author modes, minimum and larger result targets, URL variants, invalid inputs, account rotation, forced stop, 128 MiB Docker limits, Dataset quality, and margin. A new August 12, 2026 regression returned one listed member from the public example in 16.4 seconds.

Telegram remains the source of group identity, list visibility, account facts, and message history. The Actor reports what was reachable at processing time. Store run success does not prove every requested profile was available.

Collect only data you are authorized to process. Follow Telegram's terms, privacy and data-protection law, copyright, contractual restrictions, and retention duties.

Do not use member or author data for harassment, surveillance, doxxing, unsolicited outreach, sensitive profiling, or discriminatory decisions. A username, flag, presence state, or message-history appearance does not establish identity, consent, safety, or current membership.

Minimize retention, protect exports, honor deletion obligations, and verify consequential facts at the original Telegram surface.

Frequently Asked Questions

How can I scrape telegram group members?

Use a public username-addressable group, choose a result limit, and enable Deep Search when you need message-author discovery beyond the visible participant sample.

Can I export telegram members to csv?

Yes. Apify can export the default Dataset as CSV, JSON, Excel, XML, and other supported formats. Sparse fields remain empty where Telegram did not expose them.

Is the export a complete member roster?

No. Telegram can hide most of the list, and message authors are only the people who posted in scanned history. Silent members may remain unreachable.

Are message authors definitely current members?

No. They authored a message in the group history but may have left later. Retain found_in and interpret it correctly.

Are bots included?

Yes when discovered and publishable. type and bot_info distinguish available public bot facts.

Why is a field missing?

The field may not apply, may be private, or may not be returned in that response. The sparse contract avoids fabricating a value.

AgentX has a broad Actor catalog. Start with the three closest Telegram tools below, then browse the generated catalog by category.

Closest to this Actor:

Business and Market Intelligence

Jobs and Hiring

Social Media

Video, Transcripts and Downloads

E-Commerce and Retail

Classifieds and Automotive

Real Estate

Support and Community

Ask the AgentX team in the Telegram community with the Actor name, run ID, sanitized group URL, input mode, requested count, returned count, and discovery-path summary. Never post tokens or private identifiers.

AgentX is an Arcyton brand — arcyton.com.

Last Updated: August 12, 2026