Machine Readiness
Stored receipt and evidence
36
100
25
0
0
Samples
No stored offer samples.
Samples
No stored action samples.
Samples
No stored product samples.
Document
# 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
# 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
# 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