Reddit Trends Scraper With Author Contact Leads avatar

Reddit Trends Scraper With Author Contact Leads

Pricing

Pay per usage

Go to Apify Store
Reddit Trends Scraper With Author Contact Leads

Reddit Trends Scraper With Author Contact Leads

Reddit Trends Scraper provides clean data on trending Reddit topics and discussions. Track popular posts, engagement patterns, and subreddit activity to uncover insights for marketing, research, and content planning.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

SimpleAPI

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Reddit Trends Scraper With Author Contact Leads turns a subreddit, user, keyword, or post URL into a lead list: every trending post paired with its author's real authority signals — karma, account age, verified/gold status, and a verified-email reachability flag — plus a best-effort mined email or external link from the author's public bio. It's built for growth and outreach teams sourcing leads from active Reddit communities, community managers assessing whether high-engagement posters are established or throwaway accounts, and researchers who need a reachability signal, not just a username. No Reddit login is required. Every section below documents an input, an output field, or exactly how the authority and contact-mining coverage works.

This Actor scrapes Reddit's old.reddit.com listing pages for trending posts from a subreddit, user, keyword search, or direct URL, then enriches each post's author via their public /user/<name>/about.json profile — adding karma, account age, and a verified-email flag — and separately attempts to mine an email or external link from the author's public bio text.

Key capabilities, read from the source:

  • Two distinct signals, kept honestly separate. authorHasVerifiedEmail (from the reliable about.json profile) is the trustworthy reachability signal; authorContactEmail/authorContactLinks (best-effort mined from bio text) is a separate, much lower-coverage field — the schema explicitly warns to expect "low single-digit percent email coverage" on the mined field and treats the verified-email flag as the real signal.
  • A fixed proxy trust-bug, documented in the source itself. resolve_proxy_url()'s own comment states this fixes a bug where an earlier version ignored the user's proxy choice entirely — this Actor now genuinely honors an explicit apifyProxyGroups/proxyUrls setting, defaulting to RESIDENTIAL only when nothing more specific was requested, since Reddit hard-blocks datacenter IPs.
  • Per-author caching, with an explicit lookup cap. maxAuthorLookups bounds total unique author profile fetches for a large run; authors beyond the cap still appear as post rows, just without enrichment — a repeat author within the cap costs one lookup regardless of how many posts they appear in.
  • Reachable-only output filter. contactsOnly keeps only rows where the author is genuinely reachable — a mined email, a mined external link, or a verified-email account — dropping everything else before it's charged.
  • Flexible source resolution. build_reddit_url() accepts a full URL, u/username, r/subreddit, or a bare keyword and resolves each to the correct old.reddit.com listing or search URL automatically.
  • post_result-charged rows, not row_result. This Actor's charged event is named post_result — distinct from the row_result naming convention used by most other Actors in this catalogue.

Every field below is read directly from the row assembly in main() and author_enrich.py's build_author_fields() — the dataset's default view surfaces all 26 as table columns.

Post fields

FieldExample ValueNotes
title / postUrlpost title / link
upvotes / comments342 / 58
subreddit / subredditUrl / subredditTypecommunity identity
author / authorProfileusername / profile URL
postTimeReddit's own relative/absolute time

Author authority fields (from about.json)

FieldExample ValueNotes
authorFound / authorSourcetrue / "about.json"Whether enrichment succeeded and via which path
authorTotalKarma / authorLinkKarma / authorCommentKarma45000 / 30000 / 15000
authorCreatedAt / authorAccountAgeDaysISO date / 1825
authorIsVerified / authorIsGold / authorIsMod / authorIsEmployeebooleansReddit's own account badges
authorHasVerifiedEmailtrueThe reliable reachability signal — near-100% coverage when enrichment succeeds

Contact-mining fields (best-effort, low coverage)

FieldExample ValueNotes
authorBiopublic bio text
authorContactEmailjane@example.com or nullMined from bio text; expect low single-digit percent coverage, null when none found — never guessed
authorContactLinksarray of URLsExternal links found in the bio

Why not build this yourself?

Reddit blocks datacenter IPs outright for its old.reddit.com surface, so a scraper without residential proxy support fails immediately regardless of how well the HTML parsing is built — this Actor's source explicitly documents fixing a prior version's bug where the user's own proxy choice was silently ignored, defaulting to residential only, which is exactly the kind of subtle correctness bug that's easy to ship and hard to notice until a run mysteriously fails. Separately, Reddit doesn't expose email addresses on-platform at all, so any "contact email" field is necessarily a best-effort bio-text mining exercise with inherently low coverage — this Actor is explicit about that limitation in its own schema copy rather than implying reliable email coverage, and provides the genuinely reliable authorHasVerifiedEmail flag as the real reachability signal instead.

Growth and outreach lead generation

Search a niche subreddit or keyword, turn on contactsOnly, and get a filtered list of authors who are either verified-email accounts or have a mined contact point — a pre-qualified lead list rather than a raw post dump.

Community and influencer assessment

Use authorTotalKarma and authorAccountAgeDays alongside authorIsVerified/authorIsGold to distinguish established, credible posters from newer or throwaway accounts before deciding who's worth engaging.

Market and sentiment research with reachability

Scrape a topic's trending posts and use authorHasVerifiedEmail to identify which posters could plausibly be reached for a follow-up interview or survey.

AI agents and lead-scoring pipelines

Because authorFound/authorSource disclose exactly when enrichment succeeded or fell through, an agent can weight lead quality by enrichment confidence rather than trusting every row equally.

🔼 Input sample

ParameterRequiredTypeDescriptionExample Value
startUrlsYesarraySubreddit URLs, r/subreddit, u/username, full post/user URLs, or plain keywords.["https://old.reddit.com/r/startups/"]
sortByNostring enumhot, new, top, rising, controversial. Default "hot"."top"
maxLeadsNointegerPosts to collect per source. Default 10.50
enrichAuthorsNobooleanFetch author authority signals via about.json. Default true.true
maxAuthorLookupsNointegerCap on unique author lookups per run. 0 = unlimited. Default 0.100
extractContactsNobooleanMine an email/links from the author's public bio. Best-effort, low coverage. Default true.true
emailDomainFilterNoarrayOnly keep a mined email ending in one of these domains. Empty = accept any.["gmail.com"]
contactsOnlyNobooleanOnly emit rows with a genuinely reachable author. Default false.true
proxyConfigurationNoobjectDefaults to RESIDENTIAL; an explicit group you set is honored.{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}
{
"startUrls": ["https://old.reddit.com/r/startups/"],
"sortBy": "top",
"maxLeads": 50,
"enrichAuthors": true,
"contactsOnly": true
}

Common pitfall: this Actor's charged event is named post_result, not row_result — if you're monitoring costs across a catalogue of Actors that mostly use row_result, check for this Actor's distinct event name in your cost breakdown rather than assuming the naming is uniform.

🔽 Output sample

Output is one JSON row per post-author pair, pushed to the run's default dataset and charged as one post_result event per row.

{
"title": "How we grew to 10k users without paid ads",
"postUrl": "https://reddit.com/r/startups/comments/1abcde/how_we_grew/",
"upvotes": 342,
"comments": 58,
"subreddit": "startups",
"author": "example_founder",
"authorProfile": "https://reddit.com/user/example_founder",
"authorFound": true,
"authorSource": "about.json",
"authorTotalKarma": 45000,
"authorAccountAgeDays": 1825,
"authorIsVerified": false,
"authorHasVerifiedEmail": true,
"authorBio": "Founder @ example.com",
"authorContactEmail": null,
"authorContactLinks": ["https://example.com"],
"scrapedAt": "2026-07-26T09:00:00Z"
}

How do you filter and target specific leads?

Reachability, not just activity, is the real qualifying filter. contactsOnly is the highest-leverage input here — turning it on collapses the output to authors you can plausibly reach, rather than every post author regardless of whether any contact signal exists.

Domain filtering narrows mined emails to your use case. emailDomainFilter is useful when you specifically want personal-domain contacts (e.g. gmail.com) or are trying to exclude noreply/corporate addresses that happen to appear in bio text.

Lookup caps control cost on very active sources. maxAuthorLookups matters most on a large, high-volume subreddit — set it explicitly if you want to bound enrichment cost while still collecting the full post volume in maxLeads.

Three real examples:

{ "startUrls": ["r/startups", "r/SaaS"], "sortBy": "top", "maxLeads": 50, "contactsOnly": true }

Pre-qualified reachable-leads-only sweep across two founder-heavy subreddits.

{ "startUrls": ["indie hacker"], "sortBy": "new", "maxLeads": 100, "emailDomainFilter": ["gmail.com"] }

Broad keyword search filtered to personal-domain mined emails only.

{ "startUrls": ["r/marketing"], "enrichAuthors": true, "extractContacts": false, "maxLeads": 200 }

Authority-signal-only run at higher volume, skipping the lower-value bio-mining step.

▶️ Want to try other scrapers?

ScraperWhat it extracts
Reddit Posts Scraper with Author Media DetailsFull post metadata and media classification
Instagram Outreach Lead ScorerProfiles scored for outreach fit
LinkedIn Profile Contact ExtractorContact details parsed from a profile
Twitter/X Reply Scraper with Replier Contact LeadsReply-thread leads with contact mining

How to extract Reddit lead data programmatically

This Actor runs as a standard Apify Actor call — one API call in, structured JSON dataset out, using your Apify API token.

Python example

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("<YOUR_USERNAME>/reddit-trends-scraper-with-author-contact-leads").call(run_input={
"startUrls": ["https://old.reddit.com/r/startups/"],
"sortBy": "top",
"contactsOnly": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["author"], item["authorHasVerifiedEmail"], item.get("authorContactEmail"))

Export to spreadsheets or CRM

Every dataset supports one-click CSV/Excel export from the Apify Console. Map author, authorContactEmail, and authorContactLinks directly into a CRM's lead fields.

Scraping publicly visible Reddit posts and public profile bios is generally lawful, since this data is published for anyone to view without logging in — the underlying legal question was tested directly in hiQ Labs v. LinkedIn (9th Cir.), which held that scraping public, non-password-protected data does not violate the U.S. Computer Fraud and Abuse Act. Mined contact emails and Reddit usernames can constitute personal data under GDPR/CCPA when tied to an identifiable individual, so treat outreach and storage accordingly, and be aware that unsolicited email outreach is separately regulated in most jurisdictions (CAN-SPAM, GDPR). Consult legal counsel before using this data for outbound campaigns.

❓ FAQ

What's the difference between authorHasVerifiedEmail and authorContactEmail?

authorHasVerifiedEmail is a reliable boolean from Reddit's own about.json profile — near-100% coverage when enrichment succeeds, and it's the trustworthy reachability signal. authorContactEmail is a completely separate, best-effort attempt to mine an actual email address from the author's public bio text — coverage is genuinely low (single-digit percent) since Reddit doesn't expose emails on-platform at all.

Why would an author lack enrichment even with enrichAuthors on?

Either the author is a non-user placeholder (like [deleted]), or maxAuthorLookups was reached before this author's turn — authorFound: false or a null authorSource on the row tells you which case applies.

Does contactsOnly filter out unenriched authors too?

Yes — a row only survives contactsOnly if it has a mined email, a mined link, or authorHasVerifiedEmail: true. An author with no enrichment at all (enrichment off, or lookup cap reached) won't have any of those signals and gets dropped.

Do I need a Reddit account to use this?

No — post scraping uses old.reddit.com's public listing pages, and author enrichment uses the public /user/<name>/about.json endpoint; neither requires a login.

Why does Reddit require a residential proxy specifically?

Reddit hard-blocks datacenter IPs on old.reddit.com — a documented, tested behavior this Actor's source addresses directly, defaulting to the RESIDENTIAL Apify proxy group unless you explicitly request a different one.

How does this compare to other lead-generation scrapers?

As observed on the Apify Store on 2026-07-26, automation-lab/website-contact-finder and scraplib/google-maps-lead-generation both mine contact data, but from websites and Google Maps listings respectively rather than Reddit post authors with karma-based authority signals — that combination is specific to this Actor.

Does this work with AI agent frameworks?

Yes — call it as a standard HTTP endpoint via the Apify API from any agent framework capable of making an API call; there's no MCP-specific integration for this Actor.

Conclusion

Reddit Trends Scraper With Author Contact Leads turns trending Reddit posts into a lead list — real authority signals from Reddit's own profile data, honestly separated from low-coverage, best-effort bio-mined contact info. It fits outreach, community assessment, and research workflows that need a reachability signal attached to every author. Start a run from the Apify Console or the Apify API with your target subreddits or keywords to get your first lead export.