API Documentation
Programmatic access to transcription, search, uploads, chart rankings, and entity data, across podcasts, government meetings, and your own audio. 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
Every API request carries 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 100 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": "starter", "email": "[email protected]"}'Returns a Stripe payment link the agent can present to the user. No API key required for this endpoint.
Endpoints
The core REST surface, grouped by resource.
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.
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.
connector URL https://mcp.audioscrape.comOAuth 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— Newest episodes in the public library by publish date, optionally scoped to specific podcasts (your own recordings:list_my_uploads)get_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
The status and error codes you will see, and what they mean.
Need Help?
Contact us at [email protected].