Yahoo API: Search Yahoo News
Searches 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.
Unofficial. Not affiliated with or endorsed by Yahoo.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Page optional
page Page of matching articles to return, for example 1.
1 (default)
Whole number 1 or more.
- Sort optional
sort Order articles by newest date or Yahoo search relevance; for example newest.
newest (default)
One of
newest,most_relevant.- Query, required
query Words to search for, for example Tesla.
Tesla
- To Date optional
to_date Latest publication date (YYYY-MM-DD), inclusive, for example 2026-09-29.
Not set
- From Date optional
from_date Earliest publication date (YYYY-MM-DD), inclusive, for example 2026-09-01.
Not set
- Max Results optional
max_results Articles per page, up to 50; for example 20.
5
Whole number from 1 to 50. Default
20.
Input as JSON
{ "query": "Tesla", "max_results": 5}Output
{ "articles": [ { "link": "https://www.yahoo.com/news/us/articles/tesla-driver-iphone-called-911-220000610.html" , "authors": [ "John Lloyd" ], "section": "U.S.", "summary": "A Tesla hit a light pole and two trees inside the Miromar Lakes community in... The post A Tesla Driver’s iPhone Called 911 on Its Own After He Crashed. Deputies Say He Didn’t Stick Around. appeared f...", "headline": "A Tesla Driver’s iPhone Called 911 on Its Own After He Crashed. Deputies Say He Didn’t Stick Around.", "published_at": "2026-09-28T22:00:00+00:00", "original_publisher": "The Auto Wire" }, { "link": "https://www.yahoo.com/news/us/articles/texas-man-defrauded-tricare-26-213251683.html" , "authors": [ "Patricia Kime" ], "section": "U.S.", "summary": "A Texas man used money defrauded from Tricare for a casino-themed party and a gold-plated Tesla Cybertruck, among other expenses.", "headline": "Texas man defrauded Tricare of $26 million to fund lavish lifestyle", "published_at": "2026-09-28T21:32:51+00:00", "original_publisher": "Military Times" }, { "link": "https://www.yahoo.com/news/us/articles/man-sentenced-fatally-shooting-man-202239010.html" , "authors": [ "Robert Locklear" ], "section": "U.S.", "summary": "A man has been sentenced to prison for shooting and killing a man outside his car in Fairfax County in 2025.", "headline": "Man sentenced for fatally shooting man who kicked his Tesla in Fairfax County", "published_at": "2026-09-28T20:22:39+00:00", "original_publisher": "DC News Now Washington" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"yahoo.com/search_news","input":{"query":"Tesla","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": "yahoo.com/search_news" , "input": { "query": "Tesla", "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": "yahoo.com/search_news" , "input": { "query": "Tesla", "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 yahoo.com/search_news# with {"query":"Tesla","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", "required": [ "query" ], "properties": { "page": { "type": "integer", "default": 1, "minimum": 1, "description": "Page of matching articles to return, for example 1." }, "sort": { "enum": [ "newest", "most_relevant" ], "type": "string", "default": "newest", "description": "Order articles by newest date or Yahoo search relevance; for example newest." }, "query": { "type": "string", "minLength": 1, "description": "Words to search for, for example Tesla." }, "to_date": { "type": "string", "description": "Latest publication date (YYYY-MM-DD), inclusive, for example 2026-09-29." }, "from_date": { "type": "string", "description": "Earliest publication date (YYYY-MM-DD), inclusive, for example 2026-09-01." }, "max_results": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1, "description": "Articles per page, up to 50; for example 20." } }}Output schema
{ "type": "object", "required": [ "articles" ], "properties": { "articles": { "type": "array", "items": { "type": "object", "required": [ "headline", "summary", "published_at", "authors", "original_publisher", "section", "link" ], "properties": { "link": { "type": "string" }, "authors": { "type": "array", "items": { "type": "string" } }, "section": { "type": [ "string", "null" ] }, "summary": { "type": [ "string", "null" ] }, "headline": { "type": "string" }, "published_at": { "type": [ "string", "null" ] }, "original_publisher": { "type": [ "string", "null" ] } } } } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
yahoo.com/search_news- Returns
- headline, summary, published time, authors, original publisher, section, 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/search_news with the inputs above.
Ask your agent
- Find the latest news articles about Nvidia earnings, newest first, and show me who wrote each one and the original publisher.
- Search Yahoo News for stories on the Federal Reserve interest rate decision published between 2025-06-10 and 2025-06-20, sorted by relevance.
- Pull 40 recent articles mentioning Boeing 737 MAX, including headline, summary, section and link.
- I need page 2 of Yahoo News results for 'housing market mortgage rates', most relevant first, 25 per page.
- Get news coverage of the Microsoft Activision deal from March 1 to March 31, 2025, with authors and publication times.
See more
All Yahoo methodsLists 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.
yahoo.com/list_headlinesLooks 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_articleGets earnings reports for a date range, or the upcoming reports and up to four previous reports for one company.
finance.yahoo.com/get_earnings_calendarLooks up a stock, fund, index, or cryptocurrency by name or ticker and returns its latest displayed price and key statistics. Unavailable figures are null; quotes may be delayed.
finance.yahoo.com/get_quoteLists 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 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 Finance daily, weekly or monthly price history and total adjusted-close return for a stock, fund, index or cryptocurrency.
finance.yahoo.com/get_price_history