Substack Sponsor Intelligence avatar

Substack Sponsor Intelligence

Under maintenance

Pricing

from $70.00 / 1,000 newsletter analyzeds

Go to Apify Store
Substack Sponsor Intelligence

Substack Sponsor Intelligence

Under maintenance

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

Alex Mercer

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

8 days ago

Last modified

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

  1. You provide one or more Substack newsletter URLs
  2. The Actor fetches the newsletter's post archive via Substack's public API
  3. Each post is analyzed for sponsor mentions using pattern matching, AI classification, or both
  4. 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

ParameterTypeDefaultDescription
newsletterUrlsstring[]requiredSubstack newsletter URLs to analyze
maxPostsPerNewsletterinteger50Posts to analyze per newsletter (0 = all)
sinceDatestringnullOnly analyze posts after this date (YYYY-MM-DD)
detectionModestringpattern_matchpattern_match or ai_enhanced
enableCanonicalFallbackbooleantrueFetch post pages when archive content is insufficient
maxAiCharactersPerPostinteger12000Max content length sent to AI per post
requestDelayMsinteger800Delay between requests in milliseconds
includeSummaryRecordInDatasetbooleantrueInclude 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.com instead of lenny.substack.com) are fully supported.
  • AI enhanced mode requires an OPENAI_API_KEY environment 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.