Top SitesPodscan.fm — Podcast Intelligence Platform

Machine Readiness

Stored receipt and evidence

Overall

36

Readable

100

Callable

25

Commerce

0

Payment

0

Machine Access

Inspect the site's MCP endpoint

Open MCP explorer

DialtoneApp can scan the stored discovery files for this domain, try the MCP initialize handshake, and show the raw protocol transcript.

Purchase boundary

read only

Control boundary

unknown

Payment rails

None

Payment providers

None

Payment methods

None

Payment protocols

None

Payment assets

None

Payment networks

None

Capabilities

mcp, api

Verified payment surface

No

Crypto only

No

Readable docs

robots, llms, llms-full, agent

Products

0

Variants

0

Priced variants

0

Currencies

0

Offers

0

Priced offers

0

Priced actions

0

Samples

Offer samples

No stored offer samples.

Samples

Action samples

No stored action samples.

Samples

Product samples

No stored product samples.

Document

robots.txt

Open robots.txt
# As a condition of accessing this website, you agree to abide by the following
# content signals:

# (a)  If a Content-Signal = yes, you may collect content for the corresponding
#      use.
# (b)  If a Content-Signal = no, you may not collect content for the
#      corresponding use.
# (c)  If the website operator does not include a Content-Signal for a
#      corresponding use, the website operator neither grants nor restricts
#      permission via Content-Signal with respect to the corresponding use.

# The content signals and their meanings are:

# search:   building a search index and providing search results (e.g., returning
#           hyperlinks and short excerpts from your website's contents). Search does not
#           include providing AI-generated search summaries.
# ai-input: inputting content into one or more AI models (e.g., retrieval
#           augmented generation, grounding, or other real-time taking of content for
#           generative AI search answers).
# ai-train: training or fine-tuning AI models.

# ANY RESTRICTIONS EXPRESSED VIA CONTENT SIGNALS ARE EXPRESS RESERVATIONS OF
# RIGHTS UNDER ARTICLE 4 OF THE EUROPEAN UNION DIRECTIVE 2019/790 ON COPYRIGHT
# AND RELATED RIGHTS IN THE DIGITAL SINGLE MARKET.

# BEGIN Cloudflare Managed content

User-agent: *
Content-Signal: search=yes,ai-train=no
Allow: /

User-agent: Amazonbot
Disallow: /

User-agent: Applebot-Extended
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: CloudflareBrowserRenderingCrawler
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: GPTBot
Disallow: /

User-agent: meta-externalagent
Disallow: /

# END Cloudflare Managed Content

Sitemap: https://podscan.fm/sitemap.xml

User-agent: *
Disallow:

User-agent: *
Allow: /

User-agent: *
Disallow: /dashboard

User-agent: facebookexternalhit
Crawl-delay: 5

User-agent: Applebot
Crawl-delay: 2

Document

llms.txt

Open llms.txt
# Podscan

> Podscan is a podcast intelligence platform that indexes 4M+ podcasts and processes 35,000+ episodes daily with full transcription, entity recognition, topic extraction, and sentiment analysis. It provides real-time monitoring, search, and analytics through a REST API, MCP Server, and Firehose streaming API.

## API

- [REST API Documentation](https://podscan.fm/docs/rest-api): Interactive API reference with all endpoints, parameters, and response schemas (OpenAPI/Swagger)
- [REST API Overview](https://podscan.fm/rest-api): Getting started guide for the REST API with authentication and usage examples
- [Firehose API](https://podscan.fm/realtime-firehose): Real-time streaming API delivering new episodes as they are processed

## MCP Server

- [MCP Server](https://podscan.fm/mcp-server): Connect AI assistants like Claude to Podscan's 80 podcast intelligence tools via the Model Context Protocol
- [MCP Server Documentation](https://podscan.fm/docs/mcp-server): Detailed MCP server setup and tool reference
- [MCP Endpoint](https://podscan.fm/mcp): Streamable HTTP transport endpoint for MCP clients (OAuth 2.1 authentication)

## AI Integration

- [Podscan for AI Agents](https://podscan.fm/for-ai-agents): Landing page with setup guides for Claude Desktop, Claude Code, Cursor, VS Code, and Windsurf
- [Agent Discovery](https://podscan.fm/.well-known/agent.json): Machine-readable agent card (A2A-compatible) with capabilities and authentication details
- [Full LLM Documentation](https://podscan.fm/llms-full.txt): Comprehensive integration guide for AI agents including all MCP tools, REST API patterns, and use cases

## Optional

- [Webhook Documentation](https://podscan.fm/docs/alert-webhook): Configure webhooks for real-time alert notifications
- [Data Exports](https://podscan.fm/docs/exports): Bulk data export documentation
- [OpenAPI Spec](https://podscan.fm/docs/api.json): Machine-readable OpenAPI 3.x specification
- [Pricing](https://podscan.fm/pricing): Plans and API access tiers

Document

llms-full.txt

Open llms-full.txt
# Podscan — AI Agent Integration Guide

> Podscan is a podcast intelligence platform that indexes 4M+ podcasts and processes 35,000+ episodes daily. It provides full transcription, entity recognition (people, brands, organizations), topic extraction, sentiment analysis, and audience demographics. This document is designed for AI agents and developers integrating with Podscan.

## Table of Contents

1. Platform Overview
2. MCP Server (Model Context Protocol)
3. REST API
4. Key Concepts
5. Common Use Cases
6. Rate Limits & Quotas

---

## 1. Platform Overview

Podscan continuously monitors the podcast ecosystem in near real-time (~10 minute processing time from episode publication). Key capabilities:

- **Full-text transcription** of every episode with speaker diarization
- **Entity recognition** — identifies people, brands, and organizations mentioned in episodes
- **Topic extraction** — surfaces discussion themes and tracks their momentum over time
- **Sentiment analysis** — evaluates the emotional context of mentions
- **Audience demographics** — language, region, audience size estimates
- **Chart tracking** — Apple Podcasts and Spotify chart rankings across countries and categories
- **Alert monitoring** — keyword/phrase monitoring with Boolean expressions and AI-powered contextual filtering

### Scale
- 4,000,000+ podcasts indexed
- 35,000+ new episodes processed daily
- Full transcripts for all episodes
- 100+ countries covered in chart tracking

---

## 2. MCP Server (Model Context Protocol)

### Connection Details

- **Endpoint**: `https://podscan.fm/mcp`
- **Transport**: Streamable HTTP
- **Authentication**: OAuth 2.1 (for web-based clients) or Bearer token (for CLI tools)

### Authentication

**For CLI tools (Claude Code, Cursor, etc.):**
1. Sign up at https://podscan.fm/register
2. Generate an API token in your dashboard under Team Settings > API Tokens
3. Use the token as a Bearer token in the Authorization header

**For web-based clients (Claude Desktop, etc.):**
OAuth 2.1 flow is handled automatically by the MCP client.

**Multi-team support**: All team-scoped tools accept an optional `team_id` parameter, defaulting to the authenticated user's current team.

### MCP Client Configuration

**Claude Desktop** (`claude_desktop_config.json`):
```json
{
  "mcpServers": {
    "podscan": {
      "url": "https://podscan.fm/mcp"
    }
  }
}
```

**Claude Code:**
```bash
claude mcp add --transport http podscan https://podscan.fm/mcp
```

**Cursor** (`.cursor/mcp.json`):
```json
{
  "mcpServers": {
    "podscan": {
      "url": "https://podscan.fm/mcp"
    }
  }
}
```

**VS Code** (`.vscode/mcp.json`):
```json
{
  "servers": {
    "podscan": {
      "type": "http",
      "url": "https://podscan.fm/mcp"
    }
  }
}
```

**Windsurf** (`~/.codeium/windsurf/mcp_config.json`):
```json
{
  "mcpServers": {
    "podscan": {
      "serverUrl": "https://podscan.fm/mcp"
    }
  }
}
```

### Available MCP Tools (80 total)

#### Search Tools

**search-episodes-tool**
Search podcast episodes by keyword across transcripts, titles, and descriptions. Returns matching episodes with metadata, summaries, and search highlights. Supports filters for language, location, audience size, categories, and guest/sponsor presence.

Parameters:
- `query` (required): Search keywords
- `language`: Filter by language code (e.g., "en", "es")
- `location`: Filter by country/region
- `min_audience`: Minimum audience size
- `categories`: Filter by podcast categories
- `has_guests`: Filter for episodes with guests
- `has_sponsors`: Filter for episodes with sponsors
- `page`: Page number for pagination

**search-podcasts-tool**
Search podcasts by name, topic, or characteristics. Filter by audience size, language, categories, and whether they feature guests or sponsors.

Parameters:
- `query` (required): Search keywords
- `language`: Filter by language
- `min_audience`: Minimum audience size
- `has_guests`: Filter for podcasts featuring guests
- `has_sponsors`: Filter for podcasts with sponsors
- `page`: Page number

**search-people-brands-tool**
Search for people and organizations mentioned in podcasts. Find hosts, guests, sponsors, or general mentions. Filter by role (host, guest, sponsor, producer, mention).

Parameters:
- `query` (required): Person or brand name
- `role`: Filter by role type
- `page`: Page number

**search-topics-tool**
Search for topics discussed in podcasts. Topics are subjects, themes, and keywords extracted from episode content.

Parameters:
- `query` (required): Topic keywords
- `page`: Page number

**search-publishers-tool**
Search podcast publishers by name or description.

Parameters:
- `query` (required): Search keywords
- `page`: Page number

#### Podcast Retrieval Tools

**get-podcast-tool**
Get detailed information about a specific podcast including metadata, reach metrics, ratings, categories, and optionally recent episodes.

Parameters:
- `id` (required): Podcast ID (format: `pd_xxx`)
- `include_episodes`: Whether to include recent episodes

**get-podcast-episodes-tool**
List episodes for a specific podcast. Filter by date range, guest/sponsor presence, and title keywords. Supports pagination and sorting.

Parameters:
- `id` (required): Podcast ID
- `date_from`: Start date filter
- `date_to`: End date filter
- `has_guests`: Filter for episodes with guests
- `has_sponsors`: Filter for episodes with sponsors
- `search`: Title keyword search
- `sort`: Sort order
- `page`: Page number

**get-similar-podcasts-tool**
Find podcasts similar to a given podcast based on topic overlap, audience, and content analysis.

Parameters:
- `id` (required): Podcast ID

**get-podcast-reviews-tool**
Get review and rating information from Apple Podcasts and Spotify. Returns average ratings, rating counts, and rating distribution.

Parameters:
- `id` (required): Podcast ID

**get-podcast-demographics-tool**
Find podcasts matching specific demographic criteria. Filter by audience size, language, region, and categories.

Parameters:
- `language`: Language filter
- `region`: Region/country filter
- `min_audience`: Minimum audience size
- `categories`: Category filter
- `page`: Page number

**get-publisher-tool**
Get information about a podcast publisher or network including their portfolio of podcasts.

Parameters:
- `id` (required): Publisher ID (format: `pb_xxx`)

**get-podcast-brand-safety-tool**
Get GARM brand safety assessment for a podcast including risk level distribution.

Parameters:
- `id` (required): Podcast ID (format: `pd_xxx`)

**get-latest-episode-tool**
Get the most recent transcribed episode for a podcast.

Parameters:
- `id` (required): Podcast ID

**get-latest-guests-tool**
Get the latest episode featuring guests for a podcast.

Parameters:
- `id` (required): Podcast ID

**get-latest-sponsors-tool**
Get the latest episode mentioning sponsors for a podcast.

Parameters:
- `id` (required): Podcast ID

**get-podcast-rankings-tool**
Get podcasts ranked by Podcast Reach Score (PRS).

Parameters:
- `min_score`: Minimum PRS score
- `max_score`: Maximum PRS score
- `limit`: Number of results
- `page`: Page number

**get-podcast-analysis-tool**
Get guest, sponsor, host, and catchup analysis for a podcast based on processed episode extractions.

Parameters:
- `podcast_id` (required): Podcast ID (format: `pd_xxx`)

**get-podcast-chart-history-tool**
Get chart position history and trend analysis for a podcast across Apple and Spotify charts.

Parameters:
- `podcast_id` (required): Podcast ID (format: `pd_xxx`)
- `days`: Number of days of history (default: 30, min: 7, max: 30)

#### Episode Retrieval Tools

**get-episode-tool**
Get detailed information about a specific episode including summary, topics, hosts, guests, sponsors, and optionally the transcript.

Parameters:
- `id` (required): Episode ID (format: `ep_xxx`)
- `include_transcript`: Whether to include the full transcript

**get-episode-transcript-tool**
Get the full transcript of a podcast episode. Supports plain text or timestamped format. Can search within the transcript and return matching excerpts.

Parameters:
- `id` (required): Episode ID
- `format`: "plain" or "timestamped"
- `search`: Search within the transcript

**get-recent-episodes-tool**
Get the most recently published episodes across all podcasts. Filter by date range, categories, language, and guest/sponsor presence.

Parameters:
- `date_from`: Start date
- `date_to`: End date
- `categories`: Category filter
- `language`: Language filter
- `has_guests`: Filter for guest episodes
- `has_sponsors`: Filter for sponsored episodes
- `page`: Page number

**get-episode-entities-tool**
Get all people and organizations mentioned in an episode, grouped by role (host, guest, sponsor, mention).

Parameters:
- `id` (required): Episode ID (format: `ep_xxx`)

**get-episode-demographics-tool**
Get audience demographic insights for a specific episode.

Parameters:
- `id` (required): Episode ID

**get-episode-brand-safety-tool**
Get GARM brand safety assessment for a specific episode including risk level distribution.

Parameters:
- `id` (required): Episode ID (format: `ep_xxx`)

#### Topic Tools

**get-topic-tool**
Get detailed information about a topic including occurrence count, momentum score, related topics, and optionally a 30-day mention history.

Parameters:
- `id` (required): Topic ID (format: `tp_xxx`)
- `include_history`: Include 30-day mention history

**get-topic-episodes-tool**
Get episodes where a specific topic was mentioned. Filter by podcast characteristics like audience size, guest presence, and sponsors.

Parameters:
- `id` (required): Topic ID
- `min_audience`: Minimum audience size
- `has_guests`: Filter for guest episodes
- `has_sponsors`: Filter for sponsored episodes
- `page`: Page number

**get-trending-topics-tool**
Get topics currently trending based on mention growth and recent activity. Useful for trend analysis, content ideation, and market research.

Parameters:
- `include_history`: Include trend data
- `include_related`: Include related topics
- `page`: Page number

**get-related-topics-tool**
Get topics related to a specific topic by co-occurrence in episodes.

Parameters:
- `id` (required): Topic ID (format: `tp_xxx`)

**get-topic-demographics-tool**
Get audience demographics for podcasts discussing a specific topic. Returns demographic profiles (age, gender, education, engagement, purchasing power) for podcasts where this topic has been mentioned.

Parameters:
- `topic_id` (required): Topic ID (format: `tp_xxx`)
- `page`: Page number for pagination
- `per_page`: Results per page (max 100, default 20)

#### Topic Collection Tools

**list-topic-collections-tool**
Browse curated topic collections — groups of podcasts organized by topic with relevance scoring.

Parameters:
- `limit`: Number of collections to return (default: 25, max: 100)
- `page`: Page number for pagination (default: 1)

**get-topic-collection-tool**
Get details of a specific topic collection including its top podcasts.

Parameters:
- `slug` (required): Topic collection slug (URL-friendly identifier)
- `limit`: Number of top podcasts to include (default: 25, max: 100)

#### Entity Tools (People & Organizations)

**get-entity-tool**
Get detailed information about a person or organization including appearance statistics, social links, and optionally recent appearances.

Parameters:
- `id` (required): Entity ID (format: `en_xxx`)
- `include_appearances`: Include recent appearances

**get-entity-appearances-tool**
Get all podcast appearances for an entity. Filter by role (host, guest, sponsor), date range, or specific podcast.

Parameters:
- `id` (required): Entity ID
- `role`: Filter by role
- `date_from`: Start date
- `date_to`: End date
- `podcast_id`: Filter to a specific podcast
- `page`: Page number

#### Chart Tools

**get-charts-tool**
Get podcast chart rankings from Apple Podcasts and Spotify. View top podcasts by category, country, and chart type.

Parameters:
- `platform`: "apple" or "spotify"
- `country`: Country code (e.g., "us", "gb")
- `category`: Chart category
- `chart_type`: Type of chart

**get-chart-countries-tool**
Get available or supported countries for chart data.

Parameters:
- `type`: "available" or "supported"

**get-chart-categories-tool**
Get chart categories for a platform and country.

Parameters:
- `platform` (required): "apple" or "spotify"
- `country` (required): Country code

**get-chart-movements-tool**
Get chart position movements for podcasts in a category.

Parameters:
- `platform` (required): "apple" or "spotify"
- `country` (required): Country code
- `category` (required): Category identifier

**get-chart-top-podcasts-tool**
Get top-ranked podcasts in a chart category.

Parameters:
- `platform` (required): "apple" or "spotify"
- `country` (required): Country code
- `category` (required): Category identifier

**get-chart-trending-tool**
Get trending podcasts for a country.

Parameters:
- `country` (required): Country code

#### Category Tools

**list-categories-tool**
List all podcast categories.

Parameters: None required.

**list-iab-categories-tool**
List IAB Tech Lab content taxonomy categories.

Parameters: None required.

#### Alert Tools

**create-alert-tool**
Create a content monitoring alert. Alerts monitor podcast transcripts, titles, and descriptions for matching content. Supports Boolean expressions (AND, OR, NOT) and wildcard patterns.

Parameters:
- `name` (required): Alert name
- `filters` (required): Keywords/phrases to monitor (up to 10)
- `webhook_url`: URL for real-time notifications

**list-alerts-tool**
List all content monitoring alerts for your team. Returns alert names, filter configurations, mention counts, and notification settings.

Parameters: None required.

**get-alert-mentions-tool**
Get mentions found by a specific alert. Returns episode details, matched excerpts with timestamps, and sentiment analysis.

Parameters:
- `id` (required): Alert ID (format: `al_xxx`)
- `page`: Page number

**get-mention-detail-tool**
Get detailed information about a specific alert mention.

Parameters:
- `id` (required): Mention ID (format: `mn_xxx`)

**update-alert-tool**
Modify an existing alert's settings, filters, or notification preferences.

Parameters:
- `id` (required): Alert ID (format: `al_xxx`)
- `name`: New alert name
- `filters`: Updated keywords/phrases
- `enabled`: Enable/disable the alert

**delete-alert-tool**
Permanently remove an alert and all its mentions.

Parameters:
- `id` (required): Alert ID

**export-mentions-tool**
Export alert mentions as JSON or CSV with date filtering.

Parameters:
- `id` (required): Alert ID (format: `al_xxx`)
- `format`: Export format ("json" or "csv")
- `date_from`: Start date filter
- `date_to`: End date filter

#### List Tools

**list-user-lists-tool**
List all content collections (lists) for your team. Returns list names, descriptions, item counts, and creation dates.

Parameters: None required.

**get-list-items-tool**
Get contents of a specific list including podcasts, episodes, entities, and topics.

Parameters:
- `id` (required): List ID (format: `cl_xxx`)
- `page`: Page number

**add-to-list-tool**
Add items to an existing list. Supports podcasts, episodes, entities, topics, and mentions.

Parameters:
- `list_id` (required): List ID
- `item_id` (required): ID of the item to add
- `item_type` (required): Type of item ("podcast", "episode", "entity", "topic", "mention")

**create-list-tool**
Create a new content collection.

Parameters:
- `name` (required): List name
- `description`: Optional description

**remove-from-list-tool**
Remove an item from an existing list.

Parameters:
- `list_id` (required): List ID
- `item_id` (required): ID of the item to remove

**update-list-tool**
Update list name or description.

Parameters:
- `id` (required): List ID (format: `cl_xxx`)
- `name`: New name
- `description`: New description

**delete-list-tool**
Permanently delete a list and all its items.

Parameters:
- `id` (required): List ID

#### Report Tools

**list-reports-tool**
List reports for your team with optional status filtering.

Parameters:
- `status`: Filter by status (pending, processing, completed, failed, cancelled)
- `page`: Page number

**create-report-tool**
Create a historical search report across the podcast archive.

Parameters:
- `keywords` (required): Search terms
- `lookback_days`: How far back to search (plan-dependent)
- `language`: Language filter
- `region`: Region filter
- `categories`: Category filter

**get-report-tool**
Get full report details with paginated results.

Parameters:
- `id` (required): Report ID (format: `rp_xxx`)
- `page`: Page number

**get-report-status-tool**
Lightweight polling for report processing progress.

Parameters:
- `id` (required): Report ID

**cancel-report-tool**
Cancel a pending or processing report.

Parameters:
- `id` (required): Report ID

**retry-report-tool**
Re-run a completed, failed, or cancelled report.

Parameters:
- `id` (required): Report ID

**export-report-tool**
Export report results as JSON or Markdown.

Parameters:
- `id` (required): Report ID
- `format`: "json" or "markdown"

**delete-report-tool**
Archive a report (soft delete).

Parameters:
- `id` (required): Report ID

**share-report-tool**
Share a report via a public link that doesn't require authentication.

Parameters:
- `id` (required): Report ID (format: `rp_xxx`)

**unshare-report-tool**
Remove public sharing from a report, revoking the share link.

Parameters:
- `id` (required): Report ID (format: `rp_xxx`)

#### Sponsor Tools

**browse-sponsors-tool**
Browse podcast sponsors with filtering and sorting options. Discover sponsors by mention count, reach, time period, and podcast categories.

Parameters:
- `sort`: Sort order (e.g., "mentions", "reach", "recent")
- `categories`: Filter by podcast categories
- `time_period`: Filter by time period
- `page`: Page number

**search-sponsors-tool**
Search for podcast sponsors by name.

Parameters:
- `query` (required): Sponsor name to search
- `page`: Page number

**get-sponsor-tool**
Get detailed sponsor profile including reach score, podcast count, episode count, and activity timeline. Optionally includes recent sponsor segment transcripts from episodes.

Parameters:
- `sponsor_id` (required): Sponsor entity ID (format: `en_xxx`)
- `include_segment_transcripts`: Include recent ad read transcripts (default: false)

**get-sponsor-podcasts-tool**
Get podcasts where a sponsor has appeared with episode counts and date ranges.

Parameters:
- `sponsor_id` (required): Sponsor entity ID (format: `en_xxx`)
- `page`: Page number

**get-sponsor-trend-tool**
Get sponsorship activity trend over time for a specific sponsor.

Parameters:
- `sponsor_id` (required): Sponsor entity ID (format: `en_xxx`)
- `days`: Number of days of history (default: 90)

#### Share of Voice Tools

**list-competitive-sets-tool**
List all Share of Voice competitive sets for your team.

Parameters: None required.

**create-competitive-set-tool**
Create a new competitive intelligence set for tracking brand share of voice.

Parameters:
- `name` (required): Set name
- `brands`: Initial brands to add

**get-competitive-set-tool**
Get details of a competitive set including all brands and their current SOV data.

Parameters:
- `id` (required): Competitive set ID

**add-brand-to-set-tool**
Add a brand to an existing competitive set.

Parameters:
- `set_id` (required): Competitive set ID
- `brand_name` (required): Brand name to add
- `keywords`: Additional keywords to monitor for this brand

**get-sov-data-tool**
Get current Share of Voice data for all brands in a competitive set.

Parameters:
- `set_id` (required): Competitive set ID

**get-sov-time-series-tool**
Get SOV trend data over time showing how brand conversation share changes.

Parameters:
- `set_id` (required): Competitive set ID
- `days`: Number of days of history

**get-sov-sentiment-tool**
Get sentiment analysis breakdown per brand in a competitive set.

Parameters:
- `set_id` (required): Competitive set ID

**get-sov-keyword-matches-tool**
Get detailed keyword match drill-down for a Share of Voice brand, showing which episodes matched and why. Returns match details including keywords, excerpts, verification status, and episode context.

Parameters:
- `set_id` (required): Competitive set ID (format: `cs_xxx`)
- `brand_id` (required): Brand/competitive set entity ID (format: `cb_xxx`)
- `period`: Time period: "7d", "30d" (default), or "90d"
- `page`: Page number for pagination (default: 1)

#### Category Leaders

**search-category-leaders-tool**
Find top podcasts by Apple/Spotify category, IAB category, or chart position — includes contact data and audience metrics for outreach. Results are ranked by Podscan Reach Score (PRS) and deduplicated.

Parameters:
- `selections` (required): Array of category selections. Each needs: type ("category", "iab", or "chart"), id (category/chart ID). For chart type, also accepts country and platform.
- `limit`: Maximum number of results to return (clamped to plan limit)

#### Utility Tools

**suggest-podcast-tool**
Submit a new podcast for indexing by providing its RSS feed URL. Validates the URL, checks if the podcast already exists, and queues it for processing.

Parameters:
- `rss_url` (required): The RSS feed URL of the podcast to suggest

---

## 3. REST API

### Authentication

All API requests require a Bearer token in the Authorization header:

```
Authorization: Bearer YOUR_API_TOKEN
```

Generate tokens in your Podscan dashboard under Team Settings > API Tokens.

### Base URL

```
https://api.podscan.fm/v1
```

### Interactive Documentation

Full API reference with all endpoints, parameters, request/response examples, and the ability to try requests directly:

- **Interactive API Docs (Scalar)**: https://podscan.fm/docs/rest-api
- **OpenAPI Spec**: https://podscan.fm/docs/api.json

Use the "Copy as Markdown" button in the interactive docs to export the full API spec for offline reference.

### Key Endpoints

| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | `/podcasts` | Search and list podcasts |
| GET | `/podcasts/{id}` | Get podcast details |
| GET | `/podcasts/{id}/episodes` | List podcast episodes |
| GET | `/episodes` | Search episodes |
| GET | `/episodes/{id}` | Get episode details |
| GET | `/episodes/{id}/transcript` | Get episode transcript |
| GET | `/entities` | Search people and brands |
| GET | `/entities/{id}` | Get entity details |
| GET | `/topics` | Search topics |
| GET | `/topics/{id}` | Get topic details |
| GET | `/topics/trending` | Get trending topics |
| GET | `/scans` | List alerts |
| POST | `/scans` | Create an alert |
| GET | `/scans/{id}/mentions` | Get alert mentions |
| GET | `/lists` | List collections |
| GET | `/lists/{id}` | Get list items |
| GET | `/charts` | Get podcast charts |
| GET | `/podcasts/{id}/analysis` | Get podcast guest/sponsor/host analysis |
| GET | `/podcasts/{id}/chart-history` | Get podcast chart ranking history |
| GET | `/episodes/{id}/engagement` | Get episode listener engagement (add-on) |
| GET | `/topics/{id}/demographics` | Get topic audience demographics |
| GET | `/topics/trending/export` | Export trending topics as CSV |
| GET | `/topic-collections` | List topic collections |
| GET | `/topic-collections/{slug}` | Get topic collection details |
| POST | `/category-leaders/search` | Search category leaders |
| POST | `/category-leaders/export` | Export category leaders as CSV |
| GET | `/teams/{team}/alert-groups` | List alert groups |
| POST | `/teams/{team}/alert-groups` | Create alert group |

### Pagination

All list endpoints support pagination via `page` parameter. Responses include pagination metadata:

```json
{
  "data": [...],
  "meta": {
    "current_page": 1,
    "last_page": 10,
    "per_page": 25,
    "total": 250
  }
}
```

---

## 4. Key Concepts

### ID Format

All resources use encoded IDs with type prefixes for clarity:

| Prefix | Resource | Example |
|--------|----------|---------|
| `pd_` | Podcast | `pd_abc123` |
| `ep_` | Episode | `ep_def456` |
| `tp_` | Topic | `tp_ghi789` |
| `en_` | Entity (person/org) | `en_jkl012` |
| `ea_` | Entity Appearance | `ea_mno345` |
| `al_` | Alert | `al_pqr678` |
| `mn_` | Mention | `mn_stu901` |
| `cl_` | Collection (List) | `cl_vwx234` |
| `pb_` | Publisher | `pb_yza567` |
| `rp_` | Report | `rp_abc123` |
| `ct_` | Category | `ct_bcd890` |

### Entity Types

Entities represent people and organizations identified in podcast content:
- **People**: Hosts, guests, producers, or anyone mentioned by name
- **Organizations**: Companies, brands, agencies, or institutions

Each entity appearance has a **role**:
- `host` — The podcast host
- `guest` — A guest on the episode
- `sponsor` — A sponsor or advertiser
- `producer` — The production team
- `mention` — Someone mentioned in conversation but not present

### Topics

Topics are themes and subjects automatically extracted from episode content. Each topic has:
- **Occurrences**: Total number of episodes mentioning this topic
- **Momentum**: A score reflecting growth in mentions over recent periods
- **Related topics**: Other topics frequently discussed alongside this one

### Alerts (Scans)

Alerts monitor new podcast content for keyword matches. Features:
- **Boolean expressions**: Use AND, OR, NOT for precise matching
- **Wildcards**: Use `*` for partial matching (e.g., `AI*` matches "AI", "AI-powered", "AIops")
- **Up to 10 filters per alert**: Each filter is an independent search expression
- **Context-aware questions**: Follow-up yes/no questions that filter mentions after keyword matching to reduce false positives
- **Question suggestions**: Generates context-aware yes/no questions from your alert name and keyword filters, optimized to disambiguate your target topic from common false positive scenarios
- **Sentiment analysis**: Automatic emotional context evaluation for each mention
- **Webhooks**: Real-time HTTP notifications when matches are found

### Lists (Collections)

Lists are curated collections for organizing content. A list can contain mixed item types:
- Podcasts, Episodes, Entities, Topics, and Mentions

---

## 5. Common Use Cases

### Brand Monitoring
Track when your brand, competitors, or industry terms are mentioned across podcasts.

1. Create an alert: `create-alert-tool` with brand name and variations
2. Check mentions regularly: `get-alert-mentions-tool` for matched content with sentiment
3. Search historically: `search-episodes-tool` for past mentions
4. Organize findings: `add-to-list-tool` to save important mentions

**Example prompt**: "Set up monitoring for mentions of 'Acme Corp' or 'AcmeCo' across all podcasts and show me recent mentions with sentiment analysis."

### Competitive Intelligence
Monitor competitor activity and industry discussions.

1. Search for competitor mentions: `search-people-brands-tool` with competitor name
2. Track their podcast appearances: `get-entity-appearances-tool` filtered by role
3. Find similar podcasts to theirs: `get-similar-podcasts-tool`
4. Monitor trending topics in your industry: `get-trending-topics-tool`

**Example prompt**: "Find all podcast appearances by the CEO of [competitor] in the last 3 months and summarize what topics they discussed."

### Transcript Search & Analysis
Search across millions of podcast transcripts for specific content.

1. Search episodes: `search-episodes-tool` with keywords
2. Get full transcripts: `get-episode-transcript-tool` with search highlighting
3. Analyze topics covered: `get-topic-tool` for topic details and trends
4. Explore related content: `get-topic-episodes-tool` for more episodes on the same topic

**Example prompt**: "Find podcast episodes that discuss 'remote work productivity tools' and extract the key recommendations from the transcripts."

### Audience Research
Understand podcast audiences and demographics for a target market.

1. Find podcasts by demographics: `get-podcast-demographics-tool` with audience criteria
2. Get detailed podcast info: `get-podcast-tool` for reach and audience metrics
3. Check reviews and ratings: `get-podcast-reviews-tool` for audience sentiment
4. Explore chart rankings: `get-charts-tool` for category performance

**Example prompt**: "Find English-language podcasts about personal finance with at least 10,000 listeners and show me their audience demographics and ratings."

### PR & Guest Booking
Find podcast opportunities for guest appearances.

1. Search relevant podcasts: `search-podcasts-tool` filtered by `has_guests: true`
2. Check podcast details: `get-podcast-tool` for contact info and audience size
3. Review recent episodes: `get-podcast-episodes-tool` to understand content fit
4. Find similar opportunities: `get-similar-podcasts-tool`

**Example prompt**: "Find podcasts that regularly feature guests and discuss SaaS entrepreneurship, sorted by audience size."

### Trend Analysis
Track emerging topics and industry trends through podcast discussions.

1. Get trending topics: `get-trending-topics-tool` for current trends
2. Explore topic details: `get-topic-tool` for momentum and history
3. Find related episodes: `get-topic-episodes-tool` for content covering the trend
4. Monitor over time: Create alerts for key topics using `create-alert-tool`

**Example prompt**: "What topics are trending in podcasts right now? Show me the top 10 with their momentum scores and example episodes."

---

## 6. Rate Limits & Quotas

API usage is subject to rate limits based on your subscription plan. Rate limit information is included in response headers:

- `X-RateLimit-Limit`: Maximum requests per minute
- `X-RateLimit-Remaining`: Remaining requests in current window
- `X-RateLimit-Reset`: Timestamp when the limit resets

MCP tool usage shares the same quota as REST API calls.

---

## Additional Resources

- **Interactive API Docs**: https://podscan.fm/docs/rest-api
- **OpenAPI Specification**: https://podscan.fm/docs/api.json
- **MCP Server Setup**: https://podscan.fm/mcp-server
- **Agent Discovery Card**: https://podscan.fm/.well-known/agent.json
- **Pricing & Plans**: https://podscan.fm/pricing
- **Support**: arvid@podscan.fm