Overview
Airtable uses a Personal Access Token (PAT) for API authentication. Legacy API keys were deprecated on 2024-02-01 and no longer work — every connection needs a PAT. The token is free to create on any Airtable plan, but the monthly API call quota depends on your plan: Free is 1,000 calls/month (typically not enough for production sync), Team is 100,000/month, and Business and Enterprise are unlimited.
Setup guide
Create the token
- Sign in at airtable.com and open the Personal Access Tokens page.
- Click Create new token.
- Name it
ingest(or similar). - Add the scopes:
data.records:read,schema.bases:read, andwebhook:manage. Read-only scopes are sufficient — Ingest never writes back. - Under Access, choose the workspaces and bases you want Ingest to read. You can grant access to all current and future bases in a workspace, or a specific list.
- Click Create token and copy the value immediately. Airtable only shows the token once.
Add it to Ingest
In the Ingest UI under Connectors → Airtable, paste the token. Ingest stores it in AWS Secrets Manager under the key token.
Mind the limits
Airtable enforces a hard rate limit of 5 requests per second per base, with no paid upgrade available. Across all bases on a single token the cap is 50 req/sec. The Ingest runtime is conservative — it dispatches 2 req/sec by default and uses AIMD backoff when it sees a 429. Note that Airtable's 429 response does not include a Retry-After header, so the runtime backs off purely on its own divisor.
Errors with status 401 (bad/expired token), 403 (scope missing or paid feature), 404 (base or table moved/deleted), or 422 (malformed request) are treated as fatal — the request stops without retry.
Pick endpoints
Most Airtable customers want records (the rows of every table) plus base_schema (the table/field metadata that lets you join records to human-readable column names). The cascade looks like:
bases— every base the token can see (root)base_schema— tables, fields, and views inside each base (per-base)records— the actual cell data, one row per record (per-table)webhooks— registered webhook subscriptions (optional, per-base)whoami— token introspection; useful for debugging scope issues
base_collaborators, workspace_collaborators, and base_shares are Business+ paid-tier endpoints and require an upgraded workspace. comments is omitted from the v1 catalog because it fans out one request per record across every table — the design will be revisited once the runtime supports per-record incremental cursors.
Supported streams
5 endpoints are available out of the box. Each endpoint syncs into its own Iceberg table in Snowflake.
| Endpoint | Description | Reference |
|---|---|---|
| base_schema base_schema | – | |
| bases bases | – | |
| records records | – | |
| webhooks webhooks | – | |
| whoami whoami | – |
Authentication
- Auth type
- Bearer Token
- Sent as header
Authorization- Provider docs
- airtable.com ↗
Performance & limits
- Rate limit
- 5 req/sec per base (no upgrade available); 50 req/sec per token. Monthly call caps vary by plan — Free 1,000/mo, Team 100,000/mo, Business and Enterprise unlimited.