Community research on Reddit and Telegram: map a niche in a week
List the subreddits and public Telegram channels in your niche, fetch their size, measure activity and engagement per post, then read the top threads and code recurring pain points. Mapping 15 subreddits and 10 channels and refreshing weekly is about 565 credits a month, roughly $1.06 on the $47 pack. Judge communities by engagement per member, not by member count.
Every niche has a handful of communities where buyers actually talk. On Reddit they are subreddits; in crypto, fintech, gaming and many non-English markets they are public Telegram channels. A community map tells you which ones are alive, how big they really are, and what their members keep asking about. You can build one in a week.
For a Reddit-only audience research workflow, see GummySearch alternatives. For the ways to collect Telegram channel posts, see scraping public Telegram channels. This page combines both into one map.
Who does this
- Founders and product managers validating a problem before building.
- UX researchers recruiting language and themes for interviews.
- Community and growth marketers choosing where to show up.
- Market analysts sizing interest in a category across countries.
The data, step by step
| Step | Platform | Endpoint | Credits |
|---|---|---|---|
| 1. Find communities: threads on your topic, and their subreddits | reddit search API | 1 per page | |
| 2. Find public channels mentioned on the web | google search API | 1 | |
| 3. Size each subreddit | reddit subreddit details API | 1 | |
| 4. Size each channel | Telegram | telegram channel API | 1 |
| 5. Top posts of the week | reddit subreddit API | 1 per page | |
| 6. Latest channel posts with views | Telegram | telegram channel posts API | 1 per page |
| 7. Read the threads | reddit post comments API | 1 | |
| 8. Search inside one subreddit | reddit subreddit search API | 1 |
Optional extra sources with the same approach: X communities with twitter community API and twitter community tweets API, and public Facebook groups with facebook group posts API.
Worked example: one niche, one month
- Map once: 15 subreddit details + 10 channel details = 25 credits.
- Each week: 15 subreddits × 2 pages of top posts = 30; 10 channels × 3 pages of posts = 30; comments on the top 5 threads in each subreddit = 75. That is 135 credits a week.
- Four weeks: 540. Month total: 565 credits, about $1.06 on the $47 pack.
Discovery searches add a few credits more. The 100 free credits are enough to map the niche and read the first week.
Health metrics: is anyone there?
Member counts are the least useful number. Old subreddits keep their subscribers after they go quiet, and Telegram subscriber counts can be padded. Use these instead:
| Metric | Formula | What it tells you |
|---|---|---|
| Activity | posts in the last 7 days / 7 | Whether the community is alive |
| Depth (Reddit) | median comments on the week's top 25 posts | Whether people discuss or just scroll |
| Engagement per member (Reddit) | depth / subscribers × 10,000 | Compares small and large subreddits fairly |
| View rate (Telegram) | median views of the last 20 posts / subscribers | Real reach of a channel |
| Consistency (Telegram) | std dev of views / mean views | Very low variation can mean bought views |
Rank communities on engagement per member and view rate. Look closely at any channel that is an outlier in either direction compared with the others in your map.
Telegram view rate in code
import os, statistics, requests
KEY = os.environ["SCRAPEIO_API_KEY"]
H = {"x-api-key": KEY}
def get(path, **p):
return requests.get("https://scrapeio.com" + path, params=p, headers=H, timeout=60).json()["data"]
for handle in ["durov", "telegram"]:
ch = get("/v1/telegram/channel", handle=handle)
posts, cursor = [], None
while len(posts) < 20:
page = get("/v1/telegram/channel/posts", handle=handle, **({"cursor": cursor} if cursor else {}))
posts += page["items"]
cursor = page.get("cursor")
if not page.get("has_more"):
break
views = [p["plays"] for p in posts[:20] if p.get("plays")]
if views and ch.get("followers"):
rate = statistics.median(views) / ch["followers"]
cv = statistics.pstdev(views) / statistics.mean(views)
print(handle, ch["followers"], f"view rate {rate:.1%}", f"variation {cv:.2f}")
Telegram post views arrive in the standard plays field and subscribers in followers, the same names used on every other platform.
From threads to pain points
- Pull the week's top posts and their comments from each live community.
- Write a codebook of 8 to 12 codes before you read, for example "setup is confusing", "fees", "trust", "missing feature", "switching from X". Add codes only when three items need one.
- Tag each post and top-level comment with at most two codes.
- Pain score per code = mentions × average upvotes of those items, normalized to the largest code. Frequency alone overweights small, chatty communities.
- Keep two or three paraphrased examples per code. Do not quote usernames.
Pitfalls
- Moderator effects. Some subreddits remove certain topics. Absence of a complaint can mean a rule, not satisfaction. Read the rules on the subreddit details.
- Language. Many Telegram channels in a niche are not in English. Translate before coding, or the map is only of English speakers.
- Channels versus groups. Public channels are broadcast; discussion often happens in linked groups. Measure what is public and say so.
- Respect the community. Research, do not raid. Do not post into communities you studied to sell, and report aggregates rather than people.
Run it from an AI agent
claude mcp add --transport http scrapeio https://scrapeio.com/mcp --header "x-api-key: $SCRAPEIO_API_KEY"
Then ask: "Find the subreddits where people discuss budgeting apps using reddit_search. For the top 8, get reddit_subreddit_details and one page of reddit_subreddit top this week. Compute median comments per post and engagement per 10,000 members, and rank them in a table with links. Then read the 3 most discussed threads and list recurring complaints." Tools are on the Reddit MCP server and Telegram MCP server pages.
How to do it with ScrapeIO
Reddit search, subreddit details and posts, comments, Telegram channels and posts, X communities and Facebook groups are all behind one key at 1 credit per call, with lists returned as data.items and data.cursor everywhere. A full niche map with a month of weekly refreshes costs about a dollar.
100 free credits, no card. Credits never expire.
Get API key