Airtable API - Database & Records Automation
Pricing
from $0.05 / 1,000 results
Airtable API - Database & Records Automation
Automate your Airtable bases with the official API. List, create, update, and delete records. Manage tables and fields. Sync data between Airtable and other systems. Perfect for CRM automation, inventory management, project tracking, and data pipelines.
Pricing
from $0.05 / 1,000 results
Rating
0.0
(0)
Developer

John Rippy
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Airtable API
Built by John Rippy | johnrippy.link
🏆 2025 Zapier Automation Hero of the Year — Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more →
Database & Records Automation - CRUD Operations & Data Sync
Automate your Airtable bases with the official API. List, create, update, and delete records. Manage tables and fields. Sync data between Airtable and other systems. Perfect for CRM automation, inventory management, project tracking, and data pipelines.
What is the Airtable API?
The Airtable Web API provides RESTful access to Airtable bases. Create integrations that read and write records, manage tables, and synchronize data across your organization.
Features
Record Operations
- List Records - Query records with filters, sorts, and views
- Get Record - Retrieve a single record by ID
- Create Record - Add new records to tables
- Update Record - Modify existing records
- Delete Record - Remove records
- Batch Operations - Create, update, or delete up to 10 records at once
Table & Field Management
- List Tables - Get all tables in a base
- Get Table - Retrieve table schema and fields
- Create Table - Create new tables with custom fields
- List Fields - Get field definitions
- Create Field - Add new fields to tables
- Update Field - Modify field properties
Base Operations
- List Bases - Get all bases you have access to
- Get Base - Retrieve base metadata and tables
Use Cases
CRM & Sales
- Sync leads from web forms
- Update deal stages automatically
- Export customer data for analysis
Inventory Management
- Track stock levels across locations
- Auto-update quantities from orders
- Generate low-stock alerts
Project Management
- Create tasks from external triggers
- Update project statuses
- Sync with other PM tools
Content Operations
- Manage editorial calendars
- Track content status
- Sync with publishing platforms
Data Pipelines
- Import data from APIs
- Export to data warehouses
- Sync between systems
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| task | string | Yes | Operation to perform (see tasks below) |
| accessToken | string | Yes* | Personal access token (*not needed for demoMode) |
| baseId | string | No | Base ID (starts with 'app') |
| tableIdOrName | string | No | Table ID (starts with 'tbl') or table name |
| recordId | string | No | Record ID (starts with 'rec') |
| fields | object | No | Field values for create/update |
| filterByFormula | string | No | Airtable formula to filter records |
| sort | array | No | Sort configuration |
| view | string | No | View name or ID |
| maxRecords | integer | No | Max records to return (default: 100) |
| batchRecords | array | No | Records for batch operations |
| webhookUrl | string | No | URL for webhook delivery |
| demoMode | boolean | No | Run with sample data (default: true) |
Available Tasks
| Task | Description |
|---|---|
list_records | List records with optional filtering and sorting |
get_record | Get a single record by ID |
create_record | Create a new record |
update_record | Update an existing record |
delete_record | Delete a record |
list_tables | List all tables in a base |
get_table | Get table schema and fields |
create_table | Create a new table |
list_fields | List fields in a table |
create_field | Add a new field to a table |
update_field | Update field properties |
list_bases | List all accessible bases |
get_base | Get base metadata |
batch_create_records | Create multiple records (up to 10 per batch) |
batch_update_records | Update multiple records |
batch_delete_records | Delete multiple records |
Getting Your Access Token
- Go to airtable.com/create/tokens
- Click Create new token
- Give it a name (e.g., "Apify Integration")
- Add scopes:
data.records:read- Read recordsdata.records:write- Create/update/delete recordsschema.bases:read- Read base schemaschema.bases:write- Create tables/fields
- Add access to specific bases or all bases
- Click Create token and copy it
Example Usage
List All Records
{"task": "list_records","accessToken": "patXXXXXXXXXXXXXX","baseId": "appXXXXXXXXXXXXXX","tableIdOrName": "Companies","maxRecords": 100}
Filter Records with Formula
{"task": "list_records","accessToken": "patXXXXXXXXXXXXXX","baseId": "appXXXXXXXXXXXXXX","tableIdOrName": "Companies","filterByFormula": "{Status} = 'Active'","sort": [{ "field": "Revenue", "direction": "desc" }],"maxRecords": 50}
Create a Record
{"task": "create_record","accessToken": "patXXXXXXXXXXXXXX","baseId": "appXXXXXXXXXXXXXX","tableIdOrName": "Companies","fields": {"Name": "New Company Inc","Status": "Lead","Industry": "Technology","Revenue": 1000000,"Contact Email": "hello@newcompany.com"}}
Update a Record
{"task": "update_record","accessToken": "patXXXXXXXXXXXXXX","baseId": "appXXXXXXXXXXXXXX","tableIdOrName": "Companies","recordId": "recXXXXXXXXXXXXXX","fields": {"Status": "Active","Revenue": 1500000}}
Batch Create Records
{"task": "batch_create_records","accessToken": "patXXXXXXXXXXXXXX","baseId": "appXXXXXXXXXXXXXX","tableIdOrName": "Companies","batchRecords": [{ "fields": { "Name": "Company A", "Status": "Lead" } },{ "fields": { "Name": "Company B", "Status": "Lead" } },{ "fields": { "Name": "Company C", "Status": "Prospect" } }]}
Create a New Table
{"task": "create_table","accessToken": "patXXXXXXXXXXXXXX","baseId": "appXXXXXXXXXXXXXX","tableName": "Products","tableDescription": "Product inventory","tableFields": [{ "name": "Product Name", "type": "singleLineText" },{ "name": "SKU", "type": "singleLineText" },{ "name": "Price", "type": "currency", "options": { "precision": 2, "symbol": "$" } },{ "name": "In Stock", "type": "checkbox" }]}
Output
Results are saved to the default dataset:
List Records Result
{"task": "list_records","success": true,"records": [{"id": "recXXXXXXXXXXXXXX","createdTime": "2024-12-01T10:00:00.000Z","fields": {"Name": "Acme Corp","Status": "Active","Revenue": 5000000}}],"total": 45,"baseId": "appXXXXXXXXXXXXXX","tableIdOrName": "Companies"}
Record Created
{"task": "create_record","success": true,"record": {"id": "recNewXXXXXXXXXX","createdTime": "2025-01-10T12:00:00.000Z","fields": {"Name": "New Company Inc","Status": "Lead"}}}
Filter Formulas
Common Airtable formula examples:
# Exact match{Status} = 'Active'# Contains textFIND('tech', LOWER({Industry})) > 0# Numeric comparison{Revenue} > 1000000# Date comparisonIS_AFTER({Created}, '2024-01-01')# Multiple conditions (AND)AND({Status} = 'Active', {Revenue} > 500000)# Multiple conditions (OR)OR({Status} = 'Lead', {Status} = 'Prospect')# Empty/not empty{Email} != BLANK()
Rate Limits
Airtable API rate limit: 5 requests per second per base
The actor handles this automatically for batch operations.
Webhook Integration
Send results to Zapier, Make, n8n, or any webhook:
{"task": "list_records","accessToken": "patXXXXXXXXXXXXXX","baseId": "appXXXXXXXXXXXXXX","tableIdOrName": "Companies","webhookUrl": "https://hooks.zapier.com/hooks/catch/123456/abcdef/"}
Demo Mode
Test the actor without API credentials:
{"task": "list_records","demoMode": true}
Pricing
Pay-per-result pricing:
| Operation | Cost |
|---|---|
| List records | $0.02 |
| Get record | $0.01 |
| Create record | $0.02 |
| Update record | $0.02 |
| Delete record | $0.01 |
| List tables/fields | $0.01 |
| Create table/field | $0.03 |
| List/get base | $0.01 |
| Batch operations (per 10) | $0.05 |
Related Actors
- Notion API - Notion workspace automation
- Google Sheets - Spreadsheet automation
Support
- Airtable API Docs: airtable.com/developers/web/api
- Issues: Report on Apify