curl -X POST https://api.fastdrop.io/api/v1/batch/a1b2c3d4-5678-90ab-cdef-1234567890ab/search \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"query": "talking about deadlines",
"mode": "hybrid",
"max_results": 10
}'
import httpx
response = httpx.post(
"https://api.fastdrop.io/api/v1/batch/a1b2c3d4-.../search",
headers={"X-API-Key": "fd_live_your_key_here"},
json={
"query": "talking about deadlines",
"mode": "hybrid",
"max_results": 10,
},
)
print(response.json())
const response = await fetch(
"https://api.fastdrop.io/api/v1/batch/a1b2c3d4-.../search",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "fd_live_your_key_here",
},
body: JSON.stringify({
query: "talking about deadlines",
mode: "hybrid",
max_results: 10,
}),
}
);
const data = await response.json();
{
"query": "talking about deadlines",
"total_results": 3,
"results": [
{
"video_id": "f8e7d6c5-4321-ba09-fedc-ba0987654321",
"filename": "GH010087.MP4",
"role": null,
"start_time": 42.5,
"end_time": 49.2,
"text": "We need to push the deadline back by at least two weeks.",
"relevance_score": 0.8721,
"match_type": "hybrid",
"language": "en",
"thumbnail_url": "https://storage.fastdrop.io/thumbs/abc123-t1.jpg"
},
{
"video_id": "a9b8c7d6-...",
"filename": "interview-day2.mp4",
"role": "A-Roll",
"start_time": 128.0,
"end_time": 135.5,
"text": "The project timeline is really tight, we're behind schedule.",
"relevance_score": 0.6543,
"match_type": "semantic",
"language": "en",
"thumbnail_url": "https://storage.fastdrop.io/thumbs/def456-t1.jpg"
}
]
}
Batch Processing
Search Batch Transcripts
Search across transcribed videos in a batch by keyword or natural language
POST
/
batch
/
{batch_id}
/
search
curl -X POST https://api.fastdrop.io/api/v1/batch/a1b2c3d4-5678-90ab-cdef-1234567890ab/search \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"query": "talking about deadlines",
"mode": "hybrid",
"max_results": 10
}'
import httpx
response = httpx.post(
"https://api.fastdrop.io/api/v1/batch/a1b2c3d4-.../search",
headers={"X-API-Key": "fd_live_your_key_here"},
json={
"query": "talking about deadlines",
"mode": "hybrid",
"max_results": 10,
},
)
print(response.json())
const response = await fetch(
"https://api.fastdrop.io/api/v1/batch/a1b2c3d4-.../search",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "fd_live_your_key_here",
},
body: JSON.stringify({
query: "talking about deadlines",
mode: "hybrid",
max_results: 10,
}),
}
);
const data = await response.json();
{
"query": "talking about deadlines",
"total_results": 3,
"results": [
{
"video_id": "f8e7d6c5-4321-ba09-fedc-ba0987654321",
"filename": "GH010087.MP4",
"role": null,
"start_time": 42.5,
"end_time": 49.2,
"text": "We need to push the deadline back by at least two weeks.",
"relevance_score": 0.8721,
"match_type": "hybrid",
"language": "en",
"thumbnail_url": "https://storage.fastdrop.io/thumbs/abc123-t1.jpg"
},
{
"video_id": "a9b8c7d6-...",
"filename": "interview-day2.mp4",
"role": "A-Roll",
"start_time": 128.0,
"end_time": 135.5,
"text": "The project timeline is really tight, we're behind schedule.",
"relevance_score": 0.6543,
"match_type": "semantic",
"language": "en",
"thumbnail_url": "https://storage.fastdrop.io/thumbs/def456-t1.jpg"
}
]
}
Search transcript segments within a batch using keyword, semantic, or hybrid search. Returns timestamped results with matching text.
Cost: 0 credits per query
Search works on any transcribed batch. Classification is not required.
For best practices and search mode recommendations, see the Transcript Search Guide.
Path parameters
string
required
UUID of the batch to search. Must be completed and have search enabled.
Request body
string
required
Search query text. Minimum 1 character.
string
default:"hybrid"
Search mode. Options:
"keyword"— Full-text search with language-aware stemming"semantic"— Embedding-based similarity search"hybrid"— Both combined with score fusion (recommended)
integer
default:20
Maximum number of results to return (1-100).
curl -X POST https://api.fastdrop.io/api/v1/batch/a1b2c3d4-5678-90ab-cdef-1234567890ab/search \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"query": "talking about deadlines",
"mode": "hybrid",
"max_results": 10
}'
import httpx
response = httpx.post(
"https://api.fastdrop.io/api/v1/batch/a1b2c3d4-.../search",
headers={"X-API-Key": "fd_live_your_key_here"},
json={
"query": "talking about deadlines",
"mode": "hybrid",
"max_results": 10,
},
)
print(response.json())
const response = await fetch(
"https://api.fastdrop.io/api/v1/batch/a1b2c3d4-.../search",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "fd_live_your_key_here",
},
body: JSON.stringify({
query: "talking about deadlines",
mode: "hybrid",
max_results: 10,
}),
}
);
const data = await response.json();
{
"query": "talking about deadlines",
"total_results": 3,
"results": [
{
"video_id": "f8e7d6c5-4321-ba09-fedc-ba0987654321",
"filename": "GH010087.MP4",
"role": null,
"start_time": 42.5,
"end_time": 49.2,
"text": "We need to push the deadline back by at least two weeks.",
"relevance_score": 0.8721,
"match_type": "hybrid",
"language": "en",
"thumbnail_url": "https://storage.fastdrop.io/thumbs/abc123-t1.jpg"
},
{
"video_id": "a9b8c7d6-...",
"filename": "interview-day2.mp4",
"role": "A-Roll",
"start_time": 128.0,
"end_time": 135.5,
"text": "The project timeline is really tight, we're behind schedule.",
"relevance_score": 0.6543,
"match_type": "semantic",
"language": "en",
"thumbnail_url": "https://storage.fastdrop.io/thumbs/def456-t1.jpg"
}
]
}
Result fields
| Field | Type | Description |
|---|---|---|
video_id | string | UUID of the matched video |
filename | string | Original filename |
role | string | null | Classification role, if classified. Null otherwise. |
start_time | float | Segment start time in seconds |
end_time | float | Segment end time in seconds |
text | string | Transcript text of the matched segment |
relevance_score | float | 0.0 to 1.0 relevance score |
match_type | string | Which search matched: keyword, semantic, or hybrid |
language | string | ISO 639-1 language code of the segment |
thumbnail_url | string | null | Video thumbnail URL |
Error responses
| Status | Meaning |
|---|---|
| 400 | Search not enabled for this batch, or invalid search mode |
| 404 | Batch not found or not owned by this API key |
| 409 | Batch processing not yet complete |