Skip to main content
Flexible database-spreadsheet hybrid API for reading, writing, and managing structured records across bases and tables. Best for workflows that need to persist, query, or sync structured data without running a dedicated database. Unlike Google Sheets, Airtable exposes typed fields, linked records, and webhooks as first-class primitives. 11 example endpoints available through Lava’s AI Gateway. See the Airtable API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
This is a catch-all provider — any valid URL under https://api.airtable.com is supported. Any Airtable Web API endpoint. Data plane: https://api.airtable.com/v0/{baseId}/{tableIdOrName}. Meta API: https://api.airtable.com/v0/meta/bases. Webhooks: https://api.airtable.com/v0/bases/{baseId}/webhooks. See https://airtable.com/developers/web/api/introduction for full reference. The endpoints below are curated examples.

Endpoints

List records in a table. Supports filterByFormula, sort, view, and pagination.

GET https://api.airtable.com/v0/{base_id}/{table_id_or_name}?maxRecords=100 — Free
const data = await lava.gateway('https://api.airtable.com/v0/{base_id}/{table_id_or_name}?maxRecords=100', { method: 'GET' });

Retrieve a single record by ID.

GET https://api.airtable.com/v0/{base_id}/{table_id_or_name}/{record_id} — Free
const data = await lava.gateway('https://api.airtable.com/v0/{base_id}/{table_id_or_name}/{record_id}', { method: 'GET' });

Create one or more records in a table (up to 10 per call).

POST https://api.airtable.com/v0/{base_id}/{table_id_or_name} — Free
const data = await lava.gateway('https://api.airtable.com/v0/{base_id}/{table_id_or_name}', {
  body: {
"records": [
  {
    "fields": {
      "Name": "Example",
      "Status": "Active"
    }
  }
]
},
});

Update one or more records, preserving fields not included in the request.

PATCH https://api.airtable.com/v0/{base_id}/{table_id_or_name} — Free
const data = await lava.gateway('https://api.airtable.com/v0/{base_id}/{table_id_or_name}', { method: 'PATCH', body: {"records":[{"id":"rec123","fields":{"Status":"Done"}}]} });

Upsert records. Use performUpsert with fieldsToMergeOn to match on existing values.

PUT https://api.airtable.com/v0/{base_id}/{table_id_or_name} — Free
const data = await lava.gateway('https://api.airtable.com/v0/{base_id}/{table_id_or_name}', {
  method: 'PUT',
  body: {
"performUpsert": {
  "fieldsToMergeOn": [
    "Email"
  ]
},
"records": [
  {
    "fields": {
      "Email": "a@b.com",
      "Name": "Ada"
    }
  }
]
},
});

Delete one or more records by ID (pass records[] query param).

DELETE https://api.airtable.com/v0/{base_id}/{table_id_or_name}?records[]={record_id} — Free
const data = await lava.gateway('https://api.airtable.com/v0/{base_id}/{table_id_or_name}?records[]={record_id}', { method: 'DELETE' });

List all bases the authorized user has access to.

GET https://api.airtable.com/v0/meta/bases — Free
const data = await lava.gateway('https://api.airtable.com/v0/meta/bases', { method: 'GET' });

Get the schema (tables, fields, views) for a base.

GET https://api.airtable.com/v0/meta/bases/{base_id}/tables — Free
const data = await lava.gateway('https://api.airtable.com/v0/meta/bases/{base_id}/tables', { method: 'GET' });

List webhooks registered on a base.

GET https://api.airtable.com/v0/bases/{base_id}/webhooks — Free
const data = await lava.gateway('https://api.airtable.com/v0/bases/{base_id}/webhooks', { method: 'GET' });

Register a new webhook for changes in a base.

POST https://api.airtable.com/v0/bases/{base_id}/webhooks — Free
const data = await lava.gateway('https://api.airtable.com/v0/bases/{base_id}/webhooks', {
  body: {
"notificationUrl": "https://example.com/airtable-webhook",
"specification": {
  "options": {
    "filters": {
      "dataTypes": [
        "tableData"
      ]
    }
  }
}
},
});

Return information about the currently authorized user.

GET https://api.airtable.com/v0/meta/whoami — Free
const data = await lava.gateway('https://api.airtable.com/v0/meta/whoami', { method: 'GET' });

Next Steps

All Providers

Browse all supported AI providers

Forward Proxy

Learn how to construct proxy URLs and authenticate requests