Yahoo API: List Yahoo News headlines
Lists the latest Yahoo News headlines for a section in page order, with summary, byline, original publisher, image and publication time when the article provides them.
Unofficial. Not affiliated with or endorsed by Yahoo.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Section optional
section News section to list, for example world.
politics
One of
top stories,US,world,politics,health,science. Defaulttop stories.- Max Results optional
max_results Maximum number of headlines to return, for example 20.
3
Whole number from 1 to 50. Default
20.
Input as JSON
{ "section": "politics", "max_results": 3}Output
{ "stories": []}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"yahoo.com/list_headlines","input":{"section":"politics","max_results":3}}' # 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": "yahoo.com/list_headlines" , "input": { "section": "politics", "max_results": 3 }})# 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": "yahoo.com/list_headlines" , "input": { "section": "politics", "max_results": 3 } }), 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 yahoo.com/list_headlines# with {"section":"politics","max_results":3}"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", "US", "world", "politics", "health", "science" ], "type": "string", "default": "top stories", "description": "News section to list, for example world." }, "max_results": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1, "description": "Maximum number of headlines to return, for example 20." } }}Output schema
{ "type": "object", "required": [ "stories" ], "properties": { "stories": { "type": "array", "items": { "type": "object", "required": [ "headline", "summary", "published_at", "authors", "original_publisher", "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" ], "description": "Publication date and time with UTC offset, or null when unavailable." }, "original_publisher": { "type": [ "string", "null" ] } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
yahoo.com/list_headlines- Returns
- headline, summary, published_at, authors, original_publisher, 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 yahoo.com/list_headlines with the inputs above.
Ask your agent
- Show me the latest world news headlines with summaries and publishers, up to 15 items.
- What are today's top stories on Yahoo News? Include bylines and publication times.
- Give me 25 recent health headlines with their original publishers and article links.
- I need the newest politics headlines in page order, including images if available.
- Pull up the latest science news stories from the US section, limited to 10 results.
See more
All Yahoo methodsSearches Yahoo News articles by keyword, newest first or by relevance, with optional publication dates and pages; returns only articles hosted on Yahoo News, with authors, original publisher and section.
yahoo.com/search_newsLooks up a company by name or ticker on Yahoo Finance and returns its latest news headlines, with article summaries when the article page provides one.
finance.yahoo.com/get_company_newsReads 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_articleLists Yahoo Finance's top gainers, top losers, most active stocks, or regional trending tickers in Yahoo's order, with price, change, volume and market cap.
finance.yahoo.com/list_market_moversGets earnings reports for a date range, or the upcoming reports and up to four previous reports for one company.
finance.yahoo.com/get_earnings_calendarGets scores and schedules for a league on a date, or for the football week that contains the date. Results can be limited to one team. Venue names come from each game page, for up to 22 games.
sports.yahoo.com/get_scoresReturns Yahoo Sports team standings for a league and season, grouped by division or conference.
sports.yahoo.com/get_standingsShows analyst recommendations, price targets, earnings estimates and recent rating changes for a public company on Yahoo Finance.
finance.yahoo.com/get_analyst_ratings