# 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/workflows/cnn
- Handle: `@cnn`
- Category: [News](https://fous.com/workflows/category/news)
- Source website: https://cnn.com
- Last verified: Sep 28, 2026
- Fous is not affiliated with CNN.

## Methods

### List headlines

Operation `list_headlines`, version 1. 1 credit per call.

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 call.

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 call.

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

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_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.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

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=120) 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.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_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);
```

Or describe the data in plain language: send `{"api":"@cnn","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## 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

### Is Fous affiliated with CNN?

No. Fous is not affiliated with CNN. This workflow reads the public cnn.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. 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; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check 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

- [CNBC API](https://fous.com/workflows/cnbc.md): CNBC provides business news, page-view headlines, searchable CNBC articles excluding videos, wire stories and press releases, and potentially delayed major index and U.S. futures quotes.
- [Fox News API](https://fous.com/workflows/fox-news.md): Fox News returns section-page headlines, keyword-matched articles among up to 100 available results, and readable article text, including the latest live-blog updates.
- [NPR API](https://fous.com/workflows/npr.md): NPR returns displayed section headlines, searchable articles with summaries and publication details, and available article text; date-filtered searches may miss older stories edited much later.
- [Al Jazeera API](https://fous.com/workflows/al-jazeera.md): Al Jazeera provides news and analysis, current section headlines and article details, plus keyword-searchable articles; searches and live blogs may show only leading matches or latest updates.
- [The New York Times API](https://fous.com/workflows/the-new-york-times.md): The New York Times provides current section headlines and summaries, keyword-matched public listings with dates, authors, sections and links, and Best Sellers lists for the latest issue or dates within a week.
- [The Wall Street Journal API](https://fous.com/workflows/the-wall-street-journal.md): The Wall Street Journal provides news-section headlines and searchable public article headlines and summaries, with available story details and publication dates for search filtering.
- [BBC News API](https://fous.com/workflows/bbc-news.md): BBC News returns section-ordered headlines, searchable articles with dates, authors and sections (filters/newest sorting cover 180 matches), and article text with available latest live entries.
- [AP News API](https://fous.com/workflows/ap-news.md): AP News provides reporting, up to 50 public-page headlines, searchable articles visible in its search, and full text when accessible.
- [All News workflows](https://fous.com/workflows/category/news)
