CNN Articles Scraper
Pricing
from $2.10 / 1,000 results
CNN Articles Scraper
Fetches news articles from 12 CNN editions worldwide -- US, International, Espanol, Arabic, Brasil, Indonesia, Chile, Greece, Czechia, Portugal, Japan and Turkiye -- with headline, full body text, author, section, publish date and lead image, plus archive access back to 2011.
Pricing
from $2.10 / 1,000 results
Rating
0.0
(0)
Developer
Ibnu Adzim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
CNN Articles Scraper (12 Editions)
Scrapes news articles from twelve CNN editions worldwide in a single run — returning the full article body, not just a headline and a link.
| Editions | US, International, en Español, Arabic, Brasil, Indonesia, Chile, Greece, Czechia, Portugal, Japan, Türkiye |
| Returns | headline, full body text, description, author(s), section, publish + modified dates, keywords, lead image, word count, language |
| Archive depth | back to 2015 (US/International/Español), 2011 (Chile) |
| Method | HTTP only — public sitemaps and RSS feeds plus each article's own page. No browser, no login, no API key |
What you get
Every row carries the portfolio envelope — _input, _source, _scrapedAt,
recordType — plus the article fields. Three record types share the dataset:
ARTICLE— one per article.SEARCH_SUMMARY— one per edition (or edition + section), carrying the feed's own total, how many rows were returned, which feeds were read, which filters were actually applied, and how many video/gallery URLs were skipped.ERROR— one per input that failed. Every input maps to at least one row, so a missing edition is never silently absent.
_source tells you which strategy produced each row: S1-jsonld (the article's
own JSON-LD), S3-html (a CSS body container, used where the edition's JSON-LD
carries no body), or S2-sitemap (metadata only — the detail fetch failed, and
articleBodyFetchError says why).
Example input
{"editions": ["us", "brasil", "indonesia"],"maxItemsPerEdition": 25,"includeFullBody": true,"keywords": ["election"]}
Reaching into the archive:
{"editions": ["us"],"includeArchive": true,"sections": ["health"],"dateFrom": "2020-03-01","dateTo": "2020-03-31","maxArchivePartitions": 3}
Editions and how deep each one goes
| Edition | Recent feed | Archive |
|---|---|---|
us / intl | ~145 articles | 2,535 monthly partitions, by section, from 2015 |
espanol | ~108 | 3,435 partitions |
brasil | ~500 | 501 partitions |
greece | ~310 | 111 partitions |
chile | ~200 | 179 monthly partitions from 2011 |
portugal | ~173 | 2 partitions |
czech | ~118 | 50 partitions |
arabic | ~100 | 23 partitions |
indonesia | ~100 per section, 9 sections | 27 partitions |
turkiye | ~35 per section, 12 sections | none |
japan | 30 | none |
Sections
On CNN Indonesia and CNN Türk each section has its own feed, so a section becomes its own query with its own summary row:
- Indonesia:
nasional,internasional,ekonomi,olahraga,teknologi,otomotif,edukasi,hiburan,gaya-hidup - Türk:
turkiye,dunya,ekonomi,spor,saglik,teknoloji,kultur-sanat,yasam,otomobil,egitim,magazin
On US / International / en Español sections instead select which archive
partitions get fetched, and only when includeArchive is on. Other editions
publish one combined feed and ignore the field.
Known limits — read before you rely on it
usandintlare the same backend.www.cnn.comredirects toedition.cnn.com; their feeds differ by an item or two and article bodies are identical. Pick one unless you specifically need both hosts recorded.japanis shallow. CNN.co.jp publishes no sitemap at all — a 30-item RSS feed is the only machine-readable index that host offers, and there is no archive. Its articles are also genuinely short (translated wire copy, often under 200 characters).turkiyedate filtering is inert. CNN Türk publishes RFC-822 dates thatdateFrom/dateTocannot compare, so its rows are kept rather than silently dropped. Filter its output downstream if you need a hard date bound.- Keyword filtering is client-side. No CNN feed accepts a query parameter, so keywords are applied after fetching. For real server-side keyword search across CNN, use the companion CNN Search Scraper.
- Videos and galleries are excluded. CNN Arabic and CNN Portugal mix video
URLs into their news sitemaps; those pages have no article body, so they are
skipped and counted in
skippedNonArticleUrls. Use the companion CNN Videos Scraper and CNN Galleries Scraper for those. - CNN's sitemaps contain aliased duplicates. The same story can appear under
two slugs (e.g.
/coronavirus-cookingand/coronavirus-cooking-wellness). Both are real entries upstream and both are returned; de-duplication is by exact URL only. - Breaking-news stubs return a very short body. CNN Prima News publishes placeholder articles ("Podrobnosti připravujeme") before the story is written. That is real data, not a scrape failure.
Anti-bot
No bot mitigation was observed on the article path of any edition — all twelve
answer 200 on a cold, unproxied request. One exception:
www.cnn.com/cnn-underscored/* (the commerce subsection) is behind
PerimeterX. The built-in retry ladder rotates TLS profile and proxy exit on
each attempt and clears it without special handling.
TLS profile chrome124 by default, rotating through firefox133, safari17_0
and chrome99_android on retry. Apify Residential proxy is the default on
the platform.
Companion actors
- CNN Search Scraper — server-side keyword search across CNN.com
- CNN Videos Scraper — video metadata across the editions that publish it
- CNN Galleries Scraper — photo galleries and live stories
- CNN Sections Scraper — the section and tag taxonomy of each edition