Telegram Private Group Scraper
Pricing
from $0.27 / 1,000 results
Telegram Private Group Scraper
Use an authenticated Telegram user session to collect up to max_results accessible member profiles from one matched basic group or supergroup dialog. Optional Deep Search adds message-author discovery without bypassing Telegram access controls.
Pricing
from $0.27 / 1,000 results
Rating
5.0
(3)
Developer
AgentX
Maintained by CommunityActor stats
3
Bookmarked
111
Total users
5
Monthly active users
8 days ago
Last modified
Categories
Share
Telegram Private Group Scraper is a telegram private group scraper that exports up to a strict limit of 23-field member profiles visible to an authenticated Telegram user session. It reads one authorized group, deduplicates accounts by Telegram ID, and records whether each profile came from the participant list or reachable message history.
- Authorization belongs to the caller. Reuse a Telethon StringSession or scan a short-lived QR code with an account that already belongs to the group.
- Predictable group selection. Exact username or numeric-ID matches win; otherwise the shortest matching group title is selected and logged.
- Two read-only discovery paths. Read the visible participant list first and optionally add distinct message authors from reachable history.
- A strict financial boundary.
max_resultsis checked before another profile is accepted, so Dataset rows and Result events cannot exceed it.
Why Choose Telegram Private Group Scraper
Telegram Private Group Scraper is designed for authorized account-visible research where a public-group scraper cannot see the intended community. It uses the caller's session because a shared service account is not a member of the caller's private groups and cannot lawfully or technically inherit that access.
The standard path reads the group participant surface available to the authenticated account. When deep_search is enabled, the Actor also walks reachable messages and adds distinct user authors. That second path can broaden a sample when Telegram hides much of a supergroup's participant list, but it does not bypass access controls or reveal accounts absent from every accessible surface.
The runtime preserves provenance rather than presenting an ambiguous roster. found_in: "participants" means Telegram returned the account from the visible list. found_in: "messages" means the account authored a reachable message; it does not prove current membership. Every row repeats the group ID, title, and public username when available.
The redesigned collector removes a measured 36-query alphabet pass that produced no additional profiles, avoids one extra entity request per message author, and stops strictly at the requested profile count. It writes in batches of 50, charges result only after a successful Dataset push, and keeps unique accounts by numeric Telegram ID.
Quick Start Guide
Use an account whose owner knows about the run and already has legitimate access to the target group. A reusable session is the only unattended authentication path.
{"session": "YOUR_TELETHON_STRING_SESSION","password": "","group_match": "YOUR_AUTHORIZED_GROUP","deep_search": true,"max_results": 1}
If session is empty, the run prints a short-lived QR code. On Telegram mobile, open Settings, Devices, and Link Desktop Device, then scan within roughly 30 seconds. Up to three QR windows are attempted. When login succeeds, the generated StringSession is sent to the same account's Saved Messages; it is not printed as text in the run log.
An account with two-step verification may also require password. Treat both the password and StringSession as credentials. Never paste them into issues, logs you share, source code, or an unsecured automation. Revoke the Telegram device session immediately if either value may have been exposed.
After login, confirm the selected group title and numeric ID in the log. Exact public usernames and IDs are safest. A partial title selects the shortest matching title, which is deterministic but can still be the wrong group if the query is vague.
Input Parameters
Five inputs control authentication, group selection, discovery depth, and the strict output limit.
| Field | Type | Required | Behavior |
|---|---|---|---|
session | secret string | No | Reuses a Telethon StringSession; empty starts interactive QR login. |
password | secret string | No | Supplies Telegram two-step verification when Telegram requests it. |
group_match | string | Yes | Exact username/ID wins; otherwise the shortest accessible group title containing the text is chosen. |
deep_search | boolean | No | Adds distinct authors from reachable message history after the participant list. |
max_results | integer | No | Strict maximum unique profiles to write, minimum 1; defaults to 100 in runtime and the production prefill uses 1. |
Free-plan runs force deep_search off and cap max_results at 100. Paying runs retain the submitted Boolean and integer. No input can join a group, accept an invitation, send outreach, widen the account's permissions, select fields, or bypass Telegram visibility.
The Store prefill uses YOUR_AUTHORIZED_GROUP because no universal private group exists and no credential may be embedded in a public schema. Replace it with a group available to your own session before starting the run.
Output Data Schema
Each saved profile follows the same 23-field sparse contract. Telegram can omit public or account-visible facts, so null values are expected and are never replaced by guesses.
| Group | Fields | Meaning |
|---|---|---|
| Group provenance | group_id, group_username, group_title, found_in | Selected group and the path that produced the observation |
| Identity | id, username, usernames, source_url, first_name, last_name, type | Numeric account identity, active handles, public profile URL, names, and user-or-bot type |
| Account-visible facts | phone, last_seen, is_premium, is_verified, is_deleted, is_scam, is_fake, is_restricted, stories_hidden, premium_contact | Values Telegram exposes to the authenticated session at collection time |
| Processing | processor, processed_at | Actor attribution and UTC formatting timestamp |
{"group_id": 1013954462,"group_username": null,"group_title": "Authorized Research Group","found_in": "participants","id": 1036017898,"username": "example_member","usernames": ["example_member"],"source_url": "https://t.me/example_member","first_name": "Alex","last_name": null,"type": "user","phone": null,"last_seen": "recently","is_premium": true,"is_verified": false,"is_deleted": false,"is_scam": false,"is_fake": false,"is_restricted": false,"stories_hidden": null,"premium_contact": null,"processor": "https://apify.com/agentx/telegram-private-group-scraper","processed_at": "2026-08-12T12:00:00+00:00"}
Rows without a numeric ID or without both a first name and username are not published. Repeated observations across participant and message paths are deduplicated by ID, and the first accepted discovery path remains on the row.
Integration Examples
Actor ID L4SPW5ECJb9gP5aDT is used by the public API. Store the Apify token and Telegram credentials in separate managed secrets.
curl -X POST "https://api.apify.com/v2/acts/L4SPW5ECJb9gP5aDT/runs?maxTotalChargeUsd=0.02" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"session":"YOUR_TELETHON_STRING_SESSION","password":"","group_match":"YOUR_AUTHORIZED_GROUP","deep_search":true,"max_results":1}'
Fetch defaultDatasetId from the completed run and compare its item count with chargedEventCounts.result. The two counts should agree because the event is emitted only for successfully pushed profiles. When combining snapshots, deduplicate by id and retain processed_at; usernames, status, flags, visibility, and group membership can change.
For MCP, connect through the Apify MCP integration, inspect the current schema, and call agentx/telegram-private-group-scraper with the same input. An autonomous client must not invent a group query, reuse an unapproved session, enable Deep Search, or increase the limit without explicit authorization.
Pricing
The local pricing contract charges one Actor Start and one Result for each member profile successfully written to the default Dataset.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
| 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 |
At FREE-tier Result pricing, one delivered profile costs $0.01000 + 1 × $0.00080 = $0.01080; 100 delivered profiles cost $0.01000 + 100 × $0.00080 = $0.09000. A run returning no profiles creates no Result event but can still incur the Actor Start and separate platform usage.
max_results is a strict row and Result-event ceiling in the current runtime. Set maxTotalChargeUsd as an additional account-level guard, especially when a workflow can retry. Actual charges follow the published tier and events emitted at execution time.
Use Cases
Authorized community administration: create a bounded snapshot for access review, migration planning, or internal group operations with the account owner's knowledge.
Consent-based research: collect only the minimum account-visible fields needed for a documented research purpose, while preserving the selected group and discovery path.
Data-quality comparison: compare the visible participant list with reachable message authors without treating either population as a complete current roster.
Security response: review Telegram's own visible account flags as leads for human investigation, not as verified conclusions about a person.
Do not use exported profiles for unsolicited messaging, harassment, covert monitoring, sensitive-trait inference, hidden-control evasion, or resale of private-group membership.
Alternatives
Use Telegram Member Scraper when a public username-addressable group is sufficient and no user session should be supplied.
Use Telegram Chat Scraper when the needed unit is a public message rather than a member profile. Use Telegram Info Scraper when you need public entity metadata from known usernames or IDs.
A custom Telethon client provides maximum control but makes your team responsible for credential lifecycle, group selection, pagination, flood handling, output mapping, billing controls, and recovery. Manual review avoids automation but is difficult to reproduce and produces no stable Dataset or run evidence.
Any tool promising to reveal every hidden member exceeds what Telegram exposes. Compare alternatives by authorization model, output contract, strict result limits, provenance, session handling, and disclosure of incomplete visibility.
Limits and Troubleshooting
QR login times out. Start again and scan the code within 30 seconds, or use an existing StringSession. Add password only if Telegram requests two-step verification.
A session no longer works. Telegram device sessions can expire or be revoked. Clear the session, authenticate again, and replace the stored credential. Do not reuse a session with different Telegram API application credentials.
No group matches. Confirm that the signed-in account belongs to the group and use an exact public username or numeric ID when possible. A private group without a username can be matched by a distinctive title fragment or its dialog ID.
The wrong group is selected. A partial title chooses the shortest matching group title. Make the query more specific and verify the logged title and ID before processing results.
Fewer profiles are returned. Telegram may expose only a subset of participants. Enable Deep Search for authorized message-author discovery, but remember that non-posting hidden accounts remain unreachable.
A row came from messages. That observation proves reachable authorship, not current membership. Use found_in to keep message-derived accounts separate.
A field is null. Telegram privacy and account visibility determine values such as phone and presence. Null is not an extraction error by itself.
Trust and Reliability
The production contract is explicit about authentication, selection, output, billing, and visibility. Exact username or ID matches take precedence; partial titles select the shortest match. Profiles are deduplicated by numeric ID and accepted only until the strict maximum is reached.
Static acceptance covers the Actor file set, JSON schemas, Ruff, Mypy, Pyright, and an isolated no-network Docker harness for input normalization, free-tier rules, group selection, 23-field formatting, strict limiting, deduplication, and result event usage. A genuine success run cannot be universal because it requires a caller-owned Telegram session and an authorized group.
The Actor is not endorsed, certified, or audited by Telegram, Telethon, Apify, or a privacy regulator. Telegram remains authoritative for returned entities, visibility, status, and flags. Partial output should never be interpreted as proof that an unseen account is absent.
Legal and Compliance
Use this Actor only with the account owner's knowledge and for groups and purposes you are authorized to process. Define a lawful basis, minimum necessary fields, access controls, retention period, deletion process, and incident response before collection.
Account-visible profile data can still be personal data. Telegram's API terms and privacy documentation remain applicable. Do not evade platform controls, republish sensitive membership, or treat Telegram labels as independent factual findings.
A StringSession can allow another party to act as the account. Restrict access to Actor inputs, runs, logs, and Saved Messages. Revoke the linked device immediately after suspected disclosure. This section is operational guidance, not legal advice.
Frequently Asked Questions
How can I scrape private telegram group members?
Use a Telegram session belonging to an informed account owner who already has legitimate access, provide a distinctive group match, start with one result, and collect only profiles Telegram exposes to that account.
Is there a telegram private group members api?
Yes. Actor ID L4SPW5ECJb9gP5aDT exposes this workflow through Apify's REST API and MCP, but each successful run still requires an authorized Telegram session and group.
Does Deep Search reveal every hidden member?
No. It adds distinct authors from reachable messages. It cannot discover hidden members who never authored an accessible message and are absent from the visible participant list.
Can a message author be a former member?
Yes. found_in: "messages" is an authorship observation from reachable history, not a guarantee of current group membership.
Can the Actor exceed max_results?
No in the current runtime. The collection state checks the requested count before accepting another unique profile, including profiles read from a larger Telegram page.
How do I export members from private telegram group dialogs?
Sign in with an account that already belongs to the group, put a distinctive title fragment, @username, or numeric ID in group_match, and read the Dataset. The visible participant list is collected first; turn on Deep Search to add distinct message authors where Telegram hides the list. Nothing here joins a group or reveals accounts the group does not expose to that account.
Why does the public prefill contain a placeholder?
There is no universal private group or safe public session. Replace YOUR_AUTHORIZED_GROUP and provide your own secret session or complete QR authentication interactively.
Is it safe to share a StringSession with support?
No. Never share it. Revoke the Telegram device session if it was exposed, and provide only a run ID plus sanitized, non-secret diagnostics.
Related AgentX Actors
These AgentX Actors cover adjacent public Telegram profiles, messages, and entity metadata without duplicating this authenticated private-group workflow.
- Telegram Member Scraper — export member profiles from public username-addressable groups without supplying a caller session.
- Telegram Chat Scraper — collect public Telegram message records with content provenance.
- Telegram Info Scraper — resolve known public Telegram usernames or IDs into entity metadata.
Business and Market Intelligence
- Google Keyword Trends — Google Trends keyword interest, compared five at a time
- Google Trends Scraper — Google Trends trending searches
- Google Maps Store Scraper — Google Maps business listings
- LinkedIn Company Lookup — LinkedIn company records
- LinkedIn Profile Lookup — LinkedIn profile records
- Weather Forecast API — forecast and historical weather data
Jobs and Hiring
- All Jobs Scraper — multi-platform job listings
- Bayt Jobs Scraper — Bayt job listings
- Glassdoor Jobs Scraper — Glassdoor job listings
- Indeed Jobs Scraper — Indeed job listings
- JobStreet Company Profile — JobStreet employer records
- Jooble Jobs Scraper — Jooble job listings
- LinkedIn Jobs Scraper — LinkedIn job listings
- Naukri Jobs Scraper — Naukri job listings
- Talent Jobs Scraper — Talent.com job listings
- ZipRecruiter Jobs Scraper — ZipRecruiter job listings
Social Media
- Instagram Creator Scraper — Instagram creator profiles
- Instagram Reels Scraper — Instagram Reels metadata
- Instagram Trending Scraper — Instagram trending content
- Medium Scraper — Medium articles
- Medium Profile Scraper — Medium author profiles
- Reddit Profile Scraper — Reddit user profiles
- Reddit Viral Scraper — Reddit viral posts
- SubReddit Info Scraper — subreddit metadata
- Subreddit Members Scraper — subreddit member lists
- Subreddit Posts Scraper — subreddit post feeds
- Telegram Chat Scraper — Telegram chat messages
- Telegram Info Scraper — Telegram channel metadata
- Telegram Member Adder — Telegram group membership management
- Telegram Member Scraper — Telegram group members
- TikTok Creator API — TikTok creator profiles
- TikTok User Lookup — TikTok account records
- X Twitter Community API — X community data
- X Twitter Profile Lookup — X profile records
- YouTube Creator Email Scraper — YouTube creator contact data
Video, Transcripts and Downloads
- All Video Scraper — multi-platform video metadata
- Video Transcript — multi-platform transcripts
- Video Captions Downloader — caption files
- Video to Social Post — video repurposed into social copy
- YouTube Transcript — YouTube transcripts
- TikTok Transcript — TikTok transcripts
- X Twitter Transcript — X video transcripts
- Facebook Transcript — Facebook video transcripts
- Bilibili Transcript — Bilibili transcripts
- Dailymotion Transcript — Dailymotion transcripts
- Rutube Transcript — Rutube transcripts
- Loom Transcript — Loom transcripts
- Wistia Transcript — Wistia transcripts
- Instagram Reels Downloader — Reels downloads
- Kick Clip Downloader — Kick clip downloads
- Linkedin Video Downloader — LinkedIn video downloads
- Pinterest Video Downloader — Pinterest video downloads
- Reddit Video Downloader — Reddit video downloads
- Snapchat Video Downloader — Snapchat video downloads
- TED Talk Downloader — TED talk downloads
- TikTok Live Downloader — TikTok live downloads
- Twitch VOD Downloader — Twitch VOD downloads
- Zoom Recording Downloader — Zoom recording downloads
E-Commerce and Retail
- All Shopping Scraper — multi-platform product data
- AliExpress Product Scraper — AliExpress products
- Amazon Storefront Scraper — Amazon Brand Store pages
- Bol Product Scraper — Bol.com products
- eBay Seller Leads API — eBay seller records
- Hepsiburada Product Scraper — Hepsiburada products
- Kakaku Product Scraper — Kakaku.com products
- Rakuten Product Scraper — Rakuten products
Classifieds and Automotive
- All Vehicle Scraper — multi-platform vehicle listings
- AutoTrader Vehicle Search — AutoTrader US listings
- AutoTrader UK Vehicle Search — AutoTrader UK listings
Real Estate
- All Property Scraper — multi-platform property listings
- Homes Property Scraper — Homes.com listings
- MagicBricks Property Scraper — MagicBricks listings
- NoBroker Property Scraper — NoBroker listings
- Property24 Property Scraper — Property24 listings
- Realtor Property Scraper — Realtor.com listings
- Zillow Property Scraper — Zillow listings
Support and Community
Ask the AgentX team in the Telegram community with the Actor name, run ID, UTC time, sanitized group query, selected group ID, deep_search, requested count, returned count, and relevant non-secret logs. Never post a StringSession, QR code, two-step password, API token, private group title, or member records.
AgentX is an Arcyton brand — arcyton.com.
Last Updated: August 12, 2026