BBC News API: Read article
Reads the text and details of a BBC News article from its link or headline. Live coverage pages return the latest entries available.
Unofficial. Not affiliated with or endorsed by BBC News.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Article, required
article BBC News article link or headline, for example "Five men arrested in RAF Fairford incident released on police bail".
Five men arrested in RAF Fairford incident released on police bail
Input as JSON
{ "article": "Five men arrested in RAF Fairford incident released on police bail"}Output
{ "tags": [ "Fairford Royal Air Force Base", "Counter-terrorism" ], "authors": [ "Matt Spivey", "Tara Mewawalla" ], "section": "Gloucestershire", "summary": "Police are exploring whether proxies or individuals working on behalf of a foreign state are involved.", "headline": "Five men arrested in RAF Fairford incident released on police bail", "article_id": "c6e9elmpvglno", "paragraphs": [ "Five men who were arrested on suspicion of terrorism offences near RAF Fairford are being released on police bail, counter-terror police have said.", "A major incident was declared and dozens of homes were evacuated after police were alerted to three \"suspicious vehicles\" near the airbase in Gloucestershire in the early hours of Sunday morning.", "Counter Terrorism Policing (CTP) said officers were exploring \"multiple lines of inquiry\", including whether proxies or individuals working on behalf of a foreign state were involved." ], "word_count": 780, "article_url": "https://www.bbc.com/news/articles/c6e9elmpvglno" , "published_at": "2026-09-28T19:16:26.195+00:00", "main_image_url": "https://ichef.bbci.co.uk/news/1024/branded_news/b523/live/4b9ddb40-bb6a-11f1-9ecf-8dd029790cef.jpg" , "last_updated_at": "2026-10-20T14:49:21.000+00:00", "main_image_caption": null, "full_text_available": true}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"bbc.com/read_article","input":{"article":"Five men arrested in RAF Fairford incident released on police bail"}}' # 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/read_article" , "input": { "article": "Five men arrested in RAF Fairford incident released on police bail" }})# 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/read_article" , "input": { "article": "Five men arrested in RAF Fairford incident released on police bail" } }), 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/read_article# with {"article":"Five men arrested in RAF Fairford incident released on police bail"}"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": [ "article" ], "properties": { "article": { "type": "string", "description": "BBC News article link or headline, for example \"Five men arrested in RAF Fairford incident released on police bail\"." } }}Output schema
{ "type": "object", "required": [ "headline", "authors", "tags", "paragraphs", "full_text_available", "word_count", "article_url" ], "properties": { "tags": { "type": "array", "items": { "type": "string" } }, "authors": { "type": "array", "items": { "type": "string" } }, "section": { "type": [ "string", "null" ] }, "summary": { "type": [ "string", "null" ] }, "headline": { "type": "string" }, "article_id": { "type": [ "string", "null" ] }, "paragraphs": { "type": "array", "items": { "type": "string" }, "description": "Full article text in plain-text paragraphs, or latest live entries." }, "word_count": { "type": "integer" }, "article_url": { "type": "string" }, "published_at": { "type": [ "string", "null" ], "description": "First publication date and time, ISO 8601 with offset." }, "main_image_url": { "type": [ "string", "null" ] }, "last_updated_at": { "type": [ "string", "null" ], "description": "Last update date and time, ISO 8601 with offset." }, "main_image_caption": { "type": [ "string", "null" ] }, "full_text_available": { "type": "boolean" } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
bbc.com/read_article- Returns
- headline, summary, authors, dates, section, tags, image, paragraphs, word count, URL
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/read_article with the inputs above.
Ask your agent
- Can you pull up the full text and byline of the BBC article titled "Five men arrested in RAF Fairford incident released on police bail"?
- I need the headline, publication date, and tags for this BBC News story: https://www.bbc.com/news/articles/example-fairford-arrests
- Get me the paragraphs and word count from a recent BBC News report on the Fairford arrests.
- What section does this BBC News piece sit in, and who wrote it? Here is the link: bbc.com/news/world-europe-fairford
- Summarise the BBC article about men released on police bail after the RAF Fairford incident and list its image and dates.
See more
All BBC News methodsLists the article headlines shown on a BBC News section page, in page order, with summary, publish time, authors, image and link.
bbc.com/list_headlinesFinds 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 one public Guardian article by link or headline and returns its details and available full-text paragraphs. Live blogs return the latest entries shown on the page; some older articles may be unavailable.
theguardian.com/read_articleReads an NPR article by its link or headline and returns its text and publication details. For live blogs, returns the displayed updates.
npr.org/read_articleReads the full text and details of one public AP News article from its link or headline.
apnews.com/read_articleReads 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_articleReads a public Yahoo News article from its link or headline and returns its text and details. Headline matching uses Yahoo News search results.
yahoo.com/read_articleReads a public Daily Mail article from its link, or from a headline (the best-matching result of the site's search), and returns its text and details; live blogs give the latest entries shown on the page.
dailymail.co.uk/read_article