# CNN API

> CNN returns news headlines, article search results, and article text, available as a workflow and API.

CNN’s List headlines method returns stories from a selected news section and takes a section, with an optional result maximum. CNN’s Search news method returns articles matching required search words, with optional dates, sort order, page, and result maximum. CNN’s Read article method returns public text and details for an article link or headline; subscriber stories provide only a brief public preview.

- Page: https://fous.com/tools/cnn
- Handle: `@cnn`
- Category: [News](https://fous.com/tools/category/news)
- Source website: https://cnn.com
- Last verified: Sep 28, 2026

## Methods

### List headlines

Operation `list_headlines`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List CNN headlines in the order shown on a selected news section page, with story details when available. Excludes promotions and video-only items.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `section` | string | no | `"US"` | News section to list, for example world. |
| `max_results` | integer | no | `5` | Maximum number of stories to return, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "section": {
      "enum": [
        "top stories",
        "US",
        "world",
        "politics",
        "business",
        "health",
        "entertainment",
        "science"
      ],
      "type": "string",
      "default": "top stories",
      "description": "News section to list, for example world.",
      "examples": [
        "US",
        "top stories",
        "entertainment"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum number of stories to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        5,
        20,
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "section": "US",
      "max_results": 5
    },
    {
      "section": "top stories",
      "max_results": 20
    },
    {
      "section": "entertainment",
      "max_results": 3
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `stories` | array |  |  |
| `stories[].authors` | array |  |  |
| `stories[].section` | string | `"US"` |  |
| `stories[].summary` | string or null | `"CNN’s 5 Things PM brings you the stories you might have missed during your busy day."` |  |
| `stories[].headline` | string | `"Starship passes test, fact-checking Trump, tales from the DMV: Catch up on the day’s stories"` |  |
| `stories[].image_link` | string or null | `"https://media.cnn.com/api/v1/images/stellar/prod/ap26271485626484.jpg?c=original"` |  |
| `stories[].article_link` | string | `"https://www.cnn.com/2026/09/28/us/5-things-september-28-trnd"` |  |
| `stories[].published_at` | string or null | `"2026-09-28T21:05:43.857000+00:00"` | Publication date and time in ISO 8601 with offset, if shown. |

**Example input**

```json
{
  "section": "US",
  "max_results": 5
}
```

**Example output**

```json
{
  "stories": [
    {
      "authors": [
        "Daniel Wine"
      ],
      "section": "US",
      "summary": "CNN’s 5 Things PM brings you the stories you might have missed during your busy day.",
      "headline": "Starship passes test, fact-checking Trump, tales from the DMV: Catch up on the day’s stories",
      "image_link": "https://media.cnn.com/api/v1/images/stellar/prod/ap26271485626484.jpg?c=original",
      "article_link": "https://www.cnn.com/2026/09/28/us/5-things-september-28-trnd",
      "published_at": "2026-09-28T21:05:43.857000+00:00"
    },
    {
      "authors": [
        "Nicki Brown",
        "Eric Levenson"
      ],
      "section": "US",
      "summary": "The prosecution and defense rested Monday in the murder trial of Caleb Flynn, the former “American Idol” contestant accused of killing his wife and staging the crime scene.",
      "headline": "Caleb Flynn’s defense rests without calling any witnesses in his murder trial",
      "image_link": "https://media.cnn.com/api/v1/images/stellar/prod/caleb-flynn-092526-1.jpg?c=original",
      "article_link": "https://www.cnn.com/2026/09/28/us/caleb-flynn-trial",
      "published_at": "2026-09-28T19:02:18.329000+00:00"
    },
    {
      "authors": [
        "Hanna Park",
        "Danya Gainor",
        "Holly Yan"
      ],
      "section": "US",
      "summary": "Prosecutors in New York are reopening an investigation into an alleged gang rape of a former Cornell University student after the woman filed a civil lawsuit this month claiming the school did not do …",
      "headline": "New York prosecutors reopen investigation after student files lawsuit over alleged gang rape at Cornell University",
      "image_link": "https://media.cnn.com/api/v1/images/stellar/prod/gettyimages-1762566666.jpg?c=original",
      "article_link": "https://www.cnn.com/2026/09/28/us/cornell-university-sexual-assault-lawsuit-hnk",
      "published_at": "2026-09-28T11:29:57.532000+00:00"
    }
  ]
}
```

### Read article

Operation `read_article`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Read the headline, details, and public text of a CNN article from its link or headline. Subscriber stories return only a brief public preview; live blogs include their entries.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `article` | string | yes | `"https://www.cnn.com/2026/09/28/politics/justice-alito-recuses-climate-change-boulder-suncor"` | CNN article link or headline, for example Alito recuses himself from major Supreme Court climate change case. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "article"
  ],
  "properties": {
    "article": {
      "type": "string",
      "description": "CNN article link or headline, for example Alito recuses himself from major Supreme Court climate change case.",
      "examples": [
        "https://www.cnn.com/2026/09/28/politics/justice-alito-recuses-climate-change-boulder-suncor",
        "Alito recuses himself from major Supreme Court climate change case",
        "https://www.cnn.com/2026/09/28/politics/kfile-bo-french-tweets-executions"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "article": "https://www.cnn.com/2026/09/28/politics/justice-alito-recuses-climate-change-boulder-suncor"
    },
    {
      "article": "Alito recuses himself from major Supreme Court climate change case"
    },
    {
      "article": "https://www.cnn.com/2026/09/28/politics/kfile-bo-french-tweets-executions"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `tags` | array |  |  |
| `authors` | array |  |  |
| `section` | string or null | `"Politics"` |  |
| `summary` | string or null | `"Supreme Court Justice Samuel Alito announced Monday that he will recuse himself from a major climate change-related cas` |  |
| `headline` | string | `"Alito recuses himself from major Supreme Court climate change case"` |  |
| `article_id` | string or null | `"cmuljayrn000027qj5nx0drzl"` |  |
| `paragraphs` | array |  |  |
| `updated_at` | string or null | `"2026-09-28T19:56:55.246+00:00"` |  |
| `word_count` | integer | `329` |  |
| `article_url` | string | `"https://www.cnn.com/2026/09/28/politics/justice-alito-recuses-climate-change-boulder-suncor"` |  |
| `published_at` | string or null | `"2026-09-28T18:07:16.542+00:00"` |  |
| `main_image_url` | string or null | `"https://media.cnn.com/api/v1/images/stellar/prod/gettyimages-2194936744.jpg?c=original"` |  |
| `main_image_caption` | string or null | `"Associate Supreme Court Justice Samuel Alito Jr. attends President Donald Trump's inauguration in the Rotunda of the US` |  |
| `full_text_available` | boolean | `true` |  |

**Example input**

```json
{
  "article": "https://www.cnn.com/2026/09/28/politics/justice-alito-recuses-climate-change-boulder-suncor"
}
```

**Example output**

```json
{
  "tags": [],
  "authors": [
    "John Fritze"
  ],
  "section": "Politics",
  "summary": "Supreme Court Justice Samuel Alito announced Monday that he will recuse himself from a major climate change-related case the court is set to hear next week, following weeks of pressure from environmen…",
  "headline": "Alito recuses himself from major Supreme Court climate change case",
  "article_id": "cmuljayrn000027qj5nx0drzl",
  "paragraphs": [
    "Supreme Court Justice Samuel Alito announced Monday that he will recuse himself from a major climate change-related case the court is set to hear next week, following weeks of pressure from environmen…",
    "In a brief letter sent to the parties in the case, the Supreme Court’s clerk wrote that the conservative justice had “determined that he will not continue to participate in this case,” but did not off…",
    "The climate issue will be the first case argued at the Supreme Court as it opens its new term next Monday. It deals with whether Boulder, Colorado, may sue Suncor Energy and Exxon Mobil for damages ca…"
  ],
  "updated_at": "2026-09-28T19:56:55.246+00:00",
  "word_count": 329,
  "article_url": "https://www.cnn.com/2026/09/28/politics/justice-alito-recuses-climate-change-boulder-suncor",
  "published_at": "2026-09-28T18:07:16.542+00:00",
  "main_image_url": "https://media.cnn.com/api/v1/images/stellar/prod/gettyimages-2194936744.jpg?c=original",
  "main_image_caption": "Associate Supreme Court Justice Samuel Alito Jr. attends President Donald Trump's inauguration in the Rotunda of the US Capitol on January 20, 2025.",
  "full_text_available": true
}
```

### Search news

Operation `search_news`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Search CNN articles by keyword, with optional publication dates, sort order, and pagination. Returns public CNN article details.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `page` | integer | no | `2` | Results page, for example 2. |
| `sort` | string | no | `"most_relevant"` | Order the articles by publication time or search relevance, for example newest. |
| `query` | string | yes | `"Tesla"` | Words to search CNN articles for, for example Tesla. |
| `to_date` | string | no | `"2026-09-28"` | Latest publication date, inclusive, for example 2026-09-28. |
| `from_date` | string | no | `"2026-01-01"` | Earliest publication date, inclusive, for example 2026-01-01. |
| `max_results` | integer | no | `3` | Maximum articles per page, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "description": "Results page, for example 2.",
      "x-fous-developer": true,
      "examples": [
        2
      ]
    },
    "sort": {
      "enum": [
        "newest",
        "most_relevant"
      ],
      "type": "string",
      "default": "newest",
      "description": "Order the articles by publication time or search relevance, for example newest.",
      "examples": [
        "most_relevant"
      ]
    },
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Words to search CNN articles for, for example Tesla.",
      "examples": [
        "Tesla"
      ]
    },
    "to_date": {
      "type": "string",
      "format": "date",
      "description": "Latest publication date, inclusive, for example 2026-09-28.",
      "examples": [
        "2026-09-28"
      ]
    },
    "from_date": {
      "type": "string",
      "format": "date",
      "description": "Earliest publication date, inclusive, for example 2026-01-01.",
      "examples": [
        "2026-01-01"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum articles per page, for example 20.",
      "x-fous-developer": true,
      "examples": [
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "page": 2,
      "sort": "most_relevant",
      "query": "Tesla",
      "max_results": 3
    },
    {
      "query": "Tesla"
    },
    {
      "query": "Tesla",
      "to_date": "2026-09-28",
      "from_date": "2026-01-01",
      "max_results": 3
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `articles` | array |  | Matching CNN articles. |
| `articles[].link` | string | `"https://www.cnn.com/2026/01/13/business/tesla-robotaxi-musk-2026"` |  |
| `articles[].authors` | array |  |  |
| `articles[].section` | string or null | `"business"` |  |
| `articles[].summary` | string or null | `"Tesla’s robotaxi service has been mostly hypothetical so far, but it’s certainly taking the company’s shareholders for ` |  |
| `articles[].headline` | string | `"Tesla’s profit engine is sputtering. Elon Musk has bet its future on a promise he’s far from delivering"` |  |
| `articles[].published_at` | string | `"2026-01-13T12:00:59.529000+00:00"` |  |

**Example input**

```json
{
  "page": 2,
  "sort": "most_relevant",
  "query": "Tesla",
  "max_results": 3
}
```

**Example output**

```json
{
  "articles": [
    {
      "link": "https://www.cnn.com/2026/01/13/business/tesla-robotaxi-musk-2026",
      "authors": [
        "Chris Isidore"
      ],
      "section": "business",
      "summary": "Tesla’s robotaxi service has been mostly hypothetical so far, but it’s certainly taking the company’s shareholders for a real ride.",
      "headline": "Tesla’s profit engine is sputtering. Elon Musk has bet its future on a promise he’s far from delivering",
      "published_at": "2026-01-13T12:00:59.529000+00:00"
    },
    {
      "link": "https://www.cnn.com/2026/01/02/business/tesla-byd-ev",
      "authors": [
        "Chris Isidore, John Liu"
      ],
      "section": "business",
      "summary": "In 2011, Tesla CEO Elon Musk dismissed Chinese electric vehicle maker BYD as a competitor. But some 14 years later, BYD beat the American EV pioneer at its own game.",
      "headline": "The world has a new EV king. It’s not Tesla",
      "published_at": "2026-01-02T14:21:52.167000+00:00"
    },
    {
      "link": "https://www.cnn.com/2025/10/22/business/tesla-earnings",
      "authors": [
        "Chris Isidore"
      ],
      "section": "business",
      "summary": "Tesla reported a quarterly revenue record Wednesday, but earnings still managed to miss analyst forecasts and fall from a year ago.",
      "headline": "Tesla’s best quarter of year isn’t enough to impress investors. Because they know it won’t last",
      "published_at": "2025-10-22T11:00:54.032000+00:00"
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@cnn",
  "visibility": "public",
  "operation": "list_headlines",
  "version": 1,
  "input": {
    "section": "US",
    "max_results": 5
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@cnn\",\n  \"visibility\": \"public\",\n  \"operation\": \"list_headlines\",\n  \"version\": 1,\n  \"input\": {\n    \"section\": \"US\",\n    \"max_results\": 5\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@cnn",
  "visibility": "public",
  "operation": "list_headlines",
  "version": 1,
  "input": {
    "section": "US",
    "max_results": 5
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/cnn`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `list_headlines`: List headlines. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `read_article`: Read article. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_news`: Search news. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-cnn https://api.fous.com/mcp/tools/cnn --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Track headlines across selected news sections
- Find articles about a topic within a date range
- Review public article text and details for research
- Monitor article authors, sections, and publication times

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this CNN tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a CNN account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from cnn.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 28, 2026.

### What headlines appear in a selected news section?

List headlines returns stories in the order shown on the selected section page.

### Which CNN articles match a search term?

Search news finds articles matching the required query, with optional publication dates and sort order.

### What does a CNN article say?

Read article returns public article text and details from a link or headline; subscriber stories provide only a brief public preview.

## Related

- [All News tools](https://fous.com/tools/category/news)
