> ## Documentation Index
> Fetch the complete documentation index at: https://askgrapple.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get view data

> Fetch paginated rows from a view

Returns grouped rows for a view, with field names resolved for each cell.

`meta.record_count` is the number of grouped rows in the view. It is not the project's materialized row count. A project that has not been materialized returns an empty page with `record_count` of `0`.

The view must belong to the project. A chart grouping, or a view from another project, is not found.

## Request

**Authorization** `string` *required*

Bearer token for a workspace API key scoped to this workspace.

**workspace** `string` *required*

Workspace slug.

**project** `integer` *required*

Project ID.

**view** `integer` *required*

View ID from [List views](/docs/api/projects/views/list.md).

**page** `integer` (default: 1)

Page number. Must be at least `1`.

**per\_page** `integer` (default: 100)

Rows per page. Minimum `1`, maximum `5000`.

```bash theme={null}
curl "https://app.askgrapple.com/api/v1/workspaces/acme-corp/projects/42/views/117/data?page=1&per_page=100" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Response

**data** `array`

Paginated grouped rows. Each row is an array of cell objects.

**cell object**

**key** `string`

View column key, in the form `gf_{id}`.

**name** `string`

Human-readable column name.

**value** `mixed`

Cell value.

**meta** `object`

Pagination metadata.

**properties**

**record\_count** `integer`

Total grouped rows in the view.

**page** `integer`

Current page number.

**per\_page** `integer`

Rows returned per page.

**has\_more** `boolean`

Whether additional pages are available.

```json theme={null}
{
  "data": [
    [
      {
        "key": "gf_180",
        "name": "Last name",
        "value": "Nguyen"
      },
      {
        "key": "gf_181",
        "name": "count(Company)",
        "value": 10
      }
    ]
  ],
  "meta": {
    "record_count": 546,
    "page": 1,
    "per_page": 100,
    "has_more": true
  }
}
```

> [!TIP]
>
> Paginate through all rows by incrementing `page` until `meta.has_more` is `false`.

## Errors

| Status | Reason |
| - | - |
| `401` | Missing or invalid API key |
| `403` | API key does not belong to this workspace |
| `404` | Project or view not found in this workspace |
| `422` | `page` or `per_page` is invalid |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.