Name | Type | Required | Description |
---|---|---|---|
q | string | Yes | The search query string. Use * for a wildcard search. |
query_by | string | Yes | Comma-separated list of fields to search in (e.g. title,description ). |
per_page | string | No | Number of results per page. Default: 20. |
page | string | No | Page number for pagination. |
include_fields | string | No | Comma-separated list of fields to include in the response. |
filter_by | string | No | Filter expression using Typesense syntax (e.g. priorityName:=medium&&statusName:=resolved ). |
sort_by | string | No | Sort expression (e.g. createdAt:desc ). |
streaming | bool | No | If true , enables streaming of paginated results. |
Tip: You can use any Typesense search parameter for advanced use cases, including faceting, typo tolerance, and more.
streaming=true
query parameter to your request.
streaming=true
is set, the API will stream each page of results as a separate JSON object. Each chunk is a full page of results, using the same structure as a normal (non-streaming) response.per_page
parameter cannot exceed 250. If a higher value is provided, it will be capped at 250.{ "done": true }
.{ "error": "..." }
will be sent, and the stream will close.Note: Each chunk is a full page of results in the same format as a normal search response. Process each chunk as it arrives for best performance.
{ "done": true }
chunk to know when the stream is complete.error
property.include_fields
parameter to limit results to only the fields you need—this improves performance and reduces payload size.query_by
fields relevant to your use case for more accurate results.filter_by
using &&
for precise targeting (e.g. status:=open&&priority:=high
).per_page
and page
) for large result sets to avoid timeouts and improve user experience.*
as your query unless you really want all results—prefer a more specific search string when possible.include_fields
for large collections.include_fields
or query logic.