BitePods

HelpAbout BitePods

The API and the MCP server

Every step in Help can also be done by a program, or by an AI assistant on your behalf: find a show, list its episodes, read the transcript, and turn two times into a link. It is the same free thing — no key, no account, no sign-up — and a bite made this way is the same bite, with the same link, the same page and the same MP3.

There are two ways in and they are the same seven operations: an MCP server at bitepods.com/mcp for assistants, and a REST API at bitepods.com/api/v1 for everything else. Same names, same arguments, same answers.

Connect an assistant

Streamable HTTP, stateless, no authentication. Once it is added, asking for a bite of a show is enough: it searches, picks the episode, reads the transcript and hands back the link.

Claude Code
claude mcp add --transport http bitepods https://bitepods.com/mcp
One line, and the tools are there the next time you ask for a clip.
Claude Desktop, Cursor, VS Code, Windsurf, Zed
{ "mcpServers": { "bitepods": { "type": "http", "url": "https://bitepods.com/mcp" } } }
Anything that reads an mcpServers block. Some clients spell the transport "transport": "http" or "type": "streamable-http" instead; there is nothing else to configure — no key, no env, no command, no npx.
By hand, to check it answers
curl -s -X POST https://bitepods.com/mcp \ -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Answers with the seven tools and their argument schemas.
The MCP endpoint takes no key and holds no session, so connecting to it is an address and nothing else.

Call it from a script

Four steps, and the third is optional. Times are seconds from the start of the episode — 754.3, never "12:34". The URL you pass is the URL that gets shared: it is never rewritten.

# 1. the show, by name
curl -s 'https://bitepods.com/api/v1/shows/search?q=hard+fork'
#    -> shows[0].sourceUrl = https://feeds.simplecast.com/6HKOhNgS

# 2. an episode. Each carries a clipUrl to hand back
curl -s 'https://bitepods.com/api/v1/episodes?url=https%3A%2F%2Ffeeds.simplecast.com%2F6HKOhNgS&limit=1'

# 3. the moment, where the publisher ships a transcript
curl -s 'https://bitepods.com/api/v1/transcript?url=<clipUrl>&start=600&end=900'
#    -> lines[] with start and end in seconds

# 4. the clip
curl -s -X POST 'https://bitepods.com/api/v1/clips' -H 'content-type: application/json' \
  -d '{"url":"<clipUrl>","start":754.3,"end":784.5}'
#    -> links.page, links.short, links.mp3
A name to a shareable link, in four calls. Nothing here is authenticated.

The seven operations

The same seven whether you call them as REST under /api/v1 or as MCP tools. Everything but create_clip only reads; that one writes exactly one thing, the pairing behind a short link, and it can be told not to.

search_showsGET /shows/search
Find podcasts by name
q limit?
top_showsGET /shows/top
The podcast charts
country? limit?
list_episodesGET /episodes
List a show's episodes
url limit? offset?
resolve_urlGET /resolve
Work out what a URL points at
url
get_transcriptGET /transcript
Read the publisher's transcript, timed
url showUrl? start? end? limit?
create_clipPOST /clips
Make a shareable clip
url start end title? showUrl? audioUrl? shorten?
get_clipGET /clips/{id}
Read a clip back by its short id
id
Printed from the same entries the routes, the tools and the OpenAPI document are generated from. A question mark means the argument is optional.

The reference

Four addresses describe this surface at runtime, all generated from the same file the routes and their argument checking are built from. If they and this page ever disagree, they are right.

bitepods.com/llms.txt
What BitePods is, in the form a crawler reads to answer a question about it, with a pointer to this surface appended.
bitepods.com/llms-full.txt
The whole guide as prose, written for a model that has arrived with a fetch tool and no other context.
bitepods.com/openapi.json
OpenAPI 3.1. Point a generator at it rather than reading anything.
bitepods.com/api/v1
Every endpoint, every argument and the MCP details, as JSON — so a program can find its own way around before it calls anything.
All four come out of the catalog at request time, which is why they cannot go stale.

What it will not do is find the good bits for you. It hands over the show's own transcript when there is one — about one in six publishes one — and choosing the moment stays yours, the same as it is in the app.