Search across Fountain: content, transcripts, and Nostr profiles
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.
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"
]
}
]
}Full-text search across episode transcripts indexed by Fountain.
200The matching content with relevant transcript segments.hitsobject[]requiredOne match per episode, with the transcript segments that matched.
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"
]
},
"segments": [
{
"start": 2477.91,
"end": 2493.9,
"text": "Imagine that you're an alien."
}
]
}
]
}Full-text search across profile names, usernames and NIP-05 identifiers, ranked by influence and capped at 50 results. Two queries are handled specially: a bare npub resolves that profile directly, and a Fountain lightning address (alice@fountain.fm) is matched on its handle.
querystringrequiredThe search query. Must not be empty.
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
}
}
]
}