Substack Sponsor Intelligence
Pricing
from $70.00 / 1,000 newsletter analyzeds
Substack Sponsor Intelligence
Analyze Substack newsletters to extract sponsor data, detect monetization patterns, and generate structured intelligence using pattern matching and AI.
Pricing
from $70.00 / 1,000 newsletter analyzeds
Rating
0.0
(0)
Developer
Alex Mercer
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
8 days ago
Last modified
Categories
Share
Extract sponsor and advertising data from Substack newsletters. Find out who is sponsoring which newsletters, how often, and in what format. The only tool that turns newsletter archives into structured sponsor intelligence.
What This Actor Does
This Actor analyzes Substack newsletter archives and identifies sponsored content, paid partnerships, and advertising placements. It outputs structured data about each sponsor detection including the brand name, URL, placement type, and confidence level.
Think of it as competitive intelligence for the newsletter advertising market. Brands spend thousands per newsletter placement, but until now there's been no way to systematically track who's advertising where.
Who This Is For
- Media buyers and agencies placing newsletter ads who need to see the competitive landscape
- Newsletter operators benchmarking their sponsorship rates against comparable publications
- Brands monitoring where competitors are advertising
- Market researchers tracking the newsletter advertising economy
- Content strategists analyzing sponsorship trends across niches
How It Works
- You provide one or more Substack newsletter URLs
- The Actor fetches the newsletter's post archive via Substack's public API
- Each post is analyzed for sponsor mentions using pattern matching, AI classification, or both
- Structured sponsor data is output to the Apify dataset, ready for export
The Actor uses a multi-layer content resolution system. It tries the archive API content first, then falls back to fetching the actual post page when needed, so you get maximum detection coverage.
Detection Modes
Pattern Match (default, no extra cost)
Uses regex-based detection to find explicit sponsor language like "brought to you by," "today's sponsor," "this issue is sponsored by," and similar phrases. Fast, cheap, and catches the majority of traditional newsletter sponsorships.
Patterns are classified into strong (high confidence, like "sponsored by") and weak (requires supporting evidence, like "in partnership with") to minimize false positives.
AI Enhanced (requires API key)
Runs each post through an LLM for deeper analysis. Catches native sponsorships, subtle paid placements, and sponsored deep-dives that don't use standard sponsor language. Pattern matching runs first as a baseline, then AI results are merged and deduplicated.
To use AI mode, set the OPENAI_API_KEY environment variable in your Actor settings. Supports any OpenAI-compatible API endpoint (OpenAI, OpenRouter, etc.).
Input Example
{"newsletterUrls": ["https://www.lennysnewsletter.com","https://www.notboring.co","https://thehustle.co"],"maxPostsPerNewsletter": 50,"detectionMode": "pattern_match","enableCanonicalFallback": true}
Output Example
Each sponsor detection produces a row like this:
{"record_type": "sponsor_detection","newsletter_name": "Not Boring","newsletter_url": "https://www.notboring.co","newsletter_domain": "www.notboring.co","post_title": "The Future of Finance","post_url": "https://www.notboring.co/p/the-future-of-finance","post_date": "2026-03-10T00:00:00.000Z","post_audience": "free","sponsor_name": "Ramp","sponsor_url": "https://ramp.com","sponsor_domain": "ramp.com","placement_type": "top_banner","detection_method": "pattern_match","detection_confidence": "high","content_source": "canonical_fetch","sponsor_text_snippet": "Today's Not Boring is brought to you by Ramp..."}
The Actor also generates a summary with aggregate stats, sponsor frequency tables, and newsletter sponsor density metrics. The summary is stored in the key-value store under the key SUMMARY and optionally included in the dataset.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| newsletterUrls | string[] | required | Substack newsletter URLs to analyze |
| maxPostsPerNewsletter | integer | 50 | Posts to analyze per newsletter (0 = all) |
| sinceDate | string | null | Only analyze posts after this date (YYYY-MM-DD) |
| detectionMode | string | pattern_match | pattern_match or ai_enhanced |
| enableCanonicalFallback | boolean | true | Fetch post pages when archive content is insufficient |
| maxAiCharactersPerPost | integer | 12000 | Max content length sent to AI per post |
| requestDelayMs | integer | 800 | Delay between requests in milliseconds |
| includeSummaryRecordInDataset | boolean | true | Include summary record in dataset output |
Important Notes
- This Actor extracts data from Substack's public, unofficial API endpoints. These endpoints are not officially documented and may change without notice. The Actor includes defensive handling for API changes, but some newsletters may occasionally return incomplete data.
- Only publicly accessible content is analyzed. Paywalled posts return metadata but not full content.
- Custom domain newsletters (e.g.,
www.lennysnewsletter.cominstead oflenny.substack.com) are fully supported. - AI enhanced mode requires an
OPENAI_API_KEYenvironment variable set in your Actor configuration. - The Actor processes newsletters sequentially to respect rate limits.
Use Cases
Sponsor Intelligence: "Which brands are sponsoring the top 50 fintech newsletters right now?" Run the Actor against a list of newsletter URLs and get a structured dataset of every sponsor mention.
Competitive Analysis: "Are my competitors advertising in newsletters I should know about?" Track specific brand names across newsletter archives.
Media Buying Research: "What's the going rate for sponsoring a newsletter with 50K subscribers?" Cross-reference sponsor frequency with subscriber estimates to understand market pricing patterns.
Brand Monitoring: "How often does Brand X sponsor newsletters, and which ones?" Set up scheduled runs to track sponsorship activity over time.
Pricing
This Actor supports pay-per-event pricing on the Apify platform. See the Pricing tab for current rates.
Feedback
If you find a newsletter that should be working but isn't, or if you have feature requests, please open an issue on the Actor's Issues tab.