Substack People Scraper
Pricing
Pay per event
Substack People Scraper
Find Substack creators by keyword and export public profile, publication, bio, website, and social-link data for outreach.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Find creators, newsletter operators, and publication leads from Substack's public People search.
What does Substack People Scraper do?
Substack People Scraper searches public Substack people results by keyword and exports structured creator, profile, and publication data.
Use it to turn broad topics such as AI newsletter, climate policy, sales ops, or web scraping into a spreadsheet of public Substack profiles.
The actor is designed for lead discovery, partnership research, sponsorship prospecting, market mapping, and creator outreach.
Who is it for?
- ๐ฃ Sponsorship teams building lists of newsletter creators in a niche.
- ๐ค Partnership managers finding Substack writers for co-marketing.
- ๐งฒ Lead generation agencies researching creator-owned audiences.
- ๐ฐ Media researchers mapping publications by topic.
- ๐งโ๐ผ B2B marketers looking for public creator profiles and websites.
- ๐งช Analysts comparing newsletter categories and public creator metadata.
Why use this actor?
Substack's built-in search is useful for browsing, but it is not built for exporting repeatable research.
This actor gives you a clean dataset with result rank, profile identity, bio, publication metadata, profile links, and the original search URL.
You can run the same keyword set every week, enrich the output in your CRM, or combine it with other Apify actors.
What data can I extract?
| Field | Description |
|---|---|
query | Keyword used for the search |
rank | Result position within that keyword |
profileId | Public Substack profile ID when available |
profileName | Creator or profile display name |
handle | Substack handle |
profileUrl | Public Substack profile URL |
bio | Profile biography |
photoUrl | Profile image URL |
publicationName | Attached primary publication name |
publicationUrl | Publication URL or custom domain |
publicationDescription | Publication hero text/description |
publicationLanguage | Language returned by Substack |
paymentsState | Public payment state when present |
communityEnabled | Whether community features are enabled |
userLinks | Public social/website links from the profile |
sourceSearchUrl | Browser search URL for the query |
scrapedAt | Timestamp for the row |
How much does it cost to scrape Substack people search?
The actor uses pay-per-event pricing.
You pay a small start fee for the run and a per-result fee for saved people rows.
For a typical lead discovery job, you can start with 50 results and scale up after reviewing output quality.
Exact live pricing is shown on the Apify actor page before you run the actor.
How to use Substack People Scraper
- Open the actor on Apify.
- Add one or more keywords in the Keywords field.
- Keep
maxResultssmall for the first test run. - Optionally add Substack people search URLs.
- Click Start.
- Download the dataset as JSON, CSV, Excel, or via API.
Input options
Keywords
Use creator topics, audiences, niches, or business categories.
Examples:
AI newsletterclimate policyventure capitalweb scrapinglocal news
Substack people search URLs
You can paste URLs such as:
https://substack.com/search/AI%20newsletter?searching=people
The actor extracts the query from the URL and searches public people results.
Maximum people
Controls the total number of rows saved across all keywords.
Use a low value for a quick first run.
Maximum pages per keyword
A safety cap for pagination.
The default is conservative and works for most discovery jobs.
Language filter
Substack supports language filters on some search surfaces.
Leave this blank unless you specifically need a language-constrained result set.
Include profile links
When enabled, the actor saves public social and website links returned by Substack.
Output example
{"query": "AI newsletter","rank": 1,"profileName": "AI Fyndings Newsletter","handle": "aifyndings","profileUrl": "https://substack.com/@aifyndings","bio": "Every Friday, one smart read on how AI is transforming Business...","publicationName": "AI Fyndings Newsletter","publicationUrl": "https://newsletter.pixelbin.io","publicationDescription": "Every Friday, one smart read on how AI is transforming Business...","sourceSearchUrl": "https://substack.com/search/AI%20newsletter?searching=people"}
Tips for better results
- ๐ฏ Use specific niches instead of generic words.
- ๐งฉ Combine topic and audience terms, such as
AI for lawyers. - ๐งช Run several small keyword tests before scaling.
- ๐ Deduplicate by
profileId,handle, orpublicationUrlin your downstream workflow. - ๐ Use
userLinksfor enrichment in Clay, Airtable, or your CRM.
Common use cases
Sponsorship prospecting
Find newsletters and creator profiles relevant to a product category.
Creator partnership research
Build a list of public creators for collaborations, guest posts, or swaps.
Market mapping
Track which Substack publications appear for important topics.
PR outreach
Find independent writers covering a theme or industry.
Competitive intelligence
Monitor public creator profiles around a category your company serves.
Integrations
Export results to CSV for spreadsheet review.
Send the dataset to Google Sheets using Apify integrations.
Connect the actor with Make or Zapier for recurring lead-list updates.
Use the Apify API to push results into Airtable, Clay, HubSpot, or a warehouse.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/substack-people-scraper').call({keywords: ['AI newsletter'],maxResults: 25});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/substack-people-scraper').call(run_input={'keywords': ['AI newsletter'],'maxResults': 25,})print(run['defaultDatasetId'])
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~substack-people-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"keywords":["AI newsletter"],"maxResults":25}'
MCP usage
Use the Apify MCP server to run this actor from AI tools.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/substack-people-scraper
Claude Code setup:
$claude mcp add apify-substack-people "https://mcp.apify.com/?tools=automation-lab/substack-people-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-substack-people": {"url": "https://mcp.apify.com/?tools=automation-lab/substack-people-scraper"}}}
Example prompts showing MCP usage:
- "Use the Apify MCP tool
automation-lab/substack-people-scraperforAI newsletterand summarize the top creator profiles with publication URLs." - "Run the Substack People Scraper MCP tool to find 50 Substack creators writing about B2B SaaS. Return profile URLs, publication URLs, and website links."
- "Use the Substack people MCP tool to find public creators around climate policy, then rank the results by publication relevance and available website links."
Scheduling
You can schedule recurring runs in Apify.
A weekly schedule works well for monitoring new creators in a niche.
Use the same keyword list each time and compare datasets by profileId or handle.
Data quality notes
The actor returns public data supplied by Substack's people search.
Some profiles have no attached publication.
Some publications use custom domains.
Some profiles have no social links.
Result order follows Substack's public search ranking at run time.
Limitations
This actor does not log in.
It does not scrape private subscriber lists.
It does not extract email addresses that are not publicly returned by Substack.
It does not scrape post archives; use related post/archive actors for that workflow.
Legality and responsible use
This actor extracts publicly available Substack search/profile metadata.
You are responsible for using the data in line with applicable laws, privacy rules, platform terms, and outreach regulations.
Avoid spam.
Respect opt-outs.
Use the data for legitimate research and outreach workflows.
Troubleshooting
Why did I get fewer results than requested?
Substack may return fewer public people results for a narrow keyword.
Try broader related keywords or increase the number of keywords.
Why are some publication fields empty?
Not every public profile has a primary publication attached in search results.
The actor keeps profile rows even when publication metadata is missing.
Why are links missing?
Creators choose which public links to add to their profiles.
If Substack does not return links, the userLinks array may be empty.
Related scrapers
- https://apify.com/automation-lab/substack-scraper
- https://apify.com/automation-lab/google-search-scraper
- https://apify.com/automation-lab/google-news-scraper
- https://apify.com/automation-lab/website-health-report
Changelog
Initial version: public Substack people search by keyword with profile, publication, and user-link extraction.
Support
If a run fails or returns unexpected results, open an issue on the Apify actor page and include your input and run ID.
FAQ
Can I search multiple topics at once?
Yes. Add multiple keywords. The actor searches each keyword and combines rows in one dataset.
Can I use this for newsletter sponsorship lists?
Yes. The output is designed for sponsorship and partnership research.
Does it require proxies?
No proxy is configured for the MVP because the public endpoint is reachable with normal HTTP requests.
Does it scrape posts?
No. This actor focuses on people/profile discovery.
Can I export to Excel?
Yes. Apify datasets can be downloaded as Excel, CSV, JSON, XML, RSS, or HTML.