Techmeme API: List top stories
Lists Techmeme's leading stories in page order, with each story's original article and linked coverage. Uses the live front page, or the evening archive for a given date.
Unofficial. Not affiliated with or endorsed by Techmeme.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Date optional
date Day of stories as YYYY-MM-DD, for example 2026-09-28. Omit for the live front page. Dates run from 2005-09-12 through today.
Not set
- Max Results optional
max_results Maximum number of top stories to return, for example 20.
1
Whole number from 1 to 50. Default
20.
Input as JSON
{ "max_results": 1}Output
{ "stories": [ { "author": "Kate Rooney", "summary": "OpenAI is closing in on a funding round that could value the artificial intelligence giant at more than $1 trillion ahead …", "headline": "Sources: OpenAI nears an up to $30B round led by investors from the UAE and Coatue at a $1.25T pre-money valuation, as an “opportunistic” bridge ahead of an IPO", "time_added": null, "article_link": "https://www.cnbc.com/2026/10/22/openai-funding-round-uae-investors.html" , "related_coverage": [ { "link": "https://techcrunch.com/2026/10/22/openai-working-on-new-30b-raise-at-1-25t-valuation-ahead-of-ipo/" , "publication_name": "TechCrunch" }, { "link": "https://www.theinformation.com/briefings/openai-fundraising-round-set-close-soon-uae-investors-coatue-leading-investment" , "publication_name": "The Information" }, { "link": "https://www.implicator.ai/openai-30-billion-round-1-25-trillion/" , "publication_name": "Implicator.ai" } ], "source_publication": "CNBC" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"techmeme.com/list_top_stories","input":{"max_results":1}}' # 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": "techmeme.com/list_top_stories" , "input": { "max_results": 1 }})# 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": "techmeme.com/list_top_stories" , "input": { "max_results": 1 } }), 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 techmeme.com/list_top_stories# with {"max_results":1}"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": [], "properties": { "date": { "type": "string", "description": "Day of stories as YYYY-MM-DD, for example 2026-09-28. Omit for the live front page. Dates run from 2005-09-12 through today." }, "max_results": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1, "description": "Maximum number of top stories to return, for example 20." } }}Output schema
{ "type": "object", "required": [ "stories" ], "properties": { "stories": { "type": "array", "items": { "type": "object", "required": [ "headline", "source_publication", "author", "summary", "time_added", "article_link", "related_coverage" ], "properties": { "author": { "type": [ "string", "null" ] }, "summary": { "type": "string" }, "headline": { "type": "string" }, "time_added": { "type": [ "string", "null" ], "format": "date-time" }, "article_link": { "type": "string" }, "related_coverage": { "type": "array", "items": { "type": "object", "required": [ "publication_name", "link" ], "properties": { "link": { "type": "string" }, "publication_name": { "type": "string" } }, "additionalProperties": false } }, "source_publication": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
techmeme.com/list_top_stories- Returns
- headline, source publication, author, summary, time added, article link, related coverage
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 techmeme.com/list_top_stories with the inputs above.
Ask your agent
- What are the top stories on Techmeme's front page right now?
- Show me the leading headlines from the live Techmeme homepage, limited to 10 items.
- Give me the top tech stories from techmeme.com archive for 2026-03-14 with their source publications and authors.
- I want the main stories from the evening archive of 2025-11-02, including linked related coverage for each one.
- List the 25 most prominent tech news stories from yesterday's Techmeme page, with summaries and article links.
See more
Lists the current top Google News stories, overall or for one topic, in a chosen country and language edition.
news.google.com/list_top_storiesLists current New York Times headlines with summaries, authors, images and publication times, in the order shown on the chosen section page (top stories or a section). Video-only items, ads and promotions are left out; times come from the section's feed and may be missing.
nytimes.com/list_headlinesLists The Verge story headlines, including quick posts, in the order shown on a section page. Archive pages are added when more stories are needed.
theverge.com/list_headlinesLists the latest TechCrunch story headlines in a section, in page order. Skips video, podcast and event promotion cards.
techcrunch.com/list_headlinesLists featured launches in Product Hunt's daily leaderboard order for a given US Pacific day, with each product's website when its public page shows one.
producthunt.com/list_launchesLists CNBC article headlines in the order they appear on a public news section page, with summary, time, authors and image.
cnbc.com/list_headlinesSearches TechCrunch articles by keyword, with an optional publication date range and newest or most relevant order.
techcrunch.com/search_newsLists the latest Reuters stories from a news section (top stories, business, markets, world, technology, legal or sustainability) in page order.
reuters.com/list_headlines