Bearer-auth REST, or native MCP for tool-calling clients. Every result carries a speaker, a timestamp, a source, and a score, spanning the public corpus and your own uploads.
# search public corpus + your uploads
curl "https://www.audioscrape.com/api/search" \
-H "Authorization: Bearer $AUDIOSCRAPE_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "Sam Altman on AGI",
"limit": 5
}'# Claude, Cursor, ChatGPT: add as a connector, sign in when prompted
connector URL https://mcp.audioscrape.com
# headless agents & CI: same server, API-key auth
{ "mcpServers": { "audioscrape": {
"url": "https://mcp.audioscrape.com",
"headers": { "Authorization": "Bearer ${AUDIOSCRAPE_KEY}" }
}}}
# tool: search_audio_content(query, limit)import requests
r = requests.post(
"https://www.audioscrape.com/api/search",
headers={"Authorization": f"Bearer {key}"},
json={"query": "Sam Altman on AGI", "limit": 5},
)
for s in r.json()["results"]:
print(s["speaker"], s["timestamp"]["start"], s["text"])# real response shape, truncated
{ "results": [ {
"speaker": "Sam Altman", "score": 0.93,
"text": "I think AGI gets built sooner than most people expect...",
"timestamp": { "start": 1042.6, "end": 1051.2 },
"podcast": { "title": "Lex Fridman Podcast" },
"urls": { "segment": "https://www.audioscrape.com/podcast/..." }
} ] }Sign up free, open your workspace, create an API key. Keys are pinned to the workspace: public corpus plus your own data, nothing else.
POST a query to /api/search, or add the MCP connector in Claude / Cursor / ChatGPT. Same retrieval either way.
Push audio to the upload API; it is transcribed, attributed, and searchable through the same call, scoped private to your workspace.
Everything an agent needs, nothing it doesn't. Full reference in the docs.
See the full API docs for exact schemas.
Free key, public corpus included. Connect your own audio whenever you're ready.