Historical Country News Briefs & Article Archive
Pricing
from $0.39 / 1,000 results
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
Maintained by CommunityActor stats
2
Bookmarked
2
Total users
0
Monthly active users
2 days ago
Last modified
Categories
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:
| Field | Meaning |
|---|---|
date, country | The day and country covered. |
headline, topics | The leading headline and ranked topic summaries. |
topics[].article_refs | Original article links, titles, sources, and publication times. |
article_count, source_count | Evidence volume recorded for that country/day. |
generated_at, model, quality_status | Generation 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, andpublished_toto select a place and date range. Dates acceptYYYY-MM-DDor relative ages such as180 days. Daily briefs are limited to a 366-day query window. - Set
max_resultsto the number of rows you want. Start with one; the limit is 1,000. CopynextContinuationTokenfrom theOUTPUTrecord intocontinuation_tokento continue the same search. - Set
output_modetoarticlesfor article text, titles, original URLs and publication dates. Set it toai_briefsto 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: truefor a bounded availability preview with no result rows. Setrequire_results: truefor 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 ApifyClientclient = 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_idfor 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.