Beehiiv Newsletter Scraper
Pricing
from $2.00 / 1,000 newsletter record scrapeds
Beehiiv Newsletter Scraper
Scrape Beehiiv newsletters for posts, authors, newsletter metadata, and content discovery. MCP/API-ready.
Pricing
from $2.00 / 1,000 newsletter record scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Beehiiv Newsletter Scraper is an Apify Actor for public Beehiiv newsletters. It accepts Beehiiv publication homepage URLs and direct post URLs, then returns one dataset record per newsletter publication or post, depending on the selected scrape mode. Each record can include publication metadata, author details, social links, post titles, dates, previews, premium status, read time, tags, and full post content when requested. The result is a structured dataset that can be used in Apify runs, Apify API workflows, or through Apify MCP.
Best fit and connected workflows
Use this Actor when your starting point is a Beehiiv newsletter homepage or a list of Beehiiv post URLs and you want structured records for discovery, research, or downstream analysis.
It fits well when you need:
- publication metadata for a Beehiiv newsletter directory
- a post list with titles, dates, and previews from a newsletter homepage
- full post text for selected public posts
- a dataset that distinguishes newsletter records from post records with
record_type - Apify Actor output that can be consumed through Apify MCP or the Apify API
Beehiiv Newsletter Scraper is designed as a focused standalone workflow.
Practical scenario
Maya is building a research sheet for a Beehiiv newsletter she follows. She starts with the publication homepage URL and chooses metadata_posts, which returns the newsletter record plus a list of post records. From the dataset, she reads publication_name, author_name, post_count, post_title, post_date, and post_preview. She uses post_date and post_preview to decide which posts are most relevant, then opens the matched post_url for deeper reading or reruns the Actor in full mode for selected posts.
Input fields
| Field | Type | Purpose |
|---|---|---|
publicationUrls | array | Beehiiv publication homepage URLs. Use this for newsletter metadata and, based on scrapeMode, post discovery and scraping. |
postUrls | array | Direct Beehiiv post URLs. Use this for individual post scraping. |
scrapeMode | string | Controls the depth of extraction: metadata, metadata_posts, or full. |
maxPostsPerPublication | integer | Maximum number of posts to scrape per publication. |
maxResults | integer | Maximum total number of dataset records across all inputs. |
Focused input example
{"publicationUrls": [{"url": "https://aibreakfast.beehiiv.com"}],"scrapeMode": "metadata_posts","maxPostsPerPublication": 10,"maxResults": 20}
Output fields
| Field | Type | Meaning |
|---|---|---|
record_type | string | Record discriminator: newsletter or post. |
publication_url | string or null | Beehiiv publication homepage URL. |
publication_name | string or null | Newsletter display name. |
description | string or null | Newsletter tagline, short description, or post excerpt. |
author_name | string or null | Newsletter author or creator name. |
author_bio | string or null | Author bio when available. |
logo_url | string or null | Publication logo image URL. |
cover_image_url | string or null | Main OG cover image URL. |
website_url | string or null | Canonical publication URL. |
social_links | object | Social links found on the publication page. |
post_count | integer or null | Number of post links found on the publication homepage. |
post_url | string or null | Individual post URL. |
post_title | string or null | Post title. |
post_subtitle | string or null | Post subtitle or secondary heading. |
post_date | string or null | ISO 8601 post publication timestamp. |
post_preview | string or null | Short post preview sourced from the OG description meta tag. |
post_content | string or null | Full plain-text post content, populated in full mode. |
post_slug | string or null | Slug after /p/. |
is_premium | boolean or null | Premium or paywalled status signal. |
read_time_minutes | integer or null | Estimated reading time displayed on the post page. |
tags | array | Post tags or topic categories. |
scraped_at | string | ISO 8601 scrape timestamp. |
source_url | string | URL fetched to produce the record. |
Illustrative output record
{"record_type": "post","publication_url": "https://aibreakfast.beehiiv.com","publication_name": "AI Breakfast","description": "A newsletter about AI developments.","author_name": "Devansh Mehta","author_bio": null,"logo_url": "https://media.beehiiv.com/cdn-cgi/image/logo.png","cover_image_url": "https://media.beehiiv.com/cdn-cgi/image/cover.png","website_url": "https://aibreakfast.beehiiv.com","social_links": {"twitter": "https://twitter.com/aibreakfast"},"post_count": null,"post_url": "https://aibreakfast.beehiiv.com/p/gpt-5-is-here","post_title": "GPT-5 Just Dropped - Here's What You Need to Know","post_subtitle": "Plus: Claude 4 leaks and Google's Gemini 2.0 update","post_date": "2024-05-15T08:00:00.000Z","post_preview": "Today we dive into GPT-5...","post_content": null,"post_slug": "gpt-5-is-here","is_premium": false,"read_time_minutes": 5,"tags": ["AI","GPT"],"scraped_at": "2026-04-08T10:01:00.000Z","source_url": "https://aibreakfast.beehiiv.com/p/gpt-5-is-here"}
How it works
The Actor is configured for two input paths:
publicationUrlsfor Beehiiv newsletter homepagespostUrlsfor direct Beehiiv post pages
It supports three scrape modes:
metadatareturns newsletter information onlymetadata_postsreturns newsletter information plus a post list with dates and previewsfullreturns newsletter information plus full plain-text post content
The Actor writes scraped records to the default dataset. The dataset schema distinguishes newsletter records from post records with record_type, and each record includes scraped_at and source_url for provenance.
Pricing
This Actor uses pay per event pricing on the Apify platform, plus standard Apify platform usage. Review the live Pricing tab for the current pricing details.
Two event types are charged:
- Actor start
- Newsletter Record Scraped, charged per newsletter or post record scraped
A simple example in words: if a run starts once and scrapes ten records, the total includes one start event plus ten record events.
Use with AI agents (MCP)
This Actor is available as an Apify Actor usable through Apify MCP. The Actor identity is khadinakbar/beehiiv-newsletter-scraper.
Tool description:
- scrape Beehiiv publication pages or direct post URLs and return structured newsletter metadata and post records for agent workflows
Scrape the Beehiiv newsletter at https://aibreakfast.beehiiv.com in metadata_posts mode, then return the publication name, author, post titles, post dates, and previews in a compact summary.
Output interpretation:
- Use
record_typeto separate publication metadata from individual posts. - Use
publication_nameandauthor_namefor newsletter identity. - Use
post_title,post_date,post_preview, andpost_urlto build reading or routing steps. - Use
post_contentonly whenscrapeModeisfull. - Use
scraped_atandsource_urlfor provenance and traceability.
Scope and pagination:
publicationUrlscan trigger publication scraping and post discovery.maxPostsPerPublicationcontrols how many posts are collected per newsletter.maxResultscaps the total number of returned records across all inputs.
Cost guidance:
metadatais the lightest extraction path.metadata_postsadds post discovery fields such as titles, dates, and previews.fullreturns the most detailed records and is suited to research, archiving, and model preparation.
Apify API example
import { ApifyClient } from "apify-client";const client = new ApifyClient({token: process.env.APIFY_TOKEN});const run = await client.actor("khadinakbar/beehiiv-newsletter-scraper").call({publicationUrls: [{ url: "https://aibreakfast.beehiiv.com" }],scrapeMode: "metadata_posts",maxPostsPerPublication: 10,maxResults: 20});const datasetItems = await client.dataset(run.defaultDatasetId).listItems();console.log(datasetItems.items);
Best results and outcome guidance
- Start with
publicationUrlswhen you want the newsletter homepage record and a discovered post list. - Use
postUrlswhen you already have the exact Beehiiv post pages you want. - Choose
metadata_postsfor most workflows that need both identity fields and post discovery. - Choose
fullwhen you need the plain-text body of public posts. - Increase
maxPostsPerPublicationfor deeper archive collection within a single publication. - Use
maxResultsto keep the run focused when you are batching multiple newsletters.
Focused standalone workflow
Beehiiv Newsletter Scraper is designed as a focused standalone workflow for the public input and structured output contract described above.
Design note
I found that the dataset contract uses record_type as the main discriminator, with newsletter and post as the two visible record shapes, which makes the output straightforward to filter in downstream workflows.
FAQ
Which input should I use for a newsletter homepage?
Use publicationUrls when you have a Beehiiv newsletter homepage URL and want publication metadata, post discovery, or post scraping from that homepage.
Which input should I use for a single article link?
Use postUrls when you already have a direct Beehiiv post URL and want a record for that specific post.
How do I get full article text?
Set scrapeMode to full. In metadata and metadata_posts, post_content stays empty while the Actor focuses on lighter extraction.
How does the Actor separate newsletter records from post records?
Use the record_type field. Newsletter metadata records use newsletter, and individual post records use post.
How can I limit run size across many newsletters?
Use maxResults to cap the total number of returned records, and combine it with maxPostsPerPublication for per-publication control.
Can this Actor be used in Apify MCP workflows?
Yes. It is an Apify Actor with MCP-ready output, so agents can call it and read the dataset records directly.
Responsible use
Use this Actor on public Beehiiv pages and review your own data handling practices before storing or redistributing content. Respect publisher terms, content rights, privacy obligations, and any applicable laws when working with newsletter data.