Search content, transcripts, clips and profiles; look up podcast GUIDs.
Full-text search across content titles and subtitles.
querystringrequiredKeywords to match in titles and subtitles.
Content types to return. Omit to search every type.
Only return children of this content. Fountain content ID {type}:id:{id}. The ID of fountain.fm/show/{id} is show:id:{id}.
200The matching content, most relevant first.The matching content.
curl -X POST "https://api.fountain.fm/v1/search/content" \
-H "Authorization: Bearer $FOUNTAIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"lucky","types":["SHOW","EPISODE"]}'{
"query": "lucky",
"types": [
"SHOW",
"EPISODE"
]
}{
"hits": [
{
"_id": "episode:id:abc123",
"_type": "EPISODE",
"_guid": "abcdef",
"info": {
"title": "#2394 - Palmer Luckey",
"subtitle": "The Joe Rogan Experience",
"publisher": "Joe Rogan",
"audio": "https://example.com/episodes/abc123/audio.mp3",
"video": "https://example.com/episodes/abc123/video.m3u8",
"duration": 11294,
"published": "2025-10-16T17:00:00.000Z"
},
"links": [
"show:id:def456",
"show:guid:abcdef"
]
}
]
}Search episode transcripts indexed by Fountain.
200The matching content with relevant transcript segments.hitsobject[]requiredOne hit per episode with matching transcript segments.
The matching content.
The relevant transcript segments.
curl -X POST "https://api.fountain.fm/v1/search/transcripts" \
-H "Authorization: Bearer $FOUNTAIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"aliens","parent":"show:id:Z3Bnva1FtoO6Vc8NN4Zr"}'{
"query": "aliens",
"parent": "show:id:Z3Bnva1FtoO6Vc8NN4Zr"
}{
"hits": [
{
"hit": {
"_id": "episode:id:abc123",
"_type": "EPISODE",
"_guid": "abcdef",
"info": {
"title": "#2394 - Palmer Luckey",
"subtitle": "The Joe Rogan Experience",
"publisher": "Joe Rogan",
"audio": "https://example.com/episodes/abc123/audio.mp3",
"video": "https://example.com/episodes/abc123/video.m3u8",
"duration": 11294,
"published": "2025-10-16T17:00:00.000Z"
},
"links": [
"show:id:def456",
"show:guid:abcdef"
]
},
"segments": [
{
"start": 2477.91,
"end": 2493.9,
"text": "Imagine that you're an alien."
}
]
}
]
}Find up to 3 clips in a show's transcripts that match a context, such as a news story or a topic, strongest first. Pass a candidate's source and text to Create Social Post to make a post. Returns an empty list when no clip is strong enough.
200The matching clips, strongest first.Up to 3 clips.
curl -X POST "https://api.fountain.fm/v1/search/clips" \
-H "Authorization: Bearer $FOUNTAIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"Bitcoin went above $100,000","parent":"show:id:xyz789"}'{
"query": "Bitcoin went above $100,000",
"parent": "show:id:xyz789"
}{
"candidates": [
{
"title": "Why the genesis block matters",
"text": "Bitcoin just went above $100,000. Here is why it started with one block in 2009.",
"reason": "The guest explains the origin of Bitcoin in under 20 seconds, which fits the news of the day.",
"score": 86,
"source": {
"ids": [
"episode:id:abc123",
"show:id:xyz789"
],
"media": "https://media.fountain.fm/episodes/abc123.mp3",
"transcript": "the genesis block was mined in 2009",
"ts_start": 2477.91,
"ts_end": 2493.9
}
}
]
}Search names, usernames and NIP-05 identifiers. Returns up to 50 profiles, ranked by influence. A bare npub resolves a profile directly; a Fountain lightning address (alice@fountain.fm) matches its handle.
querystringrequiredNon-empty search query.
200The matching profiles, most influential first.The matching profiles.
curl -X POST "https://api.fountain.fm/v1/search/profiles" \
-H "Authorization: Bearer $FOUNTAIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"alice"}'{
"query": "alice"
}{
"profiles": [
{
"pubkey": "a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90",
"npub": "npub1c2d3e4f5g6h7i8j9k0l1m2n3o4p5q6r7s8t9u0v1w2x3y4z5a6b7c8d9e0f",
"handle": "alice",
"display": {
"name": "Alice",
"username": "alice",
"about": "Podcaster and bitcoiner.",
"picture": "https://media.fountain.fm/profiles/alice/avatar.jpg",
"nip05": "alice@fountain.fm",
"lud16": "alice@fountain.fm"
},
"stats": {
"following": 128,
"followers": 4210
}
}
]
}Find content by RSS feed <podcast:guid> and RSS item <guid>.
idstringrequiredPodcast feed GUID as podcast:guid:{guid}, or RSS item <guid> value as podcast:item:guid:{guid}. GUIDs must contain no whitespace. Item lookups also require parent.
parentstringoptionalParent feed GUID as podcast:guid:{guid}, with no whitespace. Required for item lookups to return only matches belonging to this feed; ignored for feed lookups.
200The content with the matching GUID.curl -X POST "https://api.fountain.fm/v1/search/lookup" \
-H "Content-Type: application/json" \
-d '{"id":"podcast:item:guid:abcdef","parent":"podcast:guid:9b...e1"}'{
"id": "podcast:item:guid:abcdef",
"parent": "podcast:guid:9b...e1"
}{
"hits": [
{
"_id": "episode:id:abc123",
"_type": "EPISODE",
"_guid": "abcdef",
"info": {
"title": "#2394 - Palmer Luckey",
"subtitle": "The Joe Rogan Experience",
"publisher": "Joe Rogan",
"audio": "https://example.com/episodes/abc123/audio.mp3",
"video": "https://example.com/episodes/abc123/video.m3u8",
"duration": 11294,
"published": "2025-10-16T17:00:00.000Z"
},
"links": [
"show:id:def456",
"show:guid:abcdef"
]
}
]
}