Al Jazeera API: Read an article
Reads one public Al Jazeera article from its link, or from a headline (the best match of the site's own search), and returns its text and details; live blogs give their latest ten entries.
Unofficial. Not affiliated with or endorsed by Al Jazeera.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Article, required
article The article link or headline, for example Iran touts Hormuz attacks as oil flows increase despite tensions.
https://www.aljazeera.com/news/liveblog/2026/9/28/iran-war-live-tehran-warns-its-fully-prepared-for-war-amid-hormuz-tensions
Input as JSON
{ "article": "https://www.aljazeera.com/news/liveblog/2026/9/28/iran-war-live-tehran-warns-its-fully-prepared-for-war-amid-hormuz-tensions" }Output
{ "tags": [ "US-Israel war on Iran" ], "authors": [ "Adam Hancock", "Mohammed R Mhawish", "Umut Uras" ], "section": "News", "summary": "These were the updates on the US-Israel war on Iran from Monday, September 28, 2026.", "headline": "Iran war updates: Trump says US officials met Iran war mediators", "article_id": "4993668", "paragraphs": [ "Our coverage continues", "This live page is now closed, but our round-the-clock coverage of the US-Israel war on Iran, the fighting in Yemen, as well as Israel’s attacks on Gaza, the occupied West Bank and Lebanon continues.", "Go here for all the latest breaking news, updates and analysis." ], "updated_at": "2026-09-29T00:00:49+00:00", "word_count": 1223, "article_url": "https://www.aljazeera.com/news/liveblog/2026/9/28/iran-war-live-tehran-warns-its-fully-prepared-for-war-amid-hormuz-tensions" , "published_at": "2026-09-28T00:00:00+00:00", "main_image_url": "https://www.aljazeera.com/wp-content/uploads/2026/09/2026-09-28T190103Z_1194885279_RC2ISNAOQG7U_RTRMADP_3_USA-TRUMP-STEEL-1790623091.jpg?resize=1920%2C1440" , "main_image_caption": "[Kevin Lamarque/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":"aljazeera.com/read_article","input":{"article":"https://www.aljazeera.com/news/liveblog/2026/9/28/iran-war-live-tehran-warns-its-fully-prepared-for-war-amid-hormuz-tensions"}}' # 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": "aljazeera.com/read_article" , "input": { "article": "https://www.aljazeera.com/news/liveblog/2026/9/28/iran-war-live-tehran-warns-its-fully-prepared-for-war-amid-hormuz-tensions" }})# 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": "aljazeera.com/read_article" , "input": { "article": "https://www.aljazeera.com/news/liveblog/2026/9/28/iran-war-live-tehran-warns-its-fully-prepared-for-war-amid-hormuz-tensions" } }), 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 aljazeera.com/read_article# with {"article":"https://www.aljazeera.com/news/liveblog/2026/9/28/iran-war-live-tehran-warns-its-fully-prepared-for-war-amid-hormuz-tensions"}"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 Iran touts Hormuz attacks as oil flows increase despite tensions." } }}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", "null" ], "x-fous-developer": true }, "paragraphs": { "type": "array", "items": { "type": "string" } }, "updated_at": { "type": [ "string", "null" ], "description": "Last update in ISO 8601 with timezone offset." }, "word_count": { "type": "integer" }, "article_url": { "type": "string" }, "published_at": { "type": [ "string", "null" ], "description": "Publication date and time in ISO 8601 with timezone offset." }, "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
aljazeera.com/read_article- Returns
- headline, summary, authors, publication and update times, section, tags, main image and caption, paragraphs, word count, article link and ID
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 aljazeera.com/read_article with the inputs above.
Ask your agent
- Pull the full text of the Al Jazeera piece at https://www.aljazeera.com/news/2024/3/12/gaza-ceasefire-talks-stall-as-ramadan-begins, including who wrote it and when it was last updated
- Can you get me the article titled "Sudan's army retakes key bridge in Khartoum"? I need the paragraphs, the tags, and the word count.
- What are the latest entries on Al Jazeera's live blog about the Russia-Ukraine war today?
- Find the story headlined "Iran touts Hormuz attacks as oil flows increase despite tensions" and give me its summary, author names, and main image caption
- I have this link: aljazeera.com/economy/2025/1/8/why-global-food-prices-are-rising-again — fetch the body text and tell me which section it's filed under and when it was published
See more
All Al Jazeera methodsSearches Al Jazeera articles by keyword, newest first or by relevance, with optional publication dates, and returns each article's headline, summary, time, authors and section. Searches up to the 100 matches Al Jazeera's search offers.
aljazeera.com/search_newsLists current headlines from an Al Jazeera section page in page order, with summaries, bylines, publish times, images and article links. Pages further into the section through the site's feed when needed.
aljazeera.com/list_headlinesReads 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 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 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 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