> ## Documentation Index
> Fetch the complete documentation index at: https://docs.videodb.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Legacy Search

> Use legacy spoken-word and scene-index search behavior during migration.

## Endpoints

```http theme={null}
POST /video/{video_id}/search/
POST /collection/{collection_id}/search/
```

These endpoints are the older search surface for spoken-word and legacy scene indexes.

In the Python SDK, prefer `legacy_search()` when using legacy parameters:

```python theme={null}
from videodb import SearchType, IndexType

results = video.legacy_search(
    query="product demo",
    search_type=SearchType.semantic,
    index_type=IndexType.scene,
    scene_index_id="idx_scene_123",
    score_threshold=0.3,
)
```

Legacy-shaped parameters include:

* `search_type`
* `index_type`
* `result_threshold`
* `dynamic_score_percentage`
* `scene_index_id`
* `algorithm`
* `sort_docs_on`
* `namespace`

<Note>
  Do not mix legacy parameters with Search V2 parameters. Use `search()` for new high-level Search V2, and `legacy_search()` for legacy spoken-word / scene-index behavior.
</Note>

For new retrieval flows, use Search V2:

* `search()` / DeepSearch for high-level natural-language retrieval
* `semantic_search()` for direct semantic index search
* `query()` for structured filtering
* `aggregate()` for counts/facets
* `ask()` for generated answers
