Health
Entities
- Taxonomy
Assets
Collections
Namespaces
Feature Extractors
Search Features
This endpoint allows you to search features.
curl --request POST \
--url https://api.mixpeek.com/v1/features/search \
--header 'Content-Type: application/json' \
--data '{
"queries": [
{
"embedding_model": "image",
"settings": {
"limit": 50,
"min_score": 0.7
},
"type": "url",
"value": "https://example.com/dog.jpg"
},
{
"embedding_model": "text",
"type": "text",
"value": "This is a text query"
}
],
"collections": [
"collection1",
"collection2"
],
"filters": {
"case_sensitive": true,
"AND": [
{
"key": "name",
"operator": "eq",
"value": "John"
},
{
"key": "age",
"operator": "gte",
"value": 30
}
],
"OR": [
{
"key": "status",
"operator": "eq",
"value": "active"
},
{
"key": "role",
"operator": "eq",
"value": "admin"
}
],
"NOR": [
{
"key": "department",
"operator": "eq",
"value": "HR"
},
{
"key": "location",
"operator": "eq",
"value": "remote"
}
]
},
"group_by": {
"field": "asset_id",
"max_features": 10,
"sort": {
"direction": "desc",
"field": "metadata.field_name"
}
},
"sort": {
"direction": "desc",
"field": "score"
},
"select": [
"title",
"content",
"metadata.author",
"metadata.publication_date"
],
"reranking_options": {
"weights": {
"feedback": 0.7,
"popularity": 0.3
},
"enable_reranking": true
},
"session_id": "sess_abc123",
"return_url": true
}'
{}
Headers
Bearer token authentication using your API key. Format: 'Bearer your_api_key'. To get an API key, create an account at mixpeek.com/start and generate a key in your account settings. Example: 'Bearer sk_1234567890abcdef'
Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
Query Parameters
The position to start returning results from. Used for pagination. Does not work with group_by
Number of results to return per page.
1 <= x <= 100
Body
List of Collection names to search within, required
List of search queries to perform.
Behavior:
- Single query: Results are returned directly from that query
- Multiple queries: Results are combined using Reciprocal Rank Fusion (RRF)
RRF combines results from multiple queries by:
1. Taking each item's rank position in each result list
2. Re-ranking all items by their combined RRF scores
When merging lists from different sources,
RRF considers all items that appear in any of the input lists,
not just items that appear in all lists.
This helps surface items that rank well across multiple queries while
reducing the impact of outlier high rankings in single queries.
NOTE: If query array is empty, it will return all features.
Name of the vector index to search
image
, multimodal
, text
, video
, keyword
, naver-splade-v3
, vertex-multimodal
, openai-clip-vit-base-patch32
, baai-bge-m3
Query value - can be text, URL, or base64 encoded image
Type of input (text, url, or base64)
text
, url
, base64
Optional filters for the query, this is used for filtering individual vector indexes
Whether to perform case-sensitive matching
Logical AND operation
Whether to perform case-sensitive matching
Logical AND operation
Logical OR operation
Logical NOR operation
Logical OR operation
Whether to perform case-sensitive matching
Logical AND operation
Logical OR operation
Logical NOR operation
Logical NOR operation
Whether to perform case-sensitive matching
Logical AND operation
Logical OR operation
Logical NOR operation
Optional settings for this specific query
Optional limit for number of results per vector index, this is overriden by ?page_size=int if a single query is provided.
Optional score threshold for filtering results
Optional modality override for the query, this is only used for multimodal embeddings
Used for filtering across all indexes
Whether to perform case-sensitive matching
Logical AND operation
Whether to perform case-sensitive matching
Logical AND operation
Whether to perform case-sensitive matching
Logical AND operation
Logical NOR operation
Logical OR operation
Whether to perform case-sensitive matching
Logical NOR operation
Whether to perform case-sensitive matching
Logical AND operation
Logical NOR operation
Logical OR operation
Whether to perform case-sensitive matching
Logical AND operation
Whether to perform case-sensitive matching
Logical OR operation
Whether to perform case-sensitive matching
Logical NOR operation
Whether to perform case-sensitive matching
Logical NOR operation
Whether to perform case-sensitive matching
Logical AND operation
Whether to perform case-sensitive matching
Logical AND operation
Logical NOR operation
Logical OR operation
Whether to perform case-sensitive matching
Logical NOR operation
Whether to perform case-sensitive matching
Logical AND operation
Logical NOR operation
Grouping options for search results
Field to group by
Note: We currently do not support ad-hoc grouping.
This means the field must be indexed separately.
Please contact us to add additional fields for grouping.
Maximum number of features to group
List of fields to return in results, supports dot notation. If None, all fields are returned.
Options for ranking the search results, including weights and feedback application
Weights to blend different ranking signals. Must sum to 1.0.
- feedback: Weight for feedback-based score (positive, negative)
- popularity: Weight for user interaction signals (clicks, views)
Enable interaction-based score adjustments.
When enabled, historical interactions will influence ranking:
- Positive feedback and clicks boost scores
- Negative feedback reduces scores
- View duration and skip signals are considered
- Adjustments are weighted by recency
Identifier for tracking search session interactions
Return the presigned URL for the asset and preview asset, this will introduce additional latency
Response
The response is of type object
.
Was this page helpful?
curl --request POST \
--url https://api.mixpeek.com/v1/features/search \
--header 'Content-Type: application/json' \
--data '{
"queries": [
{
"embedding_model": "image",
"settings": {
"limit": 50,
"min_score": 0.7
},
"type": "url",
"value": "https://example.com/dog.jpg"
},
{
"embedding_model": "text",
"type": "text",
"value": "This is a text query"
}
],
"collections": [
"collection1",
"collection2"
],
"filters": {
"case_sensitive": true,
"AND": [
{
"key": "name",
"operator": "eq",
"value": "John"
},
{
"key": "age",
"operator": "gte",
"value": 30
}
],
"OR": [
{
"key": "status",
"operator": "eq",
"value": "active"
},
{
"key": "role",
"operator": "eq",
"value": "admin"
}
],
"NOR": [
{
"key": "department",
"operator": "eq",
"value": "HR"
},
{
"key": "location",
"operator": "eq",
"value": "remote"
}
]
},
"group_by": {
"field": "asset_id",
"max_features": 10,
"sort": {
"direction": "desc",
"field": "metadata.field_name"
}
},
"sort": {
"direction": "desc",
"field": "score"
},
"select": [
"title",
"content",
"metadata.author",
"metadata.publication_date"
],
"reranking_options": {
"weights": {
"feedback": 0.7,
"popularity": 0.3
},
"enable_reranking": true
},
"session_id": "sess_abc123",
"return_url": true
}'
{}