# Listen Notes API

> Listen Notes returns podcast episode and podcast data as a workflow and API.

Listen Notes, also called ListenNotes, searches podcast episodes by required topic or person, with optional language, date, sorting, and page inputs. Get podcast returns podcast details, rankings, publishing information, and links using a required podcast name and optional publisher.

- Page: https://fous.com/tools/listen-notes
- Handle: `@listen-notes`
- Category: [Entertainment](https://fous.com/tools/category/entertainment)
- Source website: https://listennotes.com
- Last verified: Sep 29, 2026

## Methods

### Get podcast

Operation `get_podcast`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Look up a podcast by name and get its Listen Score, global rank, publishing details, and links. Exact name matches are checked among the first 50 public search results; missing details remain blank.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `podcast` | string | yes | `"Radiolab"` | Name of the podcast, for example The Daily. |
| `publisher` | string | no | `"The New York Times"` | Publisher to distinguish podcasts with the same name, for example The New York Times. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "podcast"
  ],
  "properties": {
    "podcast": {
      "type": "string",
      "minLength": 1,
      "description": "Name of the podcast, for example The Daily.",
      "examples": [
        "Radiolab",
        "The Daily"
      ]
    },
    "publisher": {
      "type": "string",
      "default": "",
      "description": "Publisher to distinguish podcasts with the same name, for example The New York Times.",
      "examples": [
        "The New York Times"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "podcast": "Radiolab"
    },
    {
      "podcast": "The Daily",
      "publisher": "The New York Times"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `genres` | array |  |  |
| `country` | string or null | `"United States"` |  |
| `website` | string or null | `"https://www.radiolab.org?utm_source=listennotes.com&utm_campaign=Listen+Notes&utm_medium=website"` |  |
| `language` | string or null | `"English"` |  |
| `publisher` | string or null | `"WNYC Studios"` |  |
| `podcast_id` | string or null | `"535815a492a941d79b95be6ae1c5cc9c"` |  |
| `global_rank` | string or null | `"0.01%"` |  |
| `listen_score` | integer or null | `85` |  |
| `podcast_name` | string | `"Radiolab"` |  |
| `social_links` | array |  |  |
| `social_links[].link` | string | `"https://x.com/Radiolab"` |  |
| `social_links[].platform` | string | `"X"` |  |
| `rss_feed_link` | string or null | `"https://feeds.simplecast.com/EmVW7VGp"` |  |
| `total_episodes` | integer or null | `672` |  |
| `cover_image_link` | string or null | `"https://cdn-images-3.listennotes.com/podcasts/radiolab-wnyc-studios-kKCxy1Zi7R6-LcwYyVzfJx9.300x300.jpg"` |  |
| `listen_notes_link` | string | `"https://www.listennotes.com/podcasts/radiolab-wnyc-studios-LcwYyVzfJx9/"` |  |
| `short_description` | string or null | `"Radiolab is on a curiosity bender. We ask deep questions and use investigative journalism to get the answers. A given e` |  |
| `first_episode_date` | string or null | `"2006-05-05"` |  |
| `latest_episode_date` | string or null | `"2026-09-25"` |  |
| `publishing_frequency` | string or null | `"Weekly"` |  |

**Example input**

```json
{
  "podcast": "Radiolab"
}
```

**Example output**

```json
{
  "genres": [
    "Society & Culture",
    "Documentary",
    "Kids & Family"
  ],
  "country": "United States",
  "website": "https://www.radiolab.org?utm_source=listennotes.com&utm_campaign=Listen+Notes&utm_medium=website",
  "language": "English",
  "publisher": "WNYC Studios",
  "podcast_id": "535815a492a941d79b95be6ae1c5cc9c",
  "global_rank": "0.01%",
  "listen_score": 85,
  "podcast_name": "Radiolab",
  "social_links": [
    {
      "link": "https://x.com/Radiolab",
      "platform": "X"
    },
    {
      "link": "https://facebook.com/Radiolab",
      "platform": "Facebook"
    }
  ],
  "rss_feed_link": "https://feeds.simplecast.com/EmVW7VGp",
  "total_episodes": 672,
  "cover_image_link": "https://cdn-images-3.listennotes.com/podcasts/radiolab-wnyc-studios-kKCxy1Zi7R6-LcwYyVzfJx9.300x300.jpg",
  "listen_notes_link": "https://www.listennotes.com/podcasts/radiolab-wnyc-studios-LcwYyVzfJx9/",
  "short_description": "Radiolab is on a curiosity bender. We ask deep questions and use investigative journalism to get the answers. A given episode might whirl you through science, legal history, and into the home of someo…",
  "first_episode_date": "2006-05-05",
  "latest_episode_date": "2026-09-25",
  "publishing_frequency": "Weekly"
}
```

### Search episodes

Operation `search_episodes`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Search Listen Notes podcast episodes by topic or person, with language, date, and sorting options. Anonymous search exposes only the first 50 results; the publish-date cutoff is applied within that accessible window, and later pages require login.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `page` | integer | no | `2` | Page of 10 search results to begin with, for example 2; pages after 5 require login. |
| `sort` | string | no | `"newest"` | Order results by relevance or newest, for example newest. |
| `query` | string | yes | `"intelligence artificielle"` | Words or a person to find in podcast episodes, for example Satya Nadella. |
| `language` | string | no | `"French"` | Podcast language name, for example English or French; use any for all languages. |
| `max_results` | integer | no | `5` | Maximum number of episodes to return, for example 20 (up to 50). |
| `published_after` | string | no | `"2026-01-01"` | Only return episodes published after this date, for example 2026-01-01. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "description": "Page of 10 search results to begin with, for example 2; pages after 5 require login.",
      "x-fous-developer": true,
      "examples": [
        2
      ]
    },
    "sort": {
      "enum": [
        "relevance",
        "newest"
      ],
      "type": "string",
      "default": "relevance",
      "description": "Order results by relevance or newest, for example newest.",
      "examples": [
        "newest"
      ]
    },
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Words or a person to find in podcast episodes, for example Satya Nadella.",
      "examples": [
        "intelligence artificielle",
        "Satya Nadella",
        "zxqvnotapodcastperson987654321"
      ]
    },
    "language": {
      "type": "string",
      "default": "any",
      "description": "Podcast language name, for example English or French; use any for all languages.",
      "examples": [
        "French"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum number of episodes to return, for example 20 (up to 50).",
      "x-fous-developer": true,
      "examples": [
        5
      ]
    },
    "published_after": {
      "type": "string",
      "format": "date",
      "description": "Only return episodes published after this date, for example 2026-01-01.",
      "examples": [
        "2026-01-01"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "page": 2,
      "sort": "newest",
      "query": "intelligence artificielle",
      "language": "French",
      "max_results": 5,
      "published_after": "2026-01-01"
    },
    {
      "query": "Satya Nadella"
    },
    {
      "query": "zxqvnotapodcastperson987654321",
      "max_results": 5
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `episodes` | array |  |  |
| `episodes[].length` | string or null | `"21 min"` |  |
| `episodes[].publisher` | string or null | `"Jerome Colombain"` |  |
| `episodes[].audio_link` | string or null | `"https://audio.listennotes.com/e/p/e37bd98980d54871a14ab5337a7bc385/"` |  |
| `episodes[].episode_id` | string or null | `"e37bd98980d54871a14ab5337a7bc385"` |  |
| `episodes[].listen_score` | integer or null | `49` |  |
| `episodes[].podcast_name` | string or null | `"Monde Numérique (Actu tech & IA)"` |  |
| `episodes[].publish_date` | string or null | `"2026-09-29"` |  |
| `episodes[].episode_title` | string | `"L’IA peut-elle vraiment détecter l’IA ? (🎤 Thomas Jacquesson, Lucide AI)"` |  |
| `episodes[].length_seconds` | integer or null | `1314` |  |
| `episodes[].episode_page_link` | string | `"https://www.listennotes.com/podcasts/monde-numérique/lia-peut-elle-vraiment-zjRO2KDQ3bU/"` |  |
| `episodes[].short_description` | string or null | `"...Les détecteurs d’IA peuvent-ils réellement identifier un texte généré par une machine ? Thomas Jacquesson, président` |  |

**Example input**

```json
{
  "page": 2,
  "sort": "newest",
  "query": "intelligence artificielle",
  "language": "French",
  "max_results": 5,
  "published_after": "2026-01-01"
}
```

**Example output**

```json
{
  "episodes": [
    {
      "length": "21 min",
      "publisher": "Jerome Colombain",
      "audio_link": "https://audio.listennotes.com/e/p/e37bd98980d54871a14ab5337a7bc385/",
      "episode_id": "e37bd98980d54871a14ab5337a7bc385",
      "listen_score": 49,
      "podcast_name": "Monde Numérique (Actu tech & IA)",
      "publish_date": "2026-09-29",
      "episode_title": "L’IA peut-elle vraiment détecter l’IA ? (🎤 Thomas Jacquesson, Lucide AI)",
      "length_seconds": 1314,
      "episode_page_link": "https://www.listennotes.com/podcasts/monde-numérique/lia-peut-elle-vraiment-zjRO2KDQ3bU/",
      "short_description": "...Les détecteurs d’IA peuvent-ils réellement identifier un texte généré par une machine ? Thomas Jacquesson, président de Lucide AI, explique comment ces outils sont entraînés et pourquoi leur verdic…"
    },
    {
      "length": "55 min",
      "publisher": "Jean baptiste Vennin",
      "audio_link": "https://audio.listennotes.com/e/p/7ed6a7cbbf5e4ee69f6b356d4e8559b3/",
      "episode_id": "7ed6a7cbbf5e4ee69f6b356d4e8559b3",
      "listen_score": null,
      "podcast_name": "Les Voix de l'Impact",
      "publish_date": "2026-09-29",
      "episode_title": "Alain Bosetti : 27 ans à faire grandir les entrepreneurs",
      "length_seconds": 3300,
      "episode_page_link": "https://www.listennotes.com/podcasts/les-voix-de-limpact/alain-bosetti-27-ans-à-faire-Mmt9_KGNQ-f/",
      "short_description": "...Une transformation encore accélérée par l’intelligence artificielle , qu’il considère à la fois comme une opportunité majeure et comme une menace, notamment pour les jeunes qui cherchent à entrer s…"
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@listen-notes",
  "visibility": "public",
  "operation": "get_podcast",
  "version": 1,
  "input": {
    "podcast": "Radiolab"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@listen-notes\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_podcast\",\n  \"version\": 1,\n  \"input\": {\n    \"podcast\": \"Radiolab\"\n  },\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=180) 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.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@listen-notes",
  "visibility": "public",
  "operation": "get_podcast",
  "version": 1,
  "input": {
    "podcast": "Radiolab"
  },
  "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);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/listen-notes`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_podcast`: Get podcast. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_episodes`: Search episodes. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-listen-notes https://api.fous.com/mcp/tools/listen-notes --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Find episodes mentioning a person or topic.
- Compare podcast details and global rankings.
- Review episode titles, publishers, and publication dates.
- Find podcast links, genres, and publishing frequency.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Listen Notes tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Listen Notes account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from listennotes.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### Which episodes mention a topic or person?

Search episodes finds episodes matching the required query, with optional language, publication date, and sorting inputs.

### What are a podcast’s details and ranking?

Get podcast returns details such as Listen Score, global rank, publisher, language, and publishing information for a podcast name.

## Related

- [Apple Podcasts API](https://fous.com/tools/apple-podcasts.md): Apple Podcasts returns chart listings, relevant show search results, show details with newest available episodes, and country-specific ratings and reviews; results are capped, and older or subscription episodes may be unavailable.
- [Spotify API](https://fous.com/tools/spotify.md): Spotify returns public artist profiles, album credits and ordered tracks, song details and play counts, up to 500 playlist songs, keyword results, and country-based podcast charts; dates and regional options vary.
- [NPR API](https://fous.com/tools/npr.md): NPR returns displayed section headlines, searchable articles with summaries and publication details, and available article text; date-filtered searches may miss older stories edited much later.
- [WEBTOON API](https://fous.com/tools/webtoon.md): WEBTOON helps readers find comics and discover popular or trending series, with public series details and newest publicly listed episodes; app-only episodes and numeric series ratings aren’t shown.
- [Audible API](https://fous.com/tools/audible.md): Audible offers audiobooks, podcasts, and audio entertainment, with public book details and current bestselling audiobook charts; availability and categories vary by store.
- [Hacker News API](https://fous.com/tools/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.
- [SoundCloud API](https://fous.com/tools/soundcloud.md): SoundCloud lets people listen to and share music, find public tracks with play stats, and browse artists’ tracks, with popular lists limited to 30.
- [AP News API](https://fous.com/tools/ap-news.md): AP News provides reporting, up to 50 public-page headlines, searchable articles visible in its search, and full text when accessible.
- [All Entertainment tools](https://fous.com/tools/category/entertainment)
