# Substack Newsletter, Author & Sponsor Leads Scraper (B2B) (`church_of_loujess/substack-newsletter-leads-scraper`) Actor

Search and enrich Substack newsletters by niche keyword or URL. Extract author names, verified contact & sponsor emails, subscriber scale, bestseller badges, custom domains, social profiles, and recent posts. Zero proxies needed.

- **URL**: https://apify.com/church_of_loujess/substack-newsletter-leads-scraper.md
- **Developed by:** [H H](https://apify.com/church_of_loujess) (community)
- **Categories:** Lead generation, News, MCP servers
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $12.00 / 1,000 enriched substack newsletter & sponsor b2b leads

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Substack Newsletter, Author & Sponsorship Leads Scraper (B2B)

Search and enrich Substack publications by industry keyword or publication URL. Extract author names, verified sponsor & contact emails, subscriber counts, bestseller badges, custom domains, social links, and recent posts — zero proxies needed.

***

### High-ROI B2B, Agency & AI Workflows

- **B2B SaaS & DTC Newsletter Sponsorships:** Find high-trust niche newsletters (`"B2B SaaS"`, `"AI engineering"`, `"fintech"`) with direct author emails and sponsorship media-kit links before paying ad-network markups.
- **PR, Product Launch & Media List Building:** Build curated journalist and independent writer outreach lists with their latest article titles for hyper-personalized pitches.
- **Creator & Ghostwriting Agency Prospecting:** Filter by custom domain status, posting frequency, and subscriber scale to pitch growth, sponsorship management, or editing services.
- **Competitive Content & Trend Intelligence:** Pull recent issue headlines and URLs across dozens of industry Substacks into Slack, Notion, or RAG pipelines.

### Architecture & Cost Advantage (`256MB` Zero-Proxy Engine)

- **Zero Residential Proxy Markup:** Engineered with lightweight TLS/session requests so you do not need expensive residential proxy add-ons just to test or scale runs.
- **Ultra-Low `256MB` Compute Footprint:** Runs cleanly inside a `256MB` container (`16x` less platform memory overhead than `4GB` headless-browser scrapers) with incremental dataset streaming and graceful timeout protection.
- **Pay-Per-Event Transparency:** You only pay a tiny startup fee plus each structured dataset result delivered — with automatic volume discounts up to **60%–70% off** on Bronze, Silver, Gold, Platinum, and Diamond Apify plans.

***

### Input Parameters

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `searchQueries` | `array` | `["B2B SaaS"]` | Search Substack publications by topic, industry, or audience (e.g. \['B2B SaaS', 'AI engineering', 'fintech']). |
| `publications` | `array` | `[]` | Optional list of Substack URLs, custom domains, or subdomains (e.g. \['demandloops', 'https://www.lennysnewsletter.com']). |
| `maxNewslettersPerQuery` | `integer` | `15` | Maximum number of Substack publications to extract per keyword search. |
| `crawlAboutAndSocials` | `boolean` | `true` | Fetches the publication /about page and linked author website to uncover sponsorship inquiries, media kits, LinkedIn/X profiles, and direct emails. |
| `includeRecentPosts` | `boolean` | `true` | Fetches the 3 most recent newsletter posts (titles, URLs, engagement reactions, and publish dates) for personalized sponsorship outreach hooks. |
| `onlyWithEmail` | `boolean` | `false` | Filter output to publications where at least one verified deliverable contact email was found. |
| `proxyConfiguration` | `object` | `{"useApifyProxy": false}` | Optional proxy settings. Works out-of-the-box with direct connections at 256MB. |

***

### Sample Output Dataset Item

```json
{
  "publicationUrl": "https://examplegrowth.substack.com",
  "customDomain": "https://newsletter.examplegrowth.com",
  "subdomain": "examplegrowth",
  "name": "B2B Growth & AI Weekly",
  "description": "Tactical breakdowns on PLG, outbound, and AI agents for 18,000+ operators.",
  "authorName": "Alex Rivera",
  "authorHandle": "alexrivera",
  "subscriberCountText": "18,000+ subscribers",
  "bestsellerTier": 100,
  "emails": [
    "sponsors@examplegrowth.com"
  ],
  "sponsorshipLinks": [
    "https://passionfroot.me/examplegrowth"
  ],
  "socialLinks": {
    "twitter": "https://x.com/alexriverab2b",
    "linkedin": "https://www.linkedin.com/in/alexriverab2b"
  },
  "recentPosts": [
    {
      "title": "How AI SDR Workflows Changed in 2026",
      "url": "https://newsletter.examplegrowth.com/p/ai-sdr-2026"
    }
  ],
  "searchQuery": "B2B SaaS"
}
```

***

### Use as an AI Agent Tool (Claude Desktop, Cursor, Windsurf & MCP)

Every Actor in our suite works out-of-the-box with the **Apify Model Context Protocol (MCP) Server** so Claude Desktop, Cursor, Windsurf, or custom OpenAI/LangGraph agents can invoke `church_of_loujess/substack-newsletter-leads-scraper` directly during a conversation:

```json
{
  "mcpServers": {
    "apify-b2b-intelligence": {
      "url": "https://mcp.apify.com/?actors=church_of_loujess/substack-newsletter-leads-scraper",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_API_TOKEN>"
      }
    }
  }
}
```

### API Quickstart (Python, Node.js & cURL)

#### Python (`apify-client`)

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_API_TOKEN>")
run = client.actor("church_of_loujess/substack-newsletter-leads-scraper").call(run_input={
  "searchQueries": [
    "B2B SaaS",
    "AI agents"
  ],
  "publications": [],
  "maxNewslettersPerQuery": 10,
  "crawlAboutAndSocials": true,
  "includeRecentPosts": true,
  "onlyWithEmail": false
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

#### Node.js / TypeScript (`apify-client`)

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<YOUR_APIFY_API_TOKEN>' });
const run = await client.actor('church_of_loujess/substack-newsletter-leads-scraper').call({
  "searchQueries": [
    "B2B SaaS",
    "AI agents"
  ],
  "publications": [],
  "maxNewslettersPerQuery": 10,
  "crawlAboutAndSocials": true,
  "includeRecentPosts": true,
  "onlyWithEmail": false
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

#### n8n, Make.com & Clay Enrichment Setup

1. **Clay:** Add an *Apify — Run Actor* enrichment column -> select `church_of_loujess/substack-newsletter-leads-scraper` -> map your row's keyword, handle, or URL -> map returned emails/metrics into downstream cold-email columns (Instantly, Smartlead, Lemlist).
2. **n8n / Make.com:** Trigger on a schedule (daily/weekly) -> call `https://api.apify.com/v2/acts/church_of_loujess~substack-newsletter-leads-scraper/run-sync-get-dataset-items?token=<TOKEN>` -> route verified leads directly to HubSpot, Slack, Google Sheets, or Airtable.

### Frequently Asked Questions (FAQ)

#### Do I need to configure proxies or cookies?

No. `church_of_loujess/substack-newsletter-leads-scraper` works out-of-the-box with **zero cookies, zero login credentials, and zero residential proxies required**.

#### Can I export results to CSV, Excel, JSON, or Parquet?

Yes. Every run writes clean, flattened fields plus rich nested metadata to your default Apify Dataset, supporting one-click export to **CSV, XLSX, JSON, JSONL, XML, or RSS** as well as direct webhook delivery.

#### What happens on large batch runs near the timeout limit?

All Actors in our portfolio stream results incrementally (`pushData`) and monitor `APIFY_TIMEOUT_AT` so completed leads are preserved cleanly without losing partial progress.

***

### Explore Our B2B Lead Generation & Social Intelligence Suite

Chain this Actor with our other **zero-proxy, 256MB-optimized Apify Actors** inside **n8n, Make.com, Clay, LangChain, or Claude/Cursor MCP**:

| Actor | Best For | Store Link |
| :--- | :--- | :--- |
| **TikTok Search Scraper (Fast)** | Keywords, hashtags, spoken transcripts & creator discovery | [Open in Apify Store](https://apify.com/church_of_loujess/tiktok-search-scraper) |
| **TikTok Profile & Bio Email Scraper** | Bulk `@username` stats, bio emails, posts & ASR subtitles | [Open in Apify Store](https://apify.com/church_of_loujess/tiktok-profile-scraper) |
| **TikTok Viral Hook & Outlier Cloner** | Exact first-3s spoken hooks, WPM pace & outlier ratios | [Open in Apify Store](https://apify.com/church_of_loujess/tiktok-viral-hook-script-scraper) |
| **Linktree & Bio-Link B2B Email Finder** | Creator, coach & agency emails, Calendly links & storefronts | [Open in Apify Store](https://apify.com/church_of_loujess/linktree-bio-email-leads-scraper) |
| **Shopify App Reviews & Churn Leads** | 1-2 star competitor churn reviews -> resolved store emails | [Open in Apify Store](https://apify.com/church_of_loujess/shopify-app-reviews-leads-scraper) |
| **Substack Newsletter & Sponsor Finder** | Niche newsletter authors, subscriber scale & sponsor emails | [Open in Apify Store](https://apify.com/church_of_loujess/substack-newsletter-leads-scraper) |
| **Show HN & Product Hunt Founder Leads** | Newly launched tech startups, domains & founder emails | [Open in Apify Store](https://apify.com/church_of_loujess/hackernews-producthunt-leads-scraper) |
| **GitHub Verified Developer & CTO Leads** | Stargazers, contributors & commit-verified B2B emails | [Open in Apify Store](https://apify.com/church_of_loujess/github-email-leads-scraper) |
| **Reddit Fast Buyer-Intent Scraper** | Subreddits, buyer-intent search & nested comment trees | [Open in Apify Store](https://apify.com/church_of_loujess/reddit-scraper-fast) |
| **YouTube Channel Sponsorship Leads** | Creator business emails, social handles & external links | [Open in Apify Store](https://apify.com/church_of_loujess/youtube-channel-email-leads-scraper) |
| **Telegram Public Channel Scraper** | Crypto, OSINT & community feeds + extracted links/emails | [Open in Apify Store](https://apify.com/church_of_loujess/telegram-scraper) |
| **Website Contact Email & Phone Crawler** | Bulk domain contact page email, phone & social extraction | [Open in Apify Store](https://apify.com/church_of_loujess/website-email-phone-finder) |

# Actor input Schema

## `searchQueries` (type: `array`):

Search Substack publications by topic, industry, or audience (e.g. \['B2B SaaS', 'AI engineering', 'fintech']).

## `publications` (type: `array`):

Optional list of Substack URLs, custom domains, or subdomains (e.g. \['demandloops', 'https://www.lennysnewsletter.com']).

## `maxNewslettersPerQuery` (type: `integer`):

Maximum number of Substack publications to extract per keyword search.

## `crawlAboutAndSocials` (type: `boolean`):

Fetches the publication /about page and linked author website to uncover sponsorship inquiries, media kits, LinkedIn/X profiles, and direct emails.

## `includeRecentPosts` (type: `boolean`):

Fetches the 3 most recent newsletter posts (titles, URLs, engagement reactions, and publish dates) for personalized sponsorship outreach hooks.

## `onlyWithEmail` (type: `boolean`):

Filter output to publications where at least one verified deliverable contact email was found.

## `proxyConfiguration` (type: `object`):

Optional proxy settings. Works out-of-the-box with direct connections at 256MB.

## Actor input object example

```json
{
  "searchQueries": [
    "B2B SaaS"
  ],
  "publications": [],
  "maxNewslettersPerQuery": 10,
  "crawlAboutAndSocials": true,
  "includeRecentPosts": true,
  "onlyWithEmail": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "B2B SaaS"
    ],
    "publications": [],
    "maxNewslettersPerQuery": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("church_of_loujess/substack-newsletter-leads-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": ["B2B SaaS"],
    "publications": [],
    "maxNewslettersPerQuery": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("church_of_loujess/substack-newsletter-leads-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "B2B SaaS"
  ],
  "publications": [],
  "maxNewslettersPerQuery": 10
}' |
apify call church_of_loujess/substack-newsletter-leads-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,church_of_loujess/substack-newsletter-leads-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7QPvANXstHzBUdRj6/builds/eArZOBmUbWRWkz7Y4/openapi.json
