# Techmeme API

> Techmeme returns leading technology stories and linked coverage, available as a workflow and API.

Techmeme returns leading stories in page order with original articles and linked coverage; omit the date for its live front page. List top stories accepts an optional date and maximum result count; past dates return the evening archive.

- Page: https://fous.com/workflows/techmeme
- Handle: `@techmeme`
- Category: [News](https://fous.com/workflows/category/news)
- Source website: https://techmeme.com
- Last verified: Sep 29, 2026
- Fous is not affiliated with Techmeme.

## Methods

### List top stories

Operation `list_top_stories`, version 1. 1 credit per call.

List Techmeme's leading stories in page order with their original articles and linked coverage. Today uses the live front page; earlier dates use the evening archive. Story posting times are often not displayed, so time_added may be null.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `date` | string | no | `"2005-09-12"` | Day of stories, for example 2026-09-28. Omit for the live front page. |
| `max_results` | integer | no | `2` | Maximum number of top stories to return, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "format": "date",
      "description": "Day of stories, for example 2026-09-28. Omit for the live front page.",
      "examples": [
        "2005-09-12",
        "2026-09-28"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum number of top stories to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        2,
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {},
    {
      "date": "2005-09-12",
      "max_results": 2
    },
    {
      "date": "2026-09-28",
      "max_results": 3
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `stories` | array |  |  |
| `stories[].author` | string or null | `"Robert Scoble"` |  |
| `stories[].summary` | string | `"London, September 12, 2005 - eBay Inc. (Nasdaq: EBAY; www.ebay.com) has agreed to acquire Luxembourg-based Skype Techno` |  |
| `stories[].headline` | string | `"eBay to Acquire Skype"` |  |
| `stories[].time_added` | string or null |  |  |
| `stories[].article_link` | string | `"https://www.skype.com/company/news/2005/skype_ebay.html"` |  |
| `stories[].related_coverage` | array |  |  |
| `stories[].source_publication` | string | `"skype.com"` |  |

**Example input**

```json
{
  "date": "2005-09-12",
  "max_results": 2
}
```

**Example output**

```json
{
  "stories": [
    {
      "author": null,
      "summary": "London, September 12, 2005 - eBay Inc. (Nasdaq: EBAY; www.ebay.com) has agreed to acquire Luxembourg-based Skype Technologies SA, the global Internet communications company, for approximately $2.6 bil…",
      "headline": "eBay to Acquire Skype",
      "time_added": null,
      "article_link": "https://www.skype.com/company/news/2005/skype_ebay.html",
      "related_coverage": [
        {
          "link": "http://www.paidcontent.org/pc/arch/2005_09_12.shtml#015781",
          "publication_name": "PaidContent.org"
        },
        {
          "link": "https://techdirt.com/articles/20050912/0312203_F.shtml",
          "publication_name": "Techdirt"
        },
        {
          "link": "http://www.moconews.net/?p=3483",
          "publication_name": "MocoNews.net"
        }
      ],
      "source_publication": "skype.com"
    },
    {
      "author": "Robert Scoble",
      "summary": "Mary Jo Foley gives her predictions of what's coming at the PDC: More Developers, More Developers, More Developers!  —  One thing I gotta correct.  I used to think that Sparkle was a Flash killer.  He…",
      "headline": "Note to Mary Jo: Sparkle is no Flash killer",
      "time_added": null,
      "article_link": "http://radio.weblogs.com/0001011/2005/09/12.html#a11121",
      "related_coverage": [
        {
          "link": "http://weblogs.macromedia.com/jd/archives/2005/09/scoble_on_spark.cfm",
          "publication_name": "JD on MX"
        }
      ],
      "source_publication": "Scobleizer"
    }
  ]
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@techmeme",
  "visibility": "public",
  "operation": "list_top_stories",
  "version": 1,
  "input": {},
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@techmeme\",\n  \"visibility\": \"public\",\n  \"operation\": \"list_top_stories\",\n  \"version\": 1,\n  \"input\": {},\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@techmeme",
  "visibility": "public",
  "operation": "list_top_stories",
  "version": 1,
  "input": {},
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@techmeme","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Track leading technology stories and their linked coverage
- Review archived top stories for a selected day
- Compare original articles with related coverage

## FAQ

### Is Fous affiliated with Techmeme?

No. Fous is not affiliated with Techmeme. This workflow reads the public techmeme.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a Techmeme account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from techmeme.com when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 29, 2026.

### What are Techmeme’s leading stories today?

Use List top stories and omit the date to get the live front page.

### What were Techmeme’s top stories on a particular day?

Use List top stories with a date to get that day’s evening archive.

### Which articles and publications are linked to a story?

List top stories returns each story’s original article link, related coverage, and source publication.

## Related

- [The Verge API](https://fous.com/workflows/the-verge.md): The Verge provides technology, science, entertainment, and policy headlines and searchable articles, including public stories and older archives, with search limited to the first 100 matches.
- [TechCrunch API](https://fous.com/workflows/techcrunch.md): TechCrunch returns latest section headlines, keyword search results of up to 50 articles per page, public article text with available live updates, and recent startup funding stories with clearly announced amounts.
- [Hacker News API](https://fous.com/workflows/hacker-news.md): Hacker News provides current ranked story lists, searchable stories and comments, discussion threads with up to 500 visible comments excluding deleted or flagged ones, and monthly hiring posts with details when stated.
- [Google News API](https://fous.com/workflows/google-news.md): Google News returns recent publisher articles, up to 100 per search, current top stories by topic, country, and language, and local stories by city or region when available.
- [AP News API](https://fous.com/workflows/ap-news.md): AP News provides reporting, up to 50 public-page headlines, searchable articles visible in its search, and full text when accessible.
- [The New York Times API](https://fous.com/workflows/the-new-york-times.md): The New York Times provides current section headlines and summaries, keyword-matched public listings with dates, authors, sections and links, and Best Sellers lists for the latest issue or dates within a week.
- [The Wall Street Journal API](https://fous.com/workflows/the-wall-street-journal.md): The Wall Street Journal provides news-section headlines and searchable public article headlines and summaries, with available story details and publication dates for search filtering.
- [The Guardian API](https://fous.com/workflows/the-guardian.md): The Guardian provides news, sport, culture and opinion, ordered headlines, keyword-search results that may omit older or less prominent stories, and article details with available text; live blogs show the latest entries.
- [All News workflows](https://fous.com/workflows/category/news)
