---
title: "List dataset rows"
method: GET
path: "/v1/projects/{projectSlug}/datasets/{datasetSlug}/rows"
tags: ["Datasets"]
---

# List dataset rows

`GET /v1/projects/{projectSlug}/datasets/{datasetSlug}/rows`

Returns a cursor-paginated page of rows.

## Path parameters

- `projectSlug` string, required — Project slug (human-readable identifier)
- `datasetSlug` string, required — Dataset slug (human-readable identifier within the project).

## Query parameters

- `cursor` string — Opaque cursor returned in a previous response's `nextCursor`. Omit on the first page.
- `limit` integer — Page size. Defaults to 50; max 200.
- `search` string — Free-text search against row cells.
- `sortDirection` 'asc' | 'desc' — Sort direction on `createdAt`. Defaults to `desc` (newest first).

## Response `200`

Page of rows

- PaginatedDatasetRows
  - `items` DatasetRow[], required — Page of items, in the requested sort order.
    - `rowId` string, required — Stable row identifier.
    - `datasetId` string, required — Dataset this row belongs to.
    - `input` union — Input cell. Omitted when the `input` column is removed.
      - string
      - number
      - boolean
      - unknown[]
        - unknown
      - object
    - `output` union — Output cell. Omitted when the `output` column is removed.
      - string
      - number
      - boolean
      - unknown[]
        - unknown
      - object
    - `expectedOutput` union — The correct answer for this row. Curators fill this in by hand; it is not derived from `output`. Omitted when the `expectedOutput` column is removed.
      - string
      - number
      - boolean
      - unknown[]
        - unknown
      - object
    - `metadata` union — Metadata cell. Omitted when the `metadata` column is removed.
      - string
      - number
      - boolean
      - unknown[]
        - unknown
      - object
    - `custom` object, required — Custom column values keyed by column identifier. Removed columns are excluded; `{}` when none.
    - `createdAt` string, required — ISO-8601 timestamp at which the row was inserted.
    - `version` integer, required — Dataset version this row belongs to.
  - `nextCursor` string, nullable, required — Opaque cursor for fetching the next page. `null` when there are no more pages. Pass it back in `cursor` to continue.
  - `hasMore` boolean, required — `true` when there is at least one more page after this one.

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `404` — Not found

---

[API](https://skmtc.net/latitude-dev/apis/latitude.md) · [All operations](https://skmtc.net/latitude-dev/apis/latitude/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/latitude-dev/latitude/versions/6a8789c59a5c/schema)
