---
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`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/llm-obs/v1/experimentation/search`
- Auth: API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`

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.dev/datadog/apis/datadog-api-v2-collection.md) - [All operations](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/revisions/da68bf029e4c?raw)
