APITube Help Center

How to curate a newsletter with a news API

Build a repeatable pipeline that selects fresh, high-quality articles on your topic and hands them to your newsletter tool

Beatrice Riddick

Written by Beatrice Riddick

July 6, 2026

Open this example in the API Playground ↗

How to curate a newsletter with a news API

To curate a newsletter, run one saved APITube query per issue: scope it to your topic, limit it to the days since the last issue with published_at.start, and gate quality with source.rank.opr.min. The response is the issue’s candidate list — every article with its title, link, summary and source — ready for a human pick or an automated template. The same query, re-run weekly, is the entire pipeline.

curl -G "https://api.apitube.io/v1/news/everything" \
  --data-urlencode "topic.id=industry.crypto_news" \
  --data-urlencode "published_at.start=NOW-7DAYS" \
  --data-urlencode "source.rank.opr.min=6" \
  --data-urlencode "language.code=en" \
  --data-urlencode "per_page=25" \
  --data-urlencode "api_key=YOUR_API_KEY"

NOW-7DAYS is the relative date syntax, so the window slides automatically — no date arithmetic in your scheduler.

How do you scope the query to your newsletter’s topic?

Pick the narrowest filter that matches how your topic is defined:

  • A subject areatopic.id (like industry.crypto_news above) or an IPTC category via category.id; see how to filter by topic.
  • A keyword in the headlinetitle=electric vehicles; multi-word values need every word to appear.
  • A company or person beatorganization.name / person.name matches detected entities rather than raw text, so a “Nvidia this week” section doesn’t miss articles that say “the chipmaker” in the headline.

Filters combine with AND, so topic.id + title gives you “this subject, but only stories about X” — a natural fit for newsletter sections. Run one query per section rather than one broad query you re-sort by hand.

How do you keep the issue high-quality?

Reader trust dies on link rot and content farms, so push quality into the query instead of eyeballing every candidate:

  • source.rank.opr.min=6 sets an authority floor (OPR is 0–10; raise it for a stricter list) — or use the stricter composite flag described in filtering to trusted, high-quality sources.
  • ignore.source.domain=example-tabloid.com drops up to three publishers your readers dislike, comma-separated.
  • Wire reprints cluster around one event; fetch the story cluster for a headline you picked and feature the strongest version instead of three copies of the same news.

How do you hand the result to your newsletter tool?

Three integration shapes, cheapest first:

  • RSS: append export=rss and paste the URL into any tool that ingests feeds (most email platforms do) — the API returns the same search as an RSS 2.0 document. See how to export search results as RSS.
  • JSON: call the API from your build script and render candidates into your template — each article carries title, href, description, published_at and source, which is everything an issue block needs.
  • Spreadsheet triage: the response’s export block includes ready CSV/XLSX URLs, so an editor can pick winners in a sheet before layout.

The full list of filters you can bake into the saved query is in the official News API parameter reference.

Common Questions

How do I avoid repeating an article across two issues?

Anchor the window to your publishing cadence: a weekly issue queries published_at.start=NOW-7DAYS at the same hour each week, so consecutive windows touch without overlapping. If your schedule slips, store the published_at of the newest article you featured and pass it as the exact published_at.start of the next run.

How many requests does a weekly newsletter cost?

One search that returns articles counts as one request against your quota, so a five-section weekly newsletter costs about five requests per issue — around twenty per month, which fits comfortably in any plan. Requests that return zero articles are not charged. See what counts as a request.

Can I get article summaries for the issue blurbs?

Yes — each article object already includes a summary produced during processing, alongside description. Render it as the blurb draft and edit by hand where it matters; for tighter payloads, request only the fields you use with the fl parameter — see how to select specific response fields.


Related Articles