The Guardian API: Read article
Reads 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.
Unofficial. Not affiliated with or endorsed by The Guardian.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Article, required
article The article link or headline, for example https://www.theguardian.com/technology/2026/sep/28/ai-godfathers-warn-of-runaway-intelligence-explosion or AI godfathers warn of runaway intelligence explosion.
https://www.theguardian.com/technology/2026/sep/28/ai-godfathers-warn-of-runaway-intelligence-explosion
Input as JSON
{ "article": "https://www.theguardian.com/technology/2026/sep/28/ai-godfathers-warn-of-runaway-intelligence-explosion" }Output
{ "tags": [ "AI (artificial intelligence)", "OpenAI", "Anthropic" ], "authors": [ "Dan Milmo" ], "section": "Technology", "summary": "OpenAI chief scientist also among authors of report on prospect of ‘most consequential technological development in history’", "headline": "AI godfathers warn of runaway ‘intelligence explosion’", "article_id": "technology/2026/sep/28/ai-godfathers-warn-of-runaway-intelligence-explosion" , "paragraphs": [ "Two of the “godfathers” of modern AI and senior executives at OpenAI and Anthropic have warned governments to prepare for an AI “intelligence explosion”, which they say could be the most consequential technological development in history.", "A report co-authored by the Nobel laureate Geoffrey Hinton and the Canadian computer scientist Yoshua Bengio , considered godfathers of modern AI for their work in the field, urges politicians to act now before there is runaway progress in the technology.", "The authors say they are concerned about an “intelligence explosion”, which they describe as a “dramatic AI-driven acceleration of AI progress, compressing advances that would otherwise take years into months or less”." ], "updated_at": "2026-09-30T08:58:57+00:00", "word_count": 783, "article_url": "https://www.theguardian.com/technology/2026/sep/28/ai-godfathers-warn-of-runaway-intelligence-explosion" , "published_at": "2026-09-28T15:00:36+00:00", "main_image_url": "https://i.guim.co.uk/img/media/aec7cba8735b2ae3c20055f3561db31f83275566/0_0_4714_3771/master/4714.jpg?width=465&dpr=1&s=none&crop=none" , "main_image_caption": "Nobel laureate Geoffrey Hinton is among more than 20 authors of the report. Photograph: Johnny Guatto/University of Toronto/Reuters" , "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":"theguardian.com/read_article","input":{"article":"https://www.theguardian.com/technology/2026/sep/28/ai-godfathers-warn-of-runaway-intelligence-explosion"}}' # 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": "theguardian.com/read_article" , "input": { "article": "https://www.theguardian.com/technology/2026/sep/28/ai-godfathers-warn-of-runaway-intelligence-explosion" }})# 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": "theguardian.com/read_article" , "input": { "article": "https://www.theguardian.com/technology/2026/sep/28/ai-godfathers-warn-of-runaway-intelligence-explosion" } }), 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 theguardian.com/read_article# with {"article":"https://www.theguardian.com/technology/2026/sep/28/ai-godfathers-warn-of-runaway-intelligence-explosion"}"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": "The article link or headline, for example https://www.theguardian.com/technology/2026/sep/28/ai-godfathers-warn-of-runaway-intelligence-explosion or AI godfathers warn of runaway intelligence explosion." } }, "additionalProperties": false}Output schema
{ "type": "object", "required": [ "headline", "summary", "authors", "published_at", "updated_at", "section", "tags", "main_image_url", "main_image_caption", "paragraphs", "full_text_available", "word_count", "article_url", "article_id" ], "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", "x-fous-developer": true }, "paragraphs": { "type": "array", "items": { "type": "string" } }, "updated_at": { "type": [ "string", "null" ], "format": "date-time" }, "word_count": { "type": "integer" }, "article_url": { "type": "string" }, "published_at": { "type": [ "string", "null" ], "format": "date-time" }, "main_image_url": { "type": [ "string", "null" ] }, "main_image_caption": { "type": [ "string", "null" ] }, "full_text_available": { "type": "boolean" } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
theguardian.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 theguardian.com/read_article with the inputs above.
Ask your agent
- Pull the full text of this piece for me: https://www.theguardian.com/environment/2025/mar/14/uk-heatwave-record-temperatures-climate-scientists
- Can you get me the byline, publish date and every paragraph of the Guardian article titled 'Bank of England holds interest rates as inflation stalls'?
- I need the complete body and word count of the article 'Rishi Sunak announces snap general election for July' so I can quote it in my essay.
- What are the latest updates on this live blog? https://www.theguardian.com/sport/live/2025/jul/06/wimbledon-day-seven-live-scores-updates
- Fetch the article headlined 'Scientists discover new species of deep-sea octopus off Australia' from theguardian.com and give me its summary, tags, section and main image.
See more
All The Guardian methodsSearches Guardian articles by keyword through the public Google News feed for theguardian.com, optionally within publication dates, ordered newest first or by relevance, and returns each article's headline, summary, authors, section and publication time from its Guardian page.
theguardian.com/search_newsLists 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_headlinesReads 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_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 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_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 the full text and details of one public AP News article from its link or headline.
apnews.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_article