CNN APIedition.cnn.com ↗
Retrieve CNN article metadata — headline, dek, authors, section, publish timestamps, and lead paragraph — from any cnn.com URL via a single API endpoint.
What is the CNN API?
The CNN Article Summary API exposes 8 structured fields per article through a single get_article_summary endpoint: headline, one-sentence dek, author array, section slug, published and modified ISO 8601 timestamps, lead paragraph, and the canonical URL. Pass any cnn.com or edition.cnn.com article URL and get back structured metadata without parsing HTML yourself.
curl -X GET 'https://api.parse.bot/scraper/063e22b1-66ee-4cb0-b951-f91cc2cfedcc/get_article_summary?url=https%3A%2F%2Fedition.cnn.com%2F2026%2F09%2F18%2Fpolitics%2Fus-military-ai-false-intelligence-china-ship' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace edition-cnn-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: CNN Article Summary API — fetch and inspect article metadata."""
from parse_apis.edition_cnn_com_api import CnnArticles, ArticleNotFound
client = CnnArticles()
# Fetch summary metadata for a CNN article by its full URL.
try:
article = client.articles.get(
url="https://edition.cnn.com/2026/09/18/politics/us-military-ai-false-intelligence-china-ship"
)
except ArticleNotFound:
print("Article not found at that URL.")
else:
print(article.title)
print("By:", ", ".join(article.authors))
print("Section:", article.section)
print("Published:", article.published_at)
print("Summary:", article.summary)
if article.lead_paragraph:
print("Lead:", article.lead_paragraph[:120])
print("exercised: articles.get")
Fetches one CNN article page and returns its summary metadata: headline, the site's own one-sentence summary (dek), author names, section slug, published/modified timestamps (ISO 8601 UTC), and the first body paragraph. One page request per call. Returns a not-found error when the site answers 404 for the URL; URLs not on cnn.com are rejected before any request. lead_paragraph, section, and modified_at can be null when the page does not carry them.
| Param | Type | Description |
|---|---|---|
| urlrequired | string | Full URL of a CNN article, on cnn.com or any of its subdomains (e.g. edition.cnn.com). |
{
"type": "object",
"fields": {
"url": "the article URL as supplied",
"title": "article headline",
"authors": "array of author display names",
"section": "section slug such as politics; null when absent",
"summary": "the site's one-sentence article summary (dek)",
"modified_at": "ISO 8601 UTC last-modified timestamp; null when absent",
"published_at": "ISO 8601 UTC publish timestamp",
"lead_paragraph": "first paragraph of the article body; null when absent"
},
"sample": {
"data": {
"url": "https://edition.cnn.com/2026/09/18/politics/us-military-ai-false-intelligence-china-ship",
"title": "Exclusive: US military had close call after using AI for false intelligence report, sources say",
"authors": [
"Katie Bo Lillis",
"Zachary Cohen"
],
"section": "politics",
"summary": "The episode shows the risks of using this new, relatively poorly understood technology in the middle of the Iran war",
"modified_at": "2026-09-18T16:55:50.899Z",
"published_at": "2026-09-18T16:55:50.899Z",
"lead_paragraph": "The intelligence report, circulated across the US military this spring in the midst of the war with Iran, immediately set off alarm bells: A Chinese ship in the Middle East was transporting components of a nuclear weapons program."
},
"status": "success"
}
}About the CNN API
What the API returns
The get_article_summary endpoint accepts a single required parameter — url, a full CNN article URL on any subdomain including edition.cnn.com — and returns a flat JSON object. The title field contains the article headline as published. The summary field is CNN's own editorial dek: the one-sentence description editors write to accompany the headline. The authors field is an array of display-name strings, so bylines with multiple contributors are preserved as separate elements.
Timestamps and section data
published_at is always present and formatted as ISO 8601 UTC. modified_at follows the same format but may be null if CNN has not recorded a modification date for that article. The section field returns CNN's internal section slug — for example politics, business, or health — and is null when the article URL does not include a recognizable section. These two fields together make it straightforward to filter a corpus by recency or topic area.
Lead paragraph and coverage scope
The lead_paragraph field returns the first body paragraph of the article text, which typically contains the news lede. It may be null for articles with non-standard body structures such as live blogs or video-primary pages. The endpoint returns a not-found error when the supplied URL resolves to a page that does not exist or is no longer accessible. Only one article is fetched per API call; there is no batch mode in the current implementation.
The CNN API is a managed, monitored endpoint for edition.cnn.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when edition.cnn.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official edition.cnn.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate CNN political coverage by monitoring
sectionslug andpublished_atfor a specific beat - Build a news briefing tool that surfaces
titleandsummary(dek) for quick scanning without full article text - Detect article corrections or updates by comparing
published_atagainstmodified_atover time - Populate author attribution metadata in a media monitoring dashboard using the
authorsarray - Feed the
lead_paragraphinto an NLP pipeline for entity extraction or topic classification - Track when specific CNN articles are first published by polling
published_aton known URL patterns
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does CNN have an official developer API?+
What does the `summary` field contain — is it machine-generated or editorial?+
summary field returns the article dek, which is the short one-sentence description written by CNN's editors and displayed on the article page alongside the headline. It is editorial copy, not an AI-generated or extracted summary.Does the API return the full article body text?+
lead_paragraph — the first body paragraph. Full article body text, inline media, pull quotes, and related links are not included in the response. You can fork this API on Parse and revise it to add full-body extraction as an additional endpoint.Are CNN live blogs or video-only articles supported?+
lead_paragraph may be null for live blogs, video-primary pages, and other non-standard formats where a conventional text lede is absent.