CNN API: Search news
Searches CNN articles by keyword, with optional publication date range, sort order and pagination.
Unofficial. Not affiliated with or endorsed by CNN.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Page optional
page Results page, for example 2.
1 (default)
Whole number 1 or more.
- Sort optional
sort Order the articles by publication time or search relevance, for example newest.
newest (default)
One of
newest,most_relevant.- Query, required
query Words to search CNN articles for, for example Tesla.
Tesla
- To Date optional
to_date Latest publication date (YYYY-MM-DD), inclusive, for example 2026-09-28.
Not set
- From Date optional
from_date Earliest publication date (YYYY-MM-DD), inclusive, for example 2026-01-01.
Not set
- Max Results optional
max_results Maximum articles per page, for example 20.
20 (default)
Whole number from 1 to 50.
Input as JSON
{ "query": "Tesla"}Output
{ "articles": [ { "link": "https://www.cnn.com/2026/09/03/business/tesla-robotaxi-cybercab-self-driving-cars" , "authors": [ "Chris Isidore" ], "section": "business", "summary": "Nothing is more important to Tesla than its ambitious plan for self-driving “robotaxis.” But even as it hosts an event for its Cybercab service Thursday, it still has a long way to catch up to the competition in an industry where few have made any money at all.", "headline": "Tesla keeps hyping robotaxis as its future. But it’s trailing rival Waymo in a field yet to prove profitable", "published_at": "2026-09-03T11:00:29.258000+00:00" }, { "link": "https://www.cnn.com/business/tech/elon-musk-tesla-risk-takers" , "authors": [ "Hadas Gold" ], "section": "business", "summary": "Tesla dominated the electric vehicle industry by the mid-2010s with sleek, fast cars that helped combat the public perception that EVs were severely limited by short ranges.", "headline": "Elon Musk is betting Tesla’s future isn’t about cars at all", "published_at": "2026-01-29T13:25:59.868000+00:00" }, { "link": "https://www.cnn.com/2026/01/28/business/tesla-q4-2025-earnings" , "authors": [ "Chris Isidore" ], "section": "business", "summary": "Tesla CEO Elon Musk, who turned an upstart electric vehicle maker into an industry-changing powerhouse, is pulling the plug on the two models that helped get him there, as he struggles with another quarter of declining profits and car sales.", "headline": "Tesla scraps Model S and Model X to build robots", "published_at": "2026-01-28T21:11:57.591000+00:00" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"cnn.com/search_news","input":{"query":"Tesla"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "cnn.com/search_news" , "input": { "query": "Tesla" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "cnn.com/search_news" , "input": { "query": "Tesla" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run cnn.com/search_news# with {"query":"Tesla"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "query" ], "properties": { "page": { "type": "integer", "default": 1, "minimum": 1, "description": "Results page, for example 2." }, "sort": { "enum": [ "newest", "most_relevant" ], "type": "string", "default": "newest", "description": "Order the articles by publication time or search relevance, for example newest." }, "query": { "type": "string", "minLength": 1, "description": "Words to search CNN articles for, for example Tesla." }, "to_date": { "type": "string", "description": "Latest publication date (YYYY-MM-DD), inclusive, for example 2026-09-28." }, "from_date": { "type": "string", "description": "Earliest publication date (YYYY-MM-DD), inclusive, for example 2026-01-01." }, "max_results": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1, "description": "Maximum articles per page, for example 20." } }}Output schema
{ "type": "object", "required": [ "articles" ], "properties": { "articles": { "type": "array", "items": { "type": "object", "required": [ "headline", "published_at", "authors", "link" ], "properties": { "link": { "type": "string" }, "authors": { "type": "array", "items": { "type": "string" } }, "section": { "type": [ "string", "null" ] }, "summary": { "type": [ "string", "null" ] }, "headline": { "type": "string" }, "published_at": { "type": "string" } } }, "description": "Matching CNN articles." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
cnn.com/search_news- Returns
- headline, summary, published time, authors, section, link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method cnn.com/search_news with the inputs above.
Ask your agent
- Find CNN articles about wildfire evacuations from the first week of March 2026, newest first.
- Look up the latest coverage of interest rate decisions published between 2025-11-01 and 2025-12-15.
- Show me the most relevant articles mentioning Ukraine peace talks, page 3 with 10 results per page.
- Search CNN for stories on electric vehicle battery recalls sorted by relevance, limited to January 2026.
- I need newest articles on the Olympic figure skating trials published from 2026-02-01 through 2026-02-28, 50 per page.
See more
All CNN methodsLists CNN headlines in the order shown on a chosen news section page (top stories, US, world, politics, business, health, entertainment or science), with each story's summary, publication time, authors and image when available. Promotions and video-only items are left out.
cnn.com/list_headlinesReads a CNN article by link or headline and returns its headline, summary, authors, dates, section, tags, main image and public paragraphs. Subscriber stories return only a brief public preview; live blogs include their entries.
cnn.com/read_articleSearches Reuters articles by keyword through Google News, with optional publication date range, order and page. Summaries and bylines are filled in when Reuters serves the article page.
reuters.com/search_newsFinds BBC News articles matching search words, newest first or by relevance, with publication time, authors, section and summary, optionally limited to a date range. Date filters and newest order apply to the first 180 search matches; older or less relevant matches may be missed.
bbc.com/search_newsSearches CNBC-published articles by keyword, with optional publication date range, sort order and pagination. Excludes videos, wire stories and press releases.
cnbc.com/search_newsSearches NPR-published articles by keyword, newest first or by best match, with optional publication dates, and returns each article's date, authors, section and summary.
npr.org/search_newsSearches Yahoo News articles by keyword, newest first or by relevance, with optional publication dates and pages; returns only articles hosted on Yahoo News, with authors, original publisher and section.
yahoo.com/search_newsSearches Fox News articles by keyword, with date filtering, ordering and pagination, over the first 100 matches.
foxnews.com/search_news