---
title: "Stream search results across multiple queries"
method: POST
path: "/api/{org_id}/_search_multi_stream"
tags: ["Search"]
---

# Stream search results across multiple queries

`POST /api/{org_id}/_search_multi_stream`

## Request

- Base URL: `https://api.openobserve.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openobserve.ai/api/{org_id}/_search_multi_stream`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/openobserve/apis/openobserve-api-http/docs/api/:org_id/_search_multi_stream/post.ts> (a function with typed inputs; its response is checked against the schema)

Executes multiple SQL queries and streams the results back in real-time using HTTP/2 server-sent events. This enables streaming of results from multiple independent queries simultaneously, ideal for multi-stream dashboards and complex analytics where you want to receive data as it becomes available from different data sources.

## Path parameters

- `org_id` string, required

## Request body

- object
  - `clusters` string[]
  - `encoding` 'base64' | 'Empty'
  - `end_time` integer, required
  - `from` integer
  - `index_type` string
  - `per_query_response` boolean
  - `query_fn` string, nullable
  - `quick_mode` boolean
  - `regions` string[]
  - `search_event_context` SearchEventContext
    - `alert_key` string, nullable
    - `alert_name` string, nullable
    - `dashboard_id` string, nullable
    - `dashboard_name` string, nullable
    - `derived_stream_key` string, nullable
    - `folder_id` string, nullable
    - `folder_name` string, nullable
    - `panel_id` string, nullable
    - `public_dashboard_link_id` string, nullable
    - `range_key` string, nullable
    - `report_id` string, nullable
  - `search_type` 'ui' | 'dashboards' | 'reports' | 'alerts' | 'values' | 'other' | 'rum' | 'derivedstream' | 'searchjob' | 'download' | 'insights' | 'public_dashboard'
  - `size` integer
  - `skip_wal` boolean
  - `sort_by` string, nullable
  - `sql` SqlQuery[]
    - `end_time` integer, nullable
    - `is_old_format` boolean
    - `query_fn` string, nullable
    - `sql` string, required
    - `start_time` integer, nullable
  - `start_time` integer, required
  - `timeout` integer
  - `track_total_hits` boolean
  - `use_index` boolean: Set to false to skip the inverted index for every query.
  - `uses_zo_fn` boolean

## Response `200`

Success

## Other responses

- `400`: Failure
- `500`: Failure

---

[API](https://skmtc.dev/openobserve/apis/openobserve-api-http.md) - [All operations](https://skmtc.dev/openobserve/apis/openobserve-api-http/llms.txt) - [OpenAPI document](https://skmtc.dev/openobserve/apis/openobserve-api-http/revisions/0529b8a10252?raw)
