Beehiiv Newsletter Scraper avatar

Beehiiv Newsletter Scraper

Pricing

from $2.00 / 1,000 newsletter record scrapeds

Go to Apify Store
Beehiiv Newsletter Scraper

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

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

FieldTypePurpose
publicationUrlsarrayBeehiiv publication homepage URLs. Use this for newsletter metadata and, based on scrapeMode, post discovery and scraping.
postUrlsarrayDirect Beehiiv post URLs. Use this for individual post scraping.
scrapeModestringControls the depth of extraction: metadata, metadata_posts, or full.
maxPostsPerPublicationintegerMaximum number of posts to scrape per publication.
maxResultsintegerMaximum 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

FieldTypeMeaning
record_typestringRecord discriminator: newsletter or post.
publication_urlstring or nullBeehiiv publication homepage URL.
publication_namestring or nullNewsletter display name.
descriptionstring or nullNewsletter tagline, short description, or post excerpt.
author_namestring or nullNewsletter author or creator name.
author_biostring or nullAuthor bio when available.
logo_urlstring or nullPublication logo image URL.
cover_image_urlstring or nullMain OG cover image URL.
website_urlstring or nullCanonical publication URL.
social_linksobjectSocial links found on the publication page.
post_countinteger or nullNumber of post links found on the publication homepage.
post_urlstring or nullIndividual post URL.
post_titlestring or nullPost title.
post_subtitlestring or nullPost subtitle or secondary heading.
post_datestring or nullISO 8601 post publication timestamp.
post_previewstring or nullShort post preview sourced from the OG description meta tag.
post_contentstring or nullFull plain-text post content, populated in full mode.
post_slugstring or nullSlug after /p/.
is_premiumboolean or nullPremium or paywalled status signal.
read_time_minutesinteger or nullEstimated reading time displayed on the post page.
tagsarrayPost tags or topic categories.
scraped_atstringISO 8601 scrape timestamp.
source_urlstringURL 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:

  • publicationUrls for Beehiiv newsletter homepages
  • postUrls for direct Beehiiv post pages

It supports three scrape modes:

  • metadata returns newsletter information only
  • metadata_posts returns newsletter information plus a post list with dates and previews
  • full returns 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_type to separate publication metadata from individual posts.
  • Use publication_name and author_name for newsletter identity.
  • Use post_title, post_date, post_preview, and post_url to build reading or routing steps.
  • Use post_content only when scrapeMode is full.
  • Use scraped_at and source_url for provenance and traceability.

Scope and pagination:

  • publicationUrls can trigger publication scraping and post discovery.
  • maxPostsPerPublication controls how many posts are collected per newsletter.
  • maxResults caps the total number of returned records across all inputs.

Cost guidance:

  • metadata is the lightest extraction path.
  • metadata_posts adds post discovery fields such as titles, dates, and previews.
  • full returns 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 publicationUrls when you want the newsletter homepage record and a discovered post list.
  • Use postUrls when you already have the exact Beehiiv post pages you want.
  • Choose metadata_posts for most workflows that need both identity fields and post discovery.
  • Choose full when you need the plain-text body of public posts.
  • Increase maxPostsPerPublication for deeper archive collection within a single publication.
  • Use maxResults to 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.