LinkedIn Newsletter Scraper: Keyword to Newsletters avatar

LinkedIn Newsletter Scraper: Keyword to Newsletters

Pricing

from $3.00 / 1,000 newsletter founds

Go to Apify Store
LinkedIn Newsletter Scraper: Keyword to Newsletters

LinkedIn Newsletter Scraper: Keyword to Newsletters

Discover public LinkedIn newsletters matching a keyword: title, URL and subscriber count where available. Optional monitor mode bills only for new newsletters. No login, no API key.

Pricing

from $3.00 / 1,000 newsletter founds

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

6

Monthly active users

a day ago

Last modified

Share

5 LinkedIn newsletters for one keyword in 27 seconds

From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors. This actor ranks #2 for "linkedin newsletter scraper" in Apify Store search.

Type a keyword, topic or brand name, such as product management, climate tech or recruiting, and get back the public LinkedIn newsletters that match it: each newsletter's link, its title and the description a search engine shows for it. No LinkedIn login, no cookies and no API key.

Why choose this actor?

  • Newsletters that really match your words. Search engines pad thin results with loosely related pages. This actor keeps a newsletter only when every word of your search appears in its title, description or link. In a 30 September run for product management, 5 newsletters came back in 27 seconds and 1 near miss was left out, uncharged. A search that finds nothing charges no newsletter at all.
  • Working links in any language. Each link keeps the newsletter's own number, so it opens the newsletter on LinkedIn, including titles with accents or in Cyrillic, Arabic or Hindi script (https://www.linkedin.com/newsletters/lideran%C3%A7a-e-marketing-7062514842955333632/ opens "Liderança e Marketing").
  • $3 per 1,000 newsletters on every plan, and a standing watch that bills only new ones. Turn on monitorMode and scheduled runs deliver and charge only newsletters your account has not received before.

Run it on Apify

Part of The Mine Works LinkedIn family: LinkedIn Company Scraper, LinkedIn Post Scraper, LinkedIn Employees Scraper, LinkedIn Profile Scraper, LinkedIn Email Finder, LinkedIn Candidate Finder.

Try it in one minute

Paste this into the JSON tab of the input page and press Start. It returns up to 10 newsletters, usually in under a minute.

{
"query": "product management",
"maxResults": 10
}

query is the only required input: one keyword or phrase, in any language, the way you would type it into a search box. Every word must show up in a newsletter's title, description or link for it to be returned, so fewer, more distinctive words find more newsletters. fintech OR insurtech finds newsletters with either word, and a word with a minus sign in front (-jobs) is passed to the search as an exclusion.

Apify's free plan includes $5 of credit every month, which covers about 1,400 newsletters at this actor's price ($3.00 per 1,000 newsletters on every plan, plus the $0.005 start fee on each run, in runs of 10).

Copy to your AI assistant

themineworks/linkedin-newsletter-scraper on Apify. Finds public LinkedIn newsletters matching a keyword by searching Google's index of linkedin.com/newsletters pages (Brave as backup) and returns one row per newsletter with url (https://www.linkedin.com/newsletters/<slug>-<id>/, non-ASCII letters percent-encoded), title, snippet (when the search shows a description) and checked_at. A newsletter is returned only if every search word appears in its title, description or link. Call ApifyClient("TOKEN").actor("themineworks/linkedin-newsletter-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: query (string). Optional: maxResults (integer 1 to 50, default 10), monitorMode (boolean, default false: deliver and charge only newsletters this account has not received before). Rows with _type "summary" or "info" are run reports and are never billed. Full spec: GET https://api.apify.com/v2/acts/themineworks~linkedin-newsletter-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral

Key features

  • Every-word match on each result. Common short words (a, the, of, for and so on) are ignored, plurals are matched (newsletters finds newsletter), a word of 5 or more letters also counts when it is joined to others (ClimateTech for climate tech), and letters with accents match their plain form. A result that misses a word is skipped before its link is opened and counted in the summary as not_matching_skipped.
  • Complete links, written the way LinkedIn writes them. The whole address is kept, ending with the newsletter's number, and letters outside A to Z are percent-encoded exactly as on LinkedIn's own page (%C3%A7 for ç). The same newsletter reached through different search results, or through a country site such as br.linkedin.com, comes back once under its www.linkedin.com link.
  • Up to 50 newsletters per run. The actor reads up to 5 pages of search results, 10 results each, and stops early when a page brings no new matching newsletter or the results run out.
  • Each newsletter once. Within a run, a newsletter is delivered and charged once, however many times the search lists it.
  • Monitor mode. Remembers up to 50,000 newsletter links delivered to your account and skips them on later runs.
  • Bounded cost per run. The actor stops searching early if the search pages it has paid for are not turning into newsletters, and returns what it found.

How to use it

Basic: newsletters about a topic

{
"query": "product management",
"maxResults": 20
}

A 30 September run of this search (with maxResults: 5) returned 5 newsletters in 27 seconds from a single page of search results, including Product Management Unpacked, Product Management Weekly and Product Management Review.

Several topics

Each run takes one query. For several topics, start one run per topic from the API (they can run in parallel) or save each as its own task:

from apify_client import ApifyClient
client = ApifyClient("TOKEN")
for q in ["product management", "climate tech", "b2b saas"]:
run = client.actor("themineworks/linkedin-newsletter-scraper").call(
run_input={"query": q, "maxResults": 30})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if "_type" not in row:
print(q, row["url"], row.get("title"))

To cover two spellings in one run, use OR: {"query": "fintech OR insurtech"} returns newsletters that match either word.

Sponsorship and guest post prospecting

{
"query": "b2b saas",
"maxResults": 50
}

Content and partnerships teams use the list to find newsletters to sponsor, guest write for or swap mentions with. Open each link to see the author and recent issues on LinkedIn. To find the company behind a newsletter, our LinkedIn Company Scraper reads public company pages.

Weekly topic watch: only new newsletters

{
"query": "recruiting",
"maxResults": 50,
"monitorMode": true
}

Save it as a task and schedule it weekly (for example 0 9 * * 1). The first run delivers every newsletter found; later runs deliver and charge only newsletters your account has not received before. New newsletters on a topic do not appear fast enough to justify daily runs, and a run that finds nothing new pays only the start fee.

Brand or competitor watch

{
"query": "YourBrand",
"maxResults": 50,
"monitorMode": true
}

Replace YourBrand with a brand, product or competitor name to see newsletters that carry it in their title or description. For what people post about the same name, pair it with our LinkedIn Post Scraper.

Markets outside English

{
"query": "marketing digital",
"maxResults": 30
}

Search in the language of the market. The word check works in any script, and every link keeps its accented or non-Latin letters, so Portuguese, Spanish, Russian or Hindi newsletters come back with links that open.

Input parameters

ParameterTypeDefaultWhat it does
querystringrequired (form prefill: artificial intelligence)A keyword, topic or brand name. Every word, apart from common short words, must appear in a newsletter's title, description or link. Supports OR and -word.
maxResultsinteger (1 to 50)10 (form prefill: 5)Most newsletters to return. One run reads at most 5 pages of search results.
monitorModebooleanfalsetrue delivers and charges only newsletters your account has not received from this actor before. Keep the query the same across scheduled runs.

"Form prefill" values fill the Console form for you but are not defaults: an API call without maxResults asks for 10. A run with an empty query writes one summary row with found: 0 and searches nothing.

What data do you get?

One row per newsletter, with up to 4 fields:

  • url: the newsletter's link, https://www.linkedin.com/newsletters/<title words>-<number>/. Letters outside A to Z in the title words are percent-encoded the way LinkedIn writes them, so the link opens as is in any browser or spreadsheet.
  • title: the newsletter's title as the search result shows it, with the trailing | LinkedIn removed.
  • snippet: the description the search result shows for the newsletter. It is left out when the result shows only LinkedIn's sign-in text instead of the newsletter's own description, which happened on runs through the backup search engine.
  • checked_at: ISO timestamp when the row was produced.

The actor does not open the newsletter pages themselves, so it does not report subscriber counts, authors or issue text. We tested a subscriber count field before launch and removed it: LinkedIn draws that number in the browser, and the page a plain request receives does not contain it, so the field could only ever have been empty. The same is true of full issue text.

Each run also ends with a _type: "summary" row and, when newsletters were delivered, a _type: "info" row. The summary has query, found (newsletters delivered), already_delivered (skipped by monitor mode), not_matching_skipped (results left out for missing a search word), search_requests, search_refused, spend_guard_tripped, and per engine counters under google_search, brave_search and engine_pages. Neither row is a newsletter and neither is ever charged. Skip rows that have a _type field when you load the data.

Stable fields for automations

These newsletter fields were present in every newsletter row we sampled (35 rows from 9 runs between 23 September and 1 October):

FieldWhat it holds
urlhttps://www.linkedin.com/newsletters/<title words>-<number>/
titleNewsletter title from the search result
checked_atISO timestamp when the row was produced

snippet was present in every row on the current search route (8 of 8) but is not guaranteed, as explained above. We will not rename these fields. New fields may be added over time; existing ones keep their names.

Output examples

Real rows from runs of this actor.

From the 30 September run for product management:

{
"url": "https://www.linkedin.com/newsletters/product-management-unpacked-7376319167013994497/",
"title": "Product Management Unpacked",
"snippet": "Product Management Unpacked is your go-to newsletter for demystifying the art and science of Product Management.",
"checked_at": "2026-09-30T14:43:54.594Z"
}
{
"url": "https://www.linkedin.com/newsletters/product-management-review-7264620252041293826/",
"title": "Product Management Review",
"snippet": "Product Management Review. Insights, trends, and strategies from the creator of the Blackblot® PMTK® methodology. In short form. Newsletter Published weekly.Read more",
"checked_at": "2026-09-30T14:43:55.042Z"
}

A row without a snippet, from a 30 September run for marketing that went through the backup search engine:

{
"url": "https://www.linkedin.com/newsletters/marketing-news-you-can-use-7498379333850296320/",
"title": "Marketing News You Can Use",
"checked_at": "2026-09-30T09:03:13.754Z"
}

The summary row of the product management run (never charged; per engine detail trimmed), showing 1 result left out for missing a search word:

{
"_type": "summary",
"query": "product management",
"found": 5,
"already_delivered": 0,
"not_matching_skipped": 1,
"search_requests": 1,
"search_refused": 0,
"engine_pages": { "google_pages": 1, "brave_pages": 0, "brave_after_google_failed": 0 },
"spend_guard_tripped": false,
"scraped_at": "2026-09-30T14:43:55.383Z"
}

Pricing

Pay per event: you pay for each newsletter delivered to your dataset, plus a small start fee per run. The newsletter price is the same on every Apify plan.

EventFreeBronzeSilverGold and above
newsletter-found, per newsletter$0.003$0.003$0.003$0.003
newsletter-found, per 1,000 newsletters$3.00$3.00$3.00$3.00
apify-actor-start, per run$0.005 per GB of run memory, minimum one eventsamesamesame

The start fee, exactly. Apify's apify-actor-start event is charged once when a run starts, at $0.005 for each GB of memory the run uses, with a minimum of one event. This actor runs on 512 MB by default, so a default run pays one event: $0.005.

Worked examples. A 10 newsletter search costs $0.03 plus $0.005. A weekly topic watch in monitor mode that finds 2 new newsletters costs $0.006 plus $0.005 that week.

Never charged: search results that miss one of your words, a newsletter already delivered in the same run, newsletters skipped by monitor mode, the search pages and proxies, and the summary and info rows. A search that finds nothing pays only the start fee.

There is no scheduled price change for this actor. The Pricing tab on this page always shows the rate for your own plan; if it and this table ever differ, the Pricing tab is right.

FAQ

What does this actor search? LinkedIn has no newsletter search for visitors who are not signed in. Every public newsletter has its own page at linkedin.com/newsletters/..., and search engines index those pages. The actor searches Google for site:linkedin.com/newsletters plus your words, checks each result, and opens Google's link to read the newsletter's exact address. When Google does not answer, the same search goes to Brave.

How many newsletters can I get? Up to 50 per run: the actor reads at most 5 pages of search results, 10 results each, and stops as soon as a page brings no new matching newsletter. Narrow or unusual keywords often return fewer, because only newsletters whose title, description or link contains every word are kept. For wider coverage, run several related searches.

Why did I get fewer newsletters than maxResults? Either the search ran out of matching newsletters, or results were left out because they did not contain all your words; the summary row's not_matching_skipped tells you how many. Searches with fewer words usually return more.

How fresh is the data? Every run searches live. A newsletter launched very recently appears once the search engine has indexed its page, which can take some time.

Do I need a LinkedIn account, cookies, a proxy or an API key? No. The actor never signs in to LinkedIn and needs no cookies from you. It uses Apify's proxies, which are included in the price. You need only an Apify account.

Does it return subscriber counts, authors or the text of each issue? No. LinkedIn draws subscriber counts in the browser, and the page a plain request receives does not contain them, so a field promising them would always be empty. The same goes for issue text. The actor delivers what the search result itself carries: the link, the title and the description.

Why does a link contain codes like %C3%A7? That is how a web address writes letters outside A to Z, and it is the form LinkedIn uses on its own pages. https://www.linkedin.com/newsletters/lideran%C3%A7a-e-marketing-7062514842955333632/ is the newsletter "Liderança e Marketing", and the link opens as is. To show the readable form in your own tool, decode it (in Python, urllib.parse.unquote(url)).

Can I search in other languages? Yes. The word check works in any script, so a Portuguese, Russian, Hindi or Arabic search is matched against titles and descriptions in that script, and the links keep their letters. What comes back depends on what the search engine has indexed for those words.

How does monitor mode work? With monitorMode: true, the actor keeps a list of every newsletter link it has delivered to your Apify account (up to the newest 50,000) in a storage named monitor-linkedin-newsletter-scraper, and skips those links on later runs. The list is shared by all your monitor mode runs of this actor, whatever the query. If the storage cannot be opened, the run says so in its log and delivers every newsletter it finds rather than skipping any. Newsletters with accented or non-Latin titles that were delivered before the October 2026 link fix were stored under a shortened link, so monitor mode delivers each of them once more, with its full link and a note saying why. Those repeat rows are not charged.

Can I run it on a schedule? Yes. Save your input as a task, then in Apify Console open Schedules, click Create new and pick a cron expression such as 0 9 * * 1 for every Monday morning. With monitor mode on, each scheduled run charges only for newsletters you have not received before.

How do I export the data? From the run's Storage tab as JSON, CSV, Excel, XML or HTML, or through the Apify API. Skip rows that have a _type field if you want newsletters only.

Can I use it from Claude, ChatGPT or another AI assistant?

  • Connector URL: https://mcp.apify.com/?tools=themineworks/linkedin-newsletter-scraper.
  • Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
  • ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
  • Cursor or VS Code: add it as an HTTP MCP server with that URL.
  • Claude Code: claude mcp add -t http linkedin-newsletter-scraper "https://mcp.apify.com/?tools=themineworks/linkedin-newsletter-scraper".

Is it legal to use this data? The actor collects only public newsletter links, titles and descriptions that search engines show to anyone, and it never signs in to LinkedIn. Many newsletters are written by individuals. You are responsible for how you use the data, including LinkedIn's and the search engines' terms and data protection laws such as GDPR and CCPA. This is general information, not legal advice.

Integrations

  • Google Sheets: export a run to a sheet, or append each scheduled monitor run to a list of newsletters found over time.
  • Make, Zapier and n8n: use the Apify app or node to start a run and post new newsletters to Slack, Teams or email.
  • Webhooks: have Apify call your URL when a run succeeds, then fetch the dataset.
  • API and client libraries: start runs and read datasets from Python, JavaScript or any HTTP client. The "Copy to your AI assistant" block above has the exact call.
  • MCP clients: Claude, ChatGPT, Cursor, VS Code and Claude Code can call the actor through https://mcp.apify.com.
  • Next step: search what people post on the same topic with our LinkedIn Post Scraper, or find public Telegram channels on the same topic with our Telegram Channel Finder.

More from The Mine Works

LinkedIn

Social media and video

Leads and business directories

Marketing, SEO and reviews

Real estate

Science, health and government data

Jobs and hiring

E-commerce and marketplaces

Company and business data

Food and local services

Developer and AI tools

More tools

Support

Found a bug or need a field we do not return yet? Open an issue on the Issues tab of this page and we will reply there. To ask for a new data source, email dmineworks@gmail.com. A guide and FAQ for this actor also live at themineworks.com.

LinkedIn Newsletter Scraper turns a keyword into a checked list of public LinkedIn newsletters with working links, titles and descriptions, at $3 per 1,000 newsletters on every plan.