---
title: "Search LLM Observability experimentation entities"
method: POST
path: "/api/v2/llm-obs/v1/experimentation/search"
tags: ["LLM Observability"]
---

# Search LLM Observability experimentation entities

`POST /api/v2/llm-obs/v1/experimentation/search`

Search across LLM Observability experimentation entities — projects, datasets, dataset records, experiments, and experiment runs — using cursor-based pagination.

The `filter.scope` field controls which entity types are returned. At least one valid scope must be provided.

Returns `200 OK` when all results fit in a single page. Returns `206 Partial Content` with a cursor in `meta.after` when additional pages are available.

## Request body

- LLMObsExperimentationSearchRequest — Request to search across LLM Observability experimentation entities using cursor-based pagination.
  - `data` LLMObsExperimentationSearchDataRequest, required — Data object for an experimentation search request.
    - `attributes` LLMObsExperimentationSearchDataAttributesRequest, required — Attributes for an experimentation search request.
      - `content_preview` LLMObsExperimentationContentPreview — Options to control content preview truncation.
        - `limit` integer — Maximum number of characters to include in content previews.
      - `filter` LLMObsExperimentationFilter, required — Filter criteria for an experimentation search request.
        - `include_deleted` boolean — When `true`, include soft-deleted entities alongside active ones.
        - `is_deleted` boolean — When `true`, return only soft-deleted entities.
        - `query` string — Free-text search query.
        - `scope` string[], required — Entity types to search. Valid values are `projects`, `datasets`, `dataset_records`, `experiments`, and `experiment_runs`.
        - `version` integer, nullable — Filter dataset records by a specific dataset version.
      - `include` LLMObsExperimentationInclude — Additional data to include in the response.
        - `user_data` boolean — When `true`, enrich results with author user data (name and email).
      - `page` LLMObsExperimentationCursorPage — Cursor-based pagination parameters.
        - `cursor` string — Opaque cursor returned from a previous response to fetch the next page.
        - `limit` integer — Maximum number of results per page.
    - `type` 'experimentation', required — Resource type for experimentation search and analytics operations.

## Response `200`

OK — all results returned in a single page.

- LLMObsExperimentationSearchResponse — Response to a cursor-based experimentation search. Returns `200 OK` when all results fit in one page; `206 Partial Content` when a next-page cursor is available.
  - `data` LLMObsExperimentationSearchDataResponse, required — JSON:API data object for an experimentation search response.
    - `attributes` LLMObsExperimentationSearchResults, required — The matching experimentation entities grouped by type.
      - `dataset_records` LLMObsDatasetRecordDataResponse[], nullable — Matching dataset records. Present when `dataset_records` is included in `filter.scope`.
        - `created_at` string, date-time, required — Timestamp when the record was created.
        - `dataset_id` string, required — Identifier of the dataset this record belongs to.
        - `expected_output` AnyValue, nullable, required — An arbitrary object value with additional properties.
        - `id` string, required — Unique identifier of the record.
        - `input` AnyValue, nullable, required — An arbitrary object value with additional properties.
        - `metadata` object, nullable, required — Arbitrary metadata associated with the record.
        - `updated_at` string, date-time, required — Timestamp when the record was last updated.
      - `datasets` LLMObsDatasetDataResponse[], nullable — Matching datasets. Present when `datasets` is included in `filter.scope`.
        - `attributes` LLMObsDatasetDataAttributesResponse, required — Attributes of an LLM Observability dataset.
          - `created_at` string, date-time, required — Timestamp when the dataset was created.
          - `current_version` integer, required — Current version number of the dataset.
          - `description` string, nullable, required — Description of the dataset.
          - `metadata` object, nullable, required — Arbitrary metadata associated with the dataset.
          - `name` string, required — Name of the dataset.
          - `updated_at` string, date-time, required — Timestamp when the dataset was last updated.
        - `id` string, required — Unique identifier of the dataset.
        - `type` 'datasets', required — Resource type of an LLM Observability dataset.
      - `experiment_runs` LLMObsExperimentRunDataResponse[], nullable — Matching experiment runs. Present when `experiment_runs` is included in `filter.scope`.
        - `aggregate_data` object, nullable — Aggregated metric data for this run.
        - `created_at` string, date-time — Timestamp when the run was created.
        - `experiment_id` string — Identifier of the experiment this run belongs to.
        - `id` string — Unique identifier of the experiment run.
        - `run_number` integer — Sequential number of this run within the experiment.
      - `experiments` LLMObsExperimentDataAttributesResponse[], nullable — Matching experiments. Present when `experiments` is included in `filter.scope`.
        - `aggregate_data` object, nullable — Pre-computed aggregate metrics for this experiment run, including eval score distributions, token costs, and error rates.
        - `author` LLMObsExperimentUser — User data for the author of an experiment. Only present when `include[user_data]` is `true`.
          - `email` string — Email address of the user.
          - `handle` string — Username or handle associated with the user's Datadog account.
          - `icon` string — URL of the user's icon.
          - `id` string — Unique identifier of the user.
          - `name` string — Display name of the user.
        - `config` object, nullable, required — Configuration parameters for the experiment.
        - `created_at` string, date-time, required — Timestamp when the experiment was created.
        - `dataset_id` string, required — Identifier of the dataset used in this experiment.
        - `dataset_name` string, nullable — Name of the dataset used in this experiment. Only present when `include[dataset_names]` is `true`.
        - `dataset_version` integer — Version of the dataset used in this experiment.
        - `deleted_at` string, date-time, nullable — Timestamp when the experiment was soft-deleted, if applicable.
        - `description` string, nullable, required — Description of the experiment.
        - `error` string, nullable — Error message describing why the experiment failed, if applicable.
        - `experiment` string — Logical name of the experiment, shared across all runs of the same pipeline.
        - `metadata` object, nullable, required — Arbitrary metadata associated with the experiment.
        - `name` string, required — Name of the experiment.
        - `parent_experiment_id` string, nullable — Identifier of the parent (baseline) experiment this experiment was run against, if any.
        - `project_id` string, required — Identifier of the project this experiment belongs to.
        - `run_count` integer — Expected number of runs for this experiment.
        - `status` 'running' | 'completed' | 'failed' | 'interrupted' — Execution status of an LLM Observability experiment.
        - `updated_at` string, date-time, required — Timestamp when the experiment was last updated.
      - `projects` LLMObsProjectDataResponse[], nullable — Matching projects. Present when `projects` is included in `filter.scope`.
        - `attributes` LLMObsProjectDataAttributesResponse, required — Attributes of an LLM Observability project.
          - `created_at` string, date-time, required — Timestamp when the project was created.
          - `description` string, nullable, required — Description of the project.
          - `name` string, required — Name of the project.
          - `updated_at` string, date-time, required — Timestamp when the project was last updated.
        - `id` string, required — Unique identifier of the project.
        - `type` 'projects', required — Resource type of an LLM Observability project.
    - `id` string, required — Server-generated identifier for this search result.
    - `type` 'experimentation', required — Resource type for experimentation search and analytics operations.
  - `meta` LLMObsCursorMeta — Pagination cursor metadata.
    - `after` string, nullable — Cursor for the next page of results.

## Other responses

- `206` — Partial Content — more results are available. Use `meta.after` as the next `page.cursor`.
- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `429` — Too many requests
- `500` — Internal Server Error

---

[API](https://skmtc.net/datadog/apis/api-v2.md) · [All operations](https://skmtc.net/datadog/apis/api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/datadog/api-v2/revisions/da68bf029e4c/schema)
