airtable

Manage Airtable bases, tables, and records via REST API curl commands.

Updated May 29, 2026
One-click install
npx skills add https://github.com/m4an5you6/aspera-agent --skill airtable-m4an5you6
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: airtable
Source: https://github.com/m4an5you6/aspera-agent/tree/main/skills/productivity/airtable
Command: npx skills add https://github.com/m4an5you6/aspera-agent --skill airtable-m4an5you6

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Working with Airtable data from an agent or terminal normally requires an SDK, OAuth setup, or an MCP server. This Skill lets you perform full CRUD operations on Airtable records directly with curl and a personal access token, with no extra tooling. ## Core Features & Use Cases - Records CRUD and batch operations: Create, read, update (PATCH), upsert, and delete records, including batches of up to 10 records per request. - Filtering, sorting, and views: Query records with URL-encoded filterByFormula expressions, server-side sorting, field selection, and named views. - Schema inspection and pagination: List bases and table schemas before mutating, and loop through offset-based pagination for large tables. - Use Case: Sync a list of new signups into an Airtable CRM table by upserting on the Email field, then filter all records where Status is 'Todo' and mark them Done. ## Quick Start Use the airtable skill to list the tables in my base and show the first 10 records from the Tasks table.

Frequently Asked Questions about airtable

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create or update Airtable records with the REST API?▼

Create records with a POST to /v0/{baseId}/{table} containing a fields object, and update with PATCH to the record URL, which merges only supplied fields. Use performUpsert with fieldsToMergeOn to insert or update by a key field like Email without knowing record IDs.

How to filter Airtable records using filterByFormula?▼

Pass a URL-encoded Airtable formula such as {Status}='Todo' as the filterByFormula query parameter. Encode it with Python's urllib.parse.quote rather than hand-escaping, since field names with spaces or braces must be percent-encoded.

What Airtable API token scopes do I need?▼

You need a personal access token with data.records:read, data.records:write, and schema.bases:read scopes. The token must also have each target base added to its Access list, otherwise requests to that base return 403.

Why does Airtable return 403 with a valid API key?▼

A 403 with a valid token means the token's Access list does not include that base, since personal access tokens are scoped per-base. Add the base at airtable.com/create/tokens rather than changing scopes.

What are the Airtable API rate limits and batch limits?▼

The API allows 5 requests per second per base and returns 429 with a Retry-After header when throttled. Batch create and delete endpoints accept at most 10 records per request, and list endpoints return at most 100 records per page.

Should I use PATCH or PUT to update Airtable records?▼

Use PATCH, which merges the supplied fields and preserves everything else. PUT replaces the entire record and clears any field you did not include, so it is risky for partial updates.