---
ref: tool:airtable/list-records
name: List records
company: company:airtable
workflows: []
access: [mcp, cli, api]
tags: [capability:manage-tables, category:database, has:api, has:cli, has:mcp]
docs: https://airtable.com/developers/web/api/list-records
updated: 2026-09-27
---

# List records

Returns a table's records a page at a time, filtered, sorted and cut down to the fields you ask for.

The API returns up to 100 records per page with an `offset` for the next one;
narrow it with `filterByFormula`, `view`, `sort` and `fields`. When a formula
makes the URL too long, `POST /v0/{baseId}/{tableIdOrName}/listRecords` takes
the same parameters in the body. The MCP tool and the CLI filter with
structured JSON in `filters`, not formulas. Fields with empty values are left
out of each record.

## Set up

Use the first option your agent supports.

### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "airtable": { "url": "https://mcp.airtable.com/mcp" } } }
```

Call the MCP tool `list_records_for_table`.

Server URL: https://mcp.airtable.com/mcp

### CLI (official)

Install the command, then confirm it runs.

```sh
npm install -g @airtable/mcp-cli
airtable-mcp --version
```

Run `airtable-mcp list-records-for-table`.

Set `$AIRTABLE_TOKEN` in your environment first (get a key: https://airtable.com/create/tokens).

### API (official)

- Base URL: https://api.airtable.com
- Endpoint: `GET /v0/{baseId}/{tableIdOrName}`
- Auth: send the header `Authorization: Bearer $AIRTABLE_TOKEN`
- Get a key: https://airtable.com/create/tokens
- Docs: https://airtable.com/developers/web/api/introduction

Before doing anything else, make one read-only call to confirm access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data.
- Never print API keys.
