/api/v2/searchFetch individual log or trace rows from a HyperDX source.
This endpoint mirrors the "search" panel mode in the HyperDX UI. HyperDX applies the same query optimizations used in the UI:
- Named attribute columns (e.g. "pipedream.pipeline_name") are rewritten to their indexed materialized equivalents when the source schema exposes them, avoiding slow Map lookups.
- Rows are ordered by timestamp descending (most recent first).
- The source's built-in PREWHERE / partition pruning is applied.
Authentication: Bearer token (personal API key from Team Settings).
Request bodyJSON
- whereoptionalstring
Row filter expression. The language is controlled by whereLanguage.
Lucene examples (default): SeverityText:ERROR pipedream.pipeline_name:my-pipeline AND SeverityText:ERROR Body:timeout
SQL examples (whereLanguage: "sql"): SeverityText = 'ERROR'
pipedream.pipeline_name= 'my-pipeline'maxLength: 8192Default: "" · Example: "SeverityText:ERROR" - selectoptionalstring
Comma-separated list of ClickHouse column expressions to include in each result row. When omitted the source's default select expression is used.
Each entry is a ClickHouse SQL expression executed under the team's database user. Semicolons and subqueries (SELECT keyword) are rejected; use column references, map lookups, or function calls only.
HyperDX rewrites known attribute column names to their materialized equivalents automatically; you can still pass the logical name.
maxLength: 4096Default: "" · Example: "Timestamp,SeverityText,Body,pipedream.pipeline_name" - offsetoptionalinteger
Number of rows to skip (best-effort offset pagination). Default is 0, max is 10000. Offset pagination is non-deterministic when multiple rows share the same timestamp; for reliable deep paging filter by the last Timestamp value returned in the previous page instead of using a large offset.
maximum: 10000, minimum: 0Default: 0
Response
200
Matching rows returned successfully
401
Missing or invalid API key