What a newsletter's news stack costs per month

Getting the news into a daily digest costs about $26 a month if you build it yourself, about $36 if you add a paid RSS tool, and $19 as one feed. Those are the totals for the same digest, priced from each vendor's own page on 2026-10-22. The data source is free. The money goes to turning links into article text, and the time goes to code you have to keep running.
The digest is the one from how to build a daily news newsletter from feeds: four Google News queries on offshore wind, about 10 stories in the email. This post prices only the news-gathering layer of that stack: finding items, turning links into article text, and removing duplicates.
What we priced, and what we left out
The volume comes from one run. On 2026-10-09 that feed found 60 items, kept 42 as new and scraped 41. We use 42 articles a day, so 42 x 30 = 1,260 pages a month. That is one day's run times 30, not an average. A slow news week would be lower and a busy one higher.
Three costs are the same in every column, so we left them out:
- Sending the email. See RSS to email three ways for those prices.
- The LLM summary. About $0.09 a month in the earlier post, from one day's run. For the LLM line at other volumes and models, see what it costs to summarize 1,000 news articles.
- Your writing time.
We did not price time. Where code is needed the table says "you write it", and we come back to the hours below. Euro prices are converted at 1.1234 USD per EUR, the ECB reference rate for 2026-10-21. Prices are as listed, and VAT treatment differs by vendor.
Three ways to build the news layer
| A. DIY | B. Paid tools | C. One feed | |
|---|---|---|---|
| Finding items | Google News RSS URLs | An RSS tool subscription | Google News source |
| Links to publisher URLs | Code you write | Code you write | Included |
| Article text | A scraper API | A scraper API | Included |
| Duplicates | A script you write | A script you write | Included |
| Where it runs | Self-hosted n8n or cron on a small server | Same | Pull the feed from anything |
The itemised table

| Layer | A. DIY | B. Paid tools | C. One feed |
|---|---|---|---|
| Feed | Google News RSS, $0 | Inoreader Pro, $9.99 billed monthly | Included |
| Redirect resolution | $0, you write it | $0, you write it | Included |
| Scraper | Firecrawl Hobby, $19 billed monthly | Same, $19 | Included |
| Dedupe | $0, you write it | $0, you write it | Included |
| Workflow | n8n self-hosted, $0 licence | Same | Not needed to get the articles |
| Server | Hetzner CX23, EUR 5.99 = $6.73 | Same | $0 |
| Feedmarkdown | n/a | n/a | Starter, $19 |
| Total | $25.73 | $35.72 | $19.00 |
All vendor pages read on 2026-10-22. We rounded each euro conversion up to the next cent. A is $19 + $6.73. B is A plus $9.99. C is the Starter plan, which uses 4 of its 10 sources.

The script is 17 lines. It picks the Firecrawl plan from the page count, because Firecrawl Free gives 1,000 pages a month and this digest needs 1,260. Hobby gives 5,000 pages, so there is room.
Two things stand out. Firecrawl Hobby and Feedmarkdown Starter both cost $19, so the gap between A and C is the server plus the code. And the paid RSS tool makes B more expensive without removing a single layer.
What each line is, and where it surprised us
The feed layer
Google News RSS URLs cost nothing. An RSS tool sells feed management (folders, filters, refresh schedules), not better data. The Inoreader page lists duplicate-content removal and rules in Pro at $7.50 a month billed annually or $9.99 billed monthly. rss.app shows Basic at $8.32 a month on annual billing, with 15 feeds and a 60-minute refresh. We did not run either against these queries.
The catch is what the free feed returns. We fetched the offshore wind query on 2026-10-22 and looked at the first item:

The <link> is a news.google.com/rss/articles/... address, not the publisher's page. A request to it from curl got a 302 to a consent page with an empty body. A scraper that is handed that link has nothing to read. We did not send it to Firecrawl or any other scraper, so we can't say how they handle it. Either way, something has to resolve it first, and in columns A and B that is code you write and a rate limit you manage. See how to get the real article URL and the rate limits post. No vendor sells this as a line item, so we show $0 and flag the hours.
The scraper
Firecrawl's page says 1 credit is 1 page on a basic scrape, and that a page that answers 403 or 404 still costs 1 credit. So pages a month, not articles kept, decides the plan. At 1,260 pages Free (1,000) is out and Hobby (5,000) fits. Standard is $83 a month, billed annually, for 100,000 credits.
We left ScrapingBee out. Its page lists $19 for 75,000 API credits, but the credits per request depend on options, and we could not turn that into pages from the page alone.
The dedupe script
Of the 60 candidates in the earlier run, 17 were repeats. A dedupe step has to remove exact URL repeats, then near-identical headlines, then near-identical text after scraping. Why matching headlines isn't enough covers the method.
We wrote the first two steps. The script reads the newest 15 items from each of the four queries, drops repeated links, and drops any title whose word overlap with a kept title is 0.6 or more (token Jaccard, outlet name removed):

On the 60 candidates it found 18 exact repeats and 1 title repeat, and kept 41. That removes exact and near-exact title repeats. It does no content-level matching, so a reprint under a rewritten headline gets through. Today's run is also not the 2026-10-09 run, so it removed 19 where that run removed 17. The real cost is tuning the threshold on live news and keeping it working.
The server
The Hetzner page lists the CX23 (2 vCPU, 4 GB RAM, 40 GB) from EUR 5.99 a month excluding VAT. The create button on that page said the product was currently unavailable when we read it, so check availability. That is the list price only. We did not measure n8n's memory use or the hours it takes to keep a box patched.
If you would rather not run a server, n8n Cloud Starter is listed at EUR 20 a month billed annually for 2.5K workflow executions. A daily schedule is 30 runs a month, but we did not check how n8n counts executions for this workflow.
What we did not test
- We ran none of the competitor tools. This is a price comparison from public pages, not a quality one.
- We did not measure server load, n8n memory or maintenance hours. Any hours estimate would be a guess.
- It is one niche, one set of queries and one day's volume.
- We did not price larger volumes. Prices change, so the date matters.
One feed instead of three tools
Feedmarkdown covers the rows that are code in A and B: a Google News source, the redirect resolved to the publisher URL, cross-source dedup before any scrape, full-text Markdown, and delivery by signed webhook or pull as JSON Feed or Atom. Starter is $19 a month for 10 sources, and sources, not articles or feeds, are what you pay for. Pro is $49 for 50 sources and Agency is $149 for 200. Following an outlet's own site or a plain RSS feed is on the roadmap, not live. See the pricing section. For where the stories go next, see how to build the digest, Google News API options, Newscatcher vs NewsData.io if you are weighing a paid news API instead, and PolitePol and FiveFilters alternatives for hosted one-tool options such as Feed Control.