BBC News API: List headlines
Lists the article headlines shown on a BBC News section page, in page order, with summary, publish time, authors, image and link.
Unofficial. Not affiliated with or endorsed by BBC News.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Section optional
section The news section to list, for example world.
top stories
One of
top stories,world,UK,US and Canada,business,technology,science,health. Defaulttop stories.- Max Results optional
max_results Maximum number of stories to return, for example 20.
5
Whole number from 1 to 50. Default
20.
Input as JSON
{ "section": "top stories", "max_results": 5}Output
{ "stories": [ { "authors": [ "Barbara Plett Usher", "Mohamed Madi" ], "section": "top stories", "summary": "The UN human rights chief Volker Türk says the multiple attacks may amount to war crimes.", "headline": "Hospitals deliberately targeted by Sudan's RSF fighters, BBC finds", "image_link": "https://ichef.bbci.co.uk/news/480/cpsprodpb/d6bf/live/fa5ffcb0-ce31-11f1-bc2e-018d645d8d21.jpg" , "article_link": "https://www.bbc.com/news/articles/c54g1kxw4nvvo" , "published_at": "2026-10-22T23:16:16.492000+00:00" }, { "authors": [ "Daniel De Simone", "Nalini Sivathasan" ], "section": "top stories", "summary": "Linda Williams was attacked by David Carrick, who was jailed in 2023 for sexual offences against 12 women.", "headline": "UK detective raped by colleague says police's handling of case 'like being raped again'", "image_link": "https://ichef.bbci.co.uk/news/480/cpsprodpb/3bae/live/f5a32300-ce54-11f1-a166-e30097724580.jpg" , "article_link": "https://www.bbc.com/news/articles/ckdd83dz0153o" , "published_at": "2026-10-23T05:00:05.833000+00:00" }, { "authors": [ "Jamie Whitehead", "Gabriela Pomeroy" ], "section": "top stories", "summary": "Protests will only be allowed in some towns and cities if organised by unions, and top museums will be closed on Saturday.", "headline": "Paris extends curfew as Marseille and Lyon ban protests after riots", "image_link": "https://ichef.bbci.co.uk/news/480/cpsprodpb/d603/live/9c9fdf10-ce4e-11f1-8507-d7f0bcb84e7e.jpg" , "article_link": "https://www.bbc.com/news/articles/cvde8g40xx42o" , "published_at": "2026-10-22T13:02:14.382000+00:00" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"bbc.com/list_headlines","input":{"section":"top stories","max_results":5}}' # 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": "bbc.com/list_headlines" , "input": { "section": "top stories", "max_results": 5 }})# 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": "bbc.com/list_headlines" , "input": { "section": "top stories", "max_results": 5 } }), 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 bbc.com/list_headlines# with {"section":"top stories","max_results":5}"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", "properties": { "section": { "enum": [ "top stories", "world", "UK", "US and Canada", "business", "technology", "science", "health" ], "type": "string", "default": "top stories", "description": "The news section to list, for example world." }, "max_results": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1, "description": "Maximum number of stories to return, for example 20." } }}Output schema
{ "type": "object", "required": [ "stories" ], "properties": { "stories": { "type": "array", "items": { "type": "object", "required": [ "headline", "summary", "published_at", "authors", "section", "image_link", "article_link" ], "properties": { "authors": { "type": "array", "items": { "type": "string" } }, "section": { "type": "string" }, "summary": { "type": [ "string", "null" ] }, "headline": { "type": "string" }, "image_link": { "type": [ "string", "null" ] }, "article_link": { "type": "string" }, "published_at": { "type": [ "string", "null" ], "format": "date-time", "description": "Publication time if a date appears on the section card." } }, "additionalProperties": false }, "description": "BBC News stories in the order displayed on the section page." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
bbc.com/list_headlines- Returns
- headline, summary, published_at, authors, section, image_link, article_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 bbc.com/list_headlines with the inputs above.
Ask your agent
- Show me the latest headlines from the BBC World section, up to 15 stories
- What are today's top stories on BBC News?
- Pull the 10 most recent UK news headlines with their publish times and authors
- Give me the business headlines from BBC News along with summaries and article links
- List up to 30 science and technology stories currently on the BBC news site
See more
All BBC News methodsFinds 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_newsReads the text and details of a BBC News article from its link or headline. Live coverage pages return the latest entries available.
bbc.com/read_articleLists the headlines on an NPR section page in page order, with summaries, publication times, authors, images and article links.
npr.org/list_headlinesLists the latest Reuters stories from a news section (top stories, business, markets, world, technology, legal or sustainability) in page order.
reuters.com/list_headlinesLists 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_headlinesLists the stories on a Guardian section front (top stories, world, UK, US, business, environment, technology, sport or culture) in page order, with the summary and image shown on the front, the publication time (as displayed, else from the story page), and each story's section and authors from its page.
theguardian.com/list_headlinesLists Fox News article headlines in the order shown on a news section page. Video-only items, ads and promotions are left out.
foxnews.com/list_headlinesLists AP News headlines in the order shown on a public section page, up to 50 stories. Author credits and the article section are added for the first 20 articles only.
apnews.com/list_headlines