Substack Newsletter Sponsor Lead Extractor
Pricing
from $2.00 / 1,000 sponsor-ready newsletter leads
Substack Newsletter Sponsor Lead Extractor
Substack newsletter refs (URLs, slugs, custom domains, feed URLs) become sponsor-ready author leads: the public RSS contact email (itunes:owner + webMaster), MX/DNS-verified emails, phones, socials, tech stack, A-D lead score, sponsor-readiness signal, newlyLaunched flag. No keys, no proxy, per-s
Pricing
from $2.00 / 1,000 sponsor-ready newsletter leads
Rating
0.0
(0)
Developer
Virtual Footprint LLC
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Turn Substack newsletter references into sponsor-ready author sales leads — the
author's publicly declared contact email, MX/DNS-verified emails + phones +
socials + tech stack from the newsletter's own site, an A–D lead score, a
sponsor-readiness signal (publishing recency + frequency + catalog size), and a
newlyLaunched flag. Clean, deduped, and billed per successful contact.
Newsletter sponsorship is a booming B2B market — agencies and brands actively buy
"find newsletters to sponsor" lists. This actor is the newsletter twin of our
Podcast Sponsor-Ready Host Lead Extractor: same public-RSS <itunes:owner>
email pattern, same shared enrichment layer, zero new infrastructure.
Why this actor (not another content scraper)
Every other Substack actor on the Apify Store (digispruce/substack-scraper,
scraper_guru/substack-scraper, …) sells raw post content. None turn a
newsletter into a sponsorship sales lead:
- the author's publicly declared contact email from the RSS feed
(
<itunes:owner>/<itunes:email>+<webMaster>) — ranked first; - MX/DNS-verified emails, phones, socials, and tech stack scraped from the
newsletter's own publication site (the RSS channel
<link>); - an A–D sponsor-readiness grade from publishing recency + frequency + catalog size + reachability, with a plain-English pitch-readiness line;
- a
newlyLaunchedrolling-window flag for fresh-newsletter prospecting; - per-verified-success pricing — you are never billed for a newsletter that returns no contact (the #1 complaint about flat-rate RSS dumpers).
Inputs
| Field | Type | Required | Description |
|---|---|---|---|
newsletters | string[] | yes (≥1) | Substack publication URLs (https://platformer.substack.com), bare publication slugs (platformer), custom domains (lennysnewsletter.com), or direct feed URLs (https://platformer.substack.com/feed). One record per resolved newsletter. |
verifyEmails | boolean | no (default true) | Validate the best contact email's domain against live MX/DNS records. |
enrichWebsite | boolean | no (default true) | Fetch the newsletter's own site and extract emails/phones/socials/tech. Disable for faster runs when only the RSS owner email is needed. |
concurrency | integer | no (default 5) | Newsletters processed in parallel (1–10). |
proxyConfiguration | object | no | Optional. Only needed if you hit rate limits; the actor works without a proxy. |
No keyword search: Substack has no keyless keyword-search API (the search page is JavaScript-rendered and its XHR endpoint is gated). Discovery is explicit-ref only — the same pattern as our Website Contact & Shopify lead actors. Pass the newsletter references you already have.
Output schema
One record per resolved newsletter (see the sample below). Fields:
| Field | Description |
|---|---|
inputRef / matchType | The raw input reference and how it was resolved (slug / url / feed). |
feedUrl / title / author / website / summary / category / language | Newsletter metadata from the RSS feed. |
ownerEmail / ownerName / webMaster | The author's publicly declared contact email + name from the RSS <itunes:owner> and <webMaster> tags. |
emails | Deduped contact list — owner email first, then webMaster, then MX/DNS-verified emails from the newsletter's own site. |
emailVerified | true if the best email's domain has an MX (or fallback A) record. |
phones / socials / techStack | From the newsletter's own site (enrichment layer). |
postCountInFeed / lastPostDate / postsLast30Days | Publishing cadence (sponsor-reachability signal). |
newlyLaunched | true if the catalog is young and the latest post is within the rolling 90-day window. |
sponsorReadiness / sponsorLabel | A–D grade + plain-English pitch-readiness line. |
leadScore | A–D data-richness grade. |
hasContact | Whether any real contact signal was found (gates billing). |
Real-run sample
Run input:
{ "newsletters": ["https://www.lennysnewsletter.com", "platformer"] }
Result dataset (real, live-verified 2026-07-16):
[{"inputRef": "https://www.lennysnewsletter.com","matchType": "url","feedUrl": "https://www.lennysnewsletter.com/feed","title": "Lenny's Newsletter","author": "Lenny Rachitsky","website": "https://www.lennysnewsletter.com","ownerEmail": "lenny@lennyrachitsky.com","webMaster": "lenny@lennyrachitsky.com","language": "en","postCountInFeed": 20,"lastPostDate": "2026-07-13T15:02:17+00:00","postsLast30Days": 20,"newlyLaunched": false,"emails": ["lenny@lennyrachitsky.com"],"emailVerified": true,"phones": [],"socials": {},"techStack": ["Cloudflare", "Express", "Google Tag Manager", "React"],"sponsorReadiness": "A","leadScore": "B","hasContact": true},{"inputRef": "platformer","matchType": "slug","feedUrl": "https://platformer.substack.com/feed","title": "Platformer","author": "Casey Newton","website": "https://platformer.substack.com","ownerEmail": "platformer@substack.com","webMaster": "platformer@substack.com","language": "en","postCountInFeed": 20,"lastPostDate": "2024-01-12T01:00:49+00:00","postsLast30Days": 0,"newlyLaunched": false,"emails": ["platformer@substack.com"],"emailVerified": true,"phones": [],"socials": {},"techStack": ["Cloudflare", "Express", "React"],"sponsorReadiness": "C","leadScore": "B","hasContact": true}]
Notes on truthfulness: lenny@lennyrachitsky.com is the author's real own-domain
email declared in the public RSS feed and MX-verified — a prime sponsor target
(active, 20 posts in the last 30 days → sponsor A). platformer@substack.com is
Substack's public forwarding address for the publication (it forwards to the
author) — a usable sponsor contact, and the actor honestly grades Platformer
C because it last published in January 2024 (Platformer left Substack). The
actor never invents emails; when no contact is found, hasContact is false and
the record is not billed.
Pricing (pay per event)
| Event | Price | When charged |
|---|---|---|
| Sponsor-Ready Newsletter Lead (primary) | $0.008 | Once per newsletter that returns at least one real contact signal + publishing metadata. |
| Verified Newsletter Email | $0.003 | When a newsletter yields at least one MX/DNS-validated email. |
| Sponsor-Readiness Signal | $0.001 | When the A–D grade is computed. |
| Actor Start | $0.0001 | Once per run. |
Zero upstream compose cost (self-contained: public Substack RSS + the newsletter's own public site), so the primary event is priced well above per-run compute. A run that returns 50 sponsor-ready leads with verified emails costs ≈ $0.008×50 + $0.003×50 + $0.001×50 + $0.0001 ≈ $0.60.
Performance & troubleshooting
- Speed: each newsletter is 1 feed fetch + (optionally) 1 site fetch, run
concurrently up to
concurrency. ~50 newsletters/minute on the default concurrency. - No contact returned /
hasContact: false: the newsletter's RSS feed had no<itunes:owner>email and its site exposed no contact info — not billed. Some Substack-hosted newsletters only expose the<slug>@substack.comforwarding address; that is a real, MX-verified sponsor contact. - Stale grade (D/C): a newsletter that stopped publishing scores low on recency — correct, not a bug (e.g. a publication that left Substack).
matchType: invalid/ empty result: the reference could not be resolved to a feed (bad slug, dead link). Confirm the publication exists.- Rate limits: rare (Substack RSS is generous). If you hit them, set
concurrencylower or add aproxyConfiguration.
ToS & safety
Contact is taken only from the newsletter author's own publicly declared RSS
email (<itunes:owner> / <webMaster>) and the newsletter's own public website —
identical to the podcast actor's public-RSS pattern. No account scraping, no
behind-login data, no API keys, no residential proxy. Safe for outreach use.