Historical Country News Briefs & Article Archive avatar

Historical Country News Briefs & Article Archive

Pricing

from $0.39 / 1,000 results

Go to Apify Store
Historical Country News Briefs & Article Archive

Historical Country News Briefs & Article Archive

Explore validated country/day historical news briefs with ranked topics and source links. One brief by default; optional article exports and OpenRouter AI briefs.

Pricing

from $0.39 / 1,000 results

Rating

5.0

(1)

Developer

Inus Grobler

Inus Grobler

Maintained by Community

Actor stats

2

Bookmarked

2

Total users

0

Monthly active users

2 days ago

Last modified

Share

Historical Country News Briefs and Article Archive

Explore what the news said on a particular day and country. The default run returns one validated country/day brief from The Scrape Lab archive. Each result bundles ranked topics, key points, and links to the articles used as evidence. You can also export historical article records or request optional OpenRouter AI article briefs.

This Actor reads an existing, maintained archive. It does not crawl websites during your run. Use the separate Phoenix Daily News Summaries Actor for the newest daily briefing.

Start with one brief

Click Start with the prefilled input. It searches South Africa's validated briefs from 180 to 30 days ago and returns the latest available day. A brief contains:

FieldMeaning
date, countryThe day and country covered.
headline, topicsThe leading headline and ranked topic summaries.
topics[].article_refsOriginal article links, titles, sources, and publication times.
article_count, source_countEvidence volume recorded for that country/day.
generated_at, model, quality_statusGeneration and validation provenance.

schema_version is 2 and record_type is daily_brief. One country/day is one result, regardless of its number of topics. These are AI-generated summaries of recorded articles, so check source links before relying on a claim.

Refine or export

  • Set countries, published_from, and published_to to select a place and date range. Dates accept YYYY-MM-DD or relative ages such as 180 days. Daily briefs are limited to a 366-day query window.
  • Set max_results to the number of rows you want. Start with one; the limit is 1,000. Copy nextContinuationToken from the OUTPUT record into continuation_token to continue the same search.
  • Set output_mode to articles for article text, titles, original URLs and publication dates. Set it to ai_briefs to reuse stored article analysis or generate a new Basic/Pro brief where needed. Publisher and text filters apply to article modes only.
  • Set estimate_only: true for a bounded availability preview with no result rows. Set require_results: true for a monitoring run that should fail if the selection returns nothing.

Coverage varies by country, date, and source. A successful result demonstrates stored data for that selection; it does not guarantee comprehensive historical coverage. The OUTPUT record describes the rows returned, not the whole archive. Date filters, result caps and cursor pagination keep every run bounded.

Existing API clients can still request output_mode: "daily_summaries" for legacy topic rows. New integrations should use the default daily_briefs country/day records.

Pricing

Result charges remain $0.00039–$0.00059 per delivered result, depending on your Apify discount tier, plus a $0.00005 run start. A five-brief run costs about $0.002–$0.003 in Actor events, before any optional AI article generation. A newly generated Basic AI article brief adds $0.006; Pro adds $0.012. Reused stored briefs do not incur that extra AI event. The Apify Console shows the pricing in force for your account, including applicable discounts. Empty searches have no result-item charge, although the start event and platform usage may apply. Use estimate_only and a small max_results before large exports.

Use through the Apify API

This example uses apify-client 3.x.

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("thescrapelab/Apify-The-Rise-of-the-Phoenix").call(
run_input={
"output_mode": "daily_briefs",
"countries": ["South Africa"],
"max_results": 5,
}
)
if run is None:
raise RuntimeError("The run did not finish within the client's wait period")
dataset_id = run["defaultDatasetId"] if isinstance(run, dict) else run.default_dataset_id
for brief in client.dataset(dataset_id).iterate_items():
print(brief["date"], brief["headline"])

For the next page, read nextContinuationToken from the run's OUTPUT key-value record and use the same filters with continuation_token. The default dataset has an overview table and full JSON records.