Skip to main content

Search

Streamdiver automatically indexes every uploaded media asset – transcripts, speakers, keywords, entities, OCR text from images and videos, and document content. This makes your entire media library searchable by content, not just filenames.

The basic search endpoint queries across all indexed fields:

curl --request GET \
--url "https://api.streamdiver.com/v2/search?type=all&text=quarterly%20results" \
--header "Authorization: Bearer {token}" \
--header "Accept: application/json"

The type parameter controls what to search for:

ValueDescription
allSearch media assets and channels
mediaassetSearch only media assets
channelSearch only channels

By default, all indexed fields are searched. Use the fields parameter to narrow the search to specific metadata layers:

curl --request GET \
--url "https://api.streamdiver.com/v2/search?type=mediaasset&text=budget&fields=transcript&fields=document_content" \
--header "Authorization: Bearer {token}"

Available Search Fields

FieldWhat it searches
transcriptSpoken content (automatic transcription)
speakersRecognized speaker names
entitiesExtracted entities (people, places, organizations)
keywordsAutomatically derived keywords
video_textOn-screen text via OCR (videos)
image_textText detected in images via OCR
document_contentFull text content of documents
nameAsset name
descriptionAsset description
tagAssigned tags
objectsDetected objects in video/images
actionsDetected actions in video
exif_metadataEXIF metadata from images

Filters

Combine text search with filters to narrow results:

curl --request GET \
--url "https://api.streamdiver.com/v2/search?type=mediaasset&text=keynote&assetTypes=video&channelId={channelId}&durationTo=600" \
--header "Authorization: Bearer {token}"

Commonly used filters:

ParameterDescription
assetTypesFilter by video, audio, image, or document
channelIdScope results to a specific channel
speakersFilter by speaker name
tagsFilter by tag
durationFrom / durationToDuration range in seconds
after / beforeDate range filters
tip

Use GET /search/ranges to retrieve the available filter ranges (max duration, file size, etc.) for your library.

Beyond keyword matching, Streamdiver provides semantic search that ranks results by meaning – finding relevant content even when exact words don't match:

curl --request GET \
--url "https://api.streamdiver.com/v2/search/semantic?text=how%20to%20reduce%20costs" \
--header "Authorization: Bearer {token}"

Two semantic search modes are available:

EndpointMatches against
/search/semanticOverall asset metadata (titles, descriptions, topics)
/search/textSemanticIndividual sections within assets (chapters, segments)

Pagination

All search endpoints support pagination:

/search?type=all&text=demo&perPage=10&page=2
ParameterDescription
perPageNumber of results per page
pagePage number (1-based)

Further Resources

  • KI-Medienanalyse -- semantic search and RAG across your entire media library
  • Medienbeobachtung -- build a media monitoring platform with search and entity extraction