API Documentation
The Audioscrape API provides programmatic access to podcast transcriptions, search, chart rankings, entity data, and more. All programmatic access requires an API key.
Machine-readable spec: For the always-current OpenAPI definition, see the interactive Swagger UI or download /api/openapi.json. The HTML pages are kept in sync with the spec; if anything diverges, the spec wins.
Authentication
All API requests require an API key. Pass it via:
- Authorization header (recommended):
Authorization: Bearer YOUR_API_KEY - Query parameter:
?api_key=YOUR_API_KEY
Get your API key: Sign up (free tier includes 10 searches/month and 1 API key), then visit Profile > API Keys.
Plans & pricing
Plan names, included quotas (searches, API calls, transcription minutes), and prices live on the pricing page.
Agent Checkout (Programmatic Upgrade)
AI agents can initiate a subscription upgrade on behalf of their user:
curl -X POST "https://www.audioscrape.com/api/agent/payment-link" \
-H "Content-Type: application/json" \
-d '{"plan": "basic", "email": "[email protected]"}'
Returns a Stripe payment link the agent can present to the user. No API key required for this endpoint.
Endpoints
Search
/api/search
Search podcast transcriptions with text or semantic search.
curl -X POST "https://www.audioscrape.com/api/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "artificial intelligence", "limit": 10}'
Charts & Rankings
/api/charts/podcasts?country=us&platform=apple&limit=50
Top podcasts from Apple/Spotify charts.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://www.audioscrape.com/api/charts/podcasts?country=us"
/api/charts/episodes?country=us&platform=apple&limit=50
Top episodes by chart ranking.
/api/charts/podcast/:podcast_id
Ranking history for a specific podcast.
Podcasts
/api/podcasts?q=tech&language=en&limit=20&offset=0
Search podcasts by title with optional language filter.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://www.audioscrape.com/api/podcasts?q=technology"
/api/podcasts/:podcast_id/episodes?limit=20&offset=0
Paginated episodes for a podcast.
/api/podcasts/:podcast_id
Full podcast detail with metadata and episode count.
Episodes
/api/episodes/recent?limit=20&offset=0
Globally recent episodes with transcript availability.
/api/episodes/:episode_id
Full episode detail with transcript and entities.
Persons / Speakers
/api/persons?q=elon&limit=20
Search persons by name.
/api/persons/:slug
Person detail with episode appearances.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://www.audioscrape.com/api/persons/elon-musk"
Entities (Knowledge Graph)
/api/entities?q=openai&type=organization&limit=20
Search entities by name with optional type filter.
/api/entities/:entity_slug
Entity detail with episode mentions.
/api/trending
Trending search queries and entities.
Notifications
/api/notifications
Create a search term notification (webhook + email).
/api/notifications
List your notifications.
MCP Server
Audioscrape provides an MCP (Model Context Protocol) server for AI assistants and agent platforms. Our implementation follows the Nov 2025 MCP authorization spec.
https://mcp.audioscrape.com
OAuth Authorization Flow
Authentication uses OAuth 2.1 with mandatory PKCE (S256). The flow:
- Discover — Fetch
GET /.well-known/oauth-authorization-serverfor endpoints - Register —
POST /oauth/registerwith your client name and redirect URIs (RFC 7591 Dynamic Client Registration) - Authorize —
GET /oauth/authorizewith client_id, code_challenge (S256), redirect_uri, and optionalresourceparameter (RFC 8707) - Exchange —
POST /oauth/tokenwith authorization code and code_verifier - Refresh —
POST /oauth/tokenwith grant_type=refresh_token (tokens are rotated per Nov 2025 spec)
Discovery Endpoints
GET /.well-known/oauth-authorization-server— Authorization server metadata (RFC 8414)GET /.well-known/openid-configuration— Same metadata, OpenID Connect compatibleGET /.well-known/oauth-protected-resource— Protected resource metadata (RFC 9728)
Example: Register a Client
POST https://mcp.audioscrape.com/oauth/register
Content-Type: application/json
{
"client_name": "My AI App",
"redirect_uris": ["https://myapp.com/callback"],
"grant_types": ["authorization_code", "refresh_token"],
"response_types": ["code"],
"scope": "mcp:search mcp:read profile"
}
Available MCP Tools
Discover the live list and JSON schemas via the MCP tools/list method. Names below are stable.
search_audio— Search across all transcribed audio (public podcasts + your uploads); returns matching segments with timestampslist_recent_transcripts— Recently transcribed audio, optionally scoped to specific podcastsget_transcript— Full transcript and metadata for one item (episode or upload)list_podcast_episodes— Episodes within one podcast showsearch_podcasts— Search podcasts by titlesearch_speakers— Search hosts/speakers by nameget_speaker— A speaker's bio and audio appearancessearch_entities— Knowledge graph search across people, companies, locations, topicsget_trending— Currently trending people, topics, and organizationsget_charts— Apple Podcasts and Spotify chart rankings by countrytranscribe_audio— Submit an audio URL for transcription into the user's private workspaceget_transcription_status— Poll status of atranscribe_audiojoblist_my_datasets— Libraries and datasets the user is subscribed to (use first to scope searches)list_my_uploads— The user's own uploaded transcriptscreate_share_link— Shareable URL for an audio moment with social-media preview
Manage your connected MCP apps from your profile settings.
Error Handling
| Status | Code | Meaning |
|---|---|---|
| 401 | UNAUTHORIZED | Missing or invalid API key / session |
| 401 | API key required | Programmatic request without API key (includes signup link) |
| 402 | PAYMENT_REQUIRED | Feature requires a paid subscription |
| 404 | NOT_FOUND | Resource not found |
| 429 | SEARCH_LIMIT_EXCEEDED | Monthly search limit reached — upgrade plan |
| 429 | Too Many Requests | IP rate limit exceeded (includes retry_after_seconds) |
Need Help?
Contact us at [email protected].