Newsletter Lead Finder: Substack, Ghost & Beehiiv Leads
Pricing
from $0.60 / 1,000 newsletter leads
Newsletter Lead Finder: Substack, Ghost & Beehiiv Leads
Find newsletter creators for sponsorships, outreach and partnerships. Search Substack and Ghost by keyword or category, or look up any newsletter URL. Subscribers, paid tier, cadence, socials, public emails and lead score. No login.
Pricing
from $0.60 / 1,000 newsletter leads
Rating
0.0
(0)
Developer
Jeremy Lam
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Find newsletter creators to sponsor, pitch, partner with or recruit. Search Substack and Ghost by keyword or category leaderboard, or bulk-enrich any newsletter URL (Substack, Ghost, Beehiiv, Kit, Buttondown, WordPress…). Every result is one clean lead row per newsletter: subscribers, paid tier and prices, posting cadence, last post date, author, every public social profile, publicly listed contact email, recommendation graph and a 0–100 lead score with reasons.
No login, no API key, no proxy needed. $0.90 per 1,000 leads, no start fee, and newsletters you already received are never charged again.
Why this one
| Newsletter Lead Finder | Typical Substack scrapers | |
|---|---|---|
| Platforms | Substack + Ghost directories, plus any newsletter URL (Beehiiv, Kit, Buttondown, WordPress, custom domains) in the same row format | Substack only |
| Discovery | Keyword search, Substack category leaderboards (top / paid / trending, up to 525 each), Ghost Explore sections (Top, Top Revenue, Trending, 30+ topics), bulk URLs & @handles | usually one mode |
| Repeat runs | Since-last-run memory — never pay twice for the same newsletter | re-charged every run |
| Filters before you pay | subscribers min/max, paid / free, active within N days, language, must have email/socials, exclude words, min score | few |
| Lead quality | Cadence (posts/month, last post, days since), lead score with plain-English reasons, contributors, recommendations | raw fields |
| Price | $0.0009 → $0.0006 per lead, no start fee | $0.001–$0.015 + start fees up to $0.10 |
Quick start
{ "keywords": ["fintech"], "maxResults": 20, "activeWithinDays": 90 }
More examples:
- Top paid Technology newsletters with a public email:
{"categories": ["Technology"], "leaderboard": "paid", "requireContact": "email"} - Affordable micro-newsletters for sponsorships:
{"keywords": ["running", "marathon"], "minSubscribers": 1000, "maxSubscribers": 20000, "activeWithinDays": 30} - Ghost newsletters earning money:
{"categories": ["ghost:Top Revenue"]} - Enrich your own list:
{"urls": ["https://www.lennysnewsletter.com", "www.404media.co", "https://www.therundown.ai", "@noahpinion"]} - Snowball a niche: add
"includeRecommendations": trueand feed the recommended URLs into the next run.
Input
| Field | What it does |
|---|---|
keywords | Topics or names. Substack: Substack's own search (~100 per keyword). Ghost: matched against the Ghost Explore "Top" directory (Ghost has no search). With categories, keywords narrow the category results. crypto* = prefix. |
categories | Substack categories (Technology, Business, Finance, Culture, Crypto, Sports, Health & Wellness, …) and Ghost sections (Top, Top Revenue, Most Popular, Trending, New, Programming, …). Loose matching; prefix substack: or ghost: to target one. Unknown names fail fast with the full list. |
urls | Up to 1,000 publication URLs, bare domains or Substack @handles. Discovery filters are not applied to URLs you list (contact and score filters are). |
platforms | Which directories keywords/categories search (Substack, Ghost). |
leaderboard | Substack ranking: all (top by subscribers), paid (bestsellers) or trending. |
minSubscribers / maxSubscribers | Public subscriber count bounds. Hidden counts are excluded when a minimum is set. |
monetization | any, paid, free. |
activeWithinDays | Latest public post must be this recent. |
languages | e.g. ["en"]. Unknown language is kept. |
requireContact | none, social, email, socialOrEmail. |
excludeKeywords, minLeadScore | Drop unwanted leads before you pay. |
includeRecentPosts, recentPostsLimit | Latest post titles/links/dates (default on, 5). |
includeContactEmails | Read the publication's own About/Contact page for public emails and socials (default on). |
includeRecommendations | Newsletters each lead publicly recommends (default off). |
maxResults | New leads per run (default 50, max 1,000). |
sinceLastRun | Skip newsletters already delivered for the same settings (default on). stateKey shares memory across searches. |
notifyWebhookUrl | https URL (Slack/Discord/Zapier/Make/your API) that receives a digest when a run finds new leads. |
Categories you can use
Substack: Culture, Technology, Business, U.S. Politics, Finance, Food & Drink, Podcasts, Sports, Art & Illustration, World Politics, Health Politics, News, Fashion & Beauty, Music, Faith & Spirituality, Climate & Environment, Science, Literature, Fiction, Health & Wellness, Design, Travel, Parenting, Philosophy, Comics, International, Crypto, History, Humor, Education, Film & TV, Home & Garden, Games.
Ghost Explore: Top, Top Revenue, Most Popular, Trending, New, Social Web, Personal, Technology, Business, Programming, News, Finance, Culture, Travel, Education, Art, Faith & Spirituality, Health & wellness, Literature, Sport, Entertainment, Productivity, Design, Food & Drink, Music, Crypto, Science, Fiction, Gaming, Nature & Outdoors, House & Home, Fashion & Beauty, Podcasts, Gear & Gadgets, Parenting, History, Climate, YouTubers.
A plain name (e.g. Technology) searches every platform that has it; substack:Finance or ghost:Top Revenue targets one. Matching ignores case and punctuation.
Output
One row per newsletter (type: "newsletter", charged) with: name, url, domain, platform, description, category, leaderboardRank, language, authorName, authorHandle, authorBio, authorProfileUrl, contributors[], subscriberCount, subscriberCountText, audienceTier, paidSubscriberTier, bestsellerTier, isPaid, paidPlans[], monthlyPrice, annualPrice, currency, hasPodcast, createdAt, firstPostDate, lastPostDate, daysSinceLastPost, postsLast30Days, postsLast90Days, postsPerMonth, cadence, recentPosts[], socialLinks (x, linkedin, instagram, youtube, tiktok, facebook, threads, bluesky, mastodon, website, other[]), socialLinksCount, publicContactEmails[], aboutUrl, subscribeUrl, rssUrl, recommendationCount, recommendations[], leadScore, scoreReasons[], matchedBy, retrievedAt.
Free rows: error (one URL couldn't be read), already-delivered (a URL you listed was delivered in an earlier run — set sinceLastRun: false to refresh), no-match (explains which filter removed what). The run summary (OUTPUT record) lists per-source counts, skip reasons, charges and notes. Dataset views: Leads and Contacts.
Example row (trimmed):
{"type": "newsletter", "platform": "substack", "name": "SemiAnalysis", "url": "https://newsletter.semianalysis.com", "authorName": "Dylan Patel", "subscriberCount": 325000, "isPaid": true, "monthlyPrice": 50, "cadence": "several per week", "lastPostDate": "2026-10-23", "postsPerMonth": 9.43, "publicContactEmails": ["sales@semianalysis.com"], "leadScore": 95, "scoreReasons": ["+30 audience 325K+", "+20 posted 6d ago", "+10 9.43 posts/month", "+15 public contact email", "+5 2 social profiles", "+8 runs a paid tier", "+5 bestseller tier 10000+", "+2 recommends other newsletters"], "socialLinks": {"x": "https://x.com/dylan522p", "website": "https://www.semianalysis.com"}}
Pricing
Pay per event newsletter-lead: $0.0009 (Free plan), $0.0008 (Starter), $0.0007 (Scale), $0.0006 (Business) per new lead. No start fee. Filtered-out, already-delivered, no-match and error rows are free. Set Maximum cost per run and the Actor stops cleanly at your limit (and tells you so); since-last-run memory means re-running picks up where it left off.
Data sources & compliance
Only public, no-login pages and endpoints: Substack's public search, category leaderboards, publication About pages and public archives/profiles; Ghost Explore (explore.ghost.org) directory pages and each site's public RSS and /.well-known/recommendations.json; any site's homepage, RSS/Atom feed, sitemap and About/Contact page. robots.txt is respected on every non-Substack site. No paywalled content is read. Emails are only those the publisher prints publicly on its own site (mailto links or visible text) — nothing guessed, no search-engine dorking, no private data. Requests are rate-limited per host. You are responsible for using leads in line with anti-spam law (CAN-SPAM, GDPR/PECR): personalise, identify yourself and honour opt-outs.
Limits & tips
- Substack shows a rounded public lower bound for subscribers ("Over 19,000"); Ghost shows member counts only when the site opts in. Beehiiv/other sites don't publish counts (
subscriberCount: null). - Ghost and other sites rarely expose paid status, so
monetization: "paid"keeps only confirmed paid ones (Substack, Ghost Top Revenue, Ghost/Beehiiv upgrade links). - Beehiiv has no public directory — add Beehiiv newsletters via
urls. If a Beehiiv site disables RSS, recent posts come from its public sitemap. - Substack writers who moved to another platform are followed to their current site automatically.
- Substack search returns at most ~100 profiles per keyword — use several synonyms (e.g.
fintech,payments,banking) or categories for bigger lists. The run tells you when every source was exhausted. - Substack rate-limits busy clients. The Actor stays polite and retries; anything still rate-limited is skipped free (not marked as delivered) and picked up by your next run.
Changelog
- 0.1 — first release: Substack search + leaderboards (top/paid/trending), Ghost Explore, bulk URL enrichment (Beehiiv/Kit/Buttondown/WordPress), since-last-run, lead score, recommendations, webhook.