Substack Scraper: Posts, Content & Engagement
Pricing
from $0.80 / 1,000 delivered post records
Substack Scraper: Posts, Content & Engagement
Scrape Substack newsletters, including custom domains: post archive, public post content, authors, likes, comments and restacks. Track new and changed posts between runs. Paid posts are labelled as excerpts. $0.80 per 1,000 posts.
Pricing
from $0.80 / 1,000 delivered post records
Rating
0.0
(0)
Developer
Nexo Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Scrape Substack newsletters, including custom domains: post archive, public post content, authors, likes, comments and restacks. Track new and changed posts between runs. Paid posts are labelled as excerpts. $0.80 per 1,000 posts.
Store page: https://apify.com/nexo_data/substack-public-archive-and-changes
What can you do with this Substack posts scraper?
- Archive a newsletter's full public post history
- Track new posts and engagement over time
- Analyze topics and content strategy of creators
- Feed newsletter content into LLM/RAG apps
How to scrape a Substack newsletter archive
- Open the Actor on Apify Store and click Try for free.
- Paste your input (see the example below) in the Input tab.
- Click Start and wait for the run to finish.
- Download results as JSON, CSV, Excel or HTML, or fetch them via the Apify API.
How to scrape a Substack newsletter archive via API
curl -X POST "https://api.apify.com/v2/acts/nexo_data~substack-public-archive-and-changes/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"publicationUrls": ["https://www.noahpinion.blog"], "maxPosts": 3, "includeContent": true}'
You can also call it from Python/JS with the apify-client, schedule it, or connect it to Make, Zapier, n8n or an MCP-enabled AI agent.
How to schedule it for monitoring
Create an Apify Schedule (e.g. daily) with the same input. Combine with webhooks or integrations to get alerts in Slack, email or Google Sheets.
Input example
{"publicationUrls": ["https://www.noahpinion.blog"],"maxPosts": 3,"includeContent": true}
Output example
Each item in the dataset is one result. Typical fields are listed in the Output tab; export to JSON/CSV/Excel.
Pricing (pay per event)
You only pay for what you get — no monthly rental. Apify platform usage is included in the event prices below.
| Event | What it is | Price |
|---|---|---|
run-start | Run initialization (including invalid inputs) — One initialization event per run, including runtime input-validation failures. | $0.003 ($3.0 / 1,000) |
source-check | Bounded public-source check — One bounded public-source request attempt; charged also when access fails or filters match nothing. | $0.001 ($1.0 / 1,000) |
result | Delivered post record — One delivered usable post record. Error rows do not trigger this event. | $0.0015 ($1.5 / 1,000) |
Tip: set Maximum cost per run in run options to cap spend. New Apify accounts get free monthly credits, so your first runs are effectively free.
FAQ
Is it legal to scrape Substack posts? This Actor collects only publicly available data. Make sure your use complies with the site's terms and data protection laws (e.g. GDPR).
Do I need an API key or login? No. Only an Apify account.
What if a source fails? Failed or empty sources are reported in the output for diagnosis; you are not charged the result event for them.
Can I use it with AI agents / LLMs? Yes — output is structured JSON, ready for RAG, LangChain, LlamaIndex or the Apify MCP server.
Found a bug or need a feature? Open an issue in the Issues tab — we usually respond within 24 hours.