Airtable API - Database & Records Automation avatar
Airtable API - Database & Records Automation

Pricing

from $0.05 / 1,000 results

Go to Apify Store
Airtable API - Database & Records Automation

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

John Rippy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Airtable API

Built by John Rippy | johnrippy.link

🏆 2025 Zapier Automation Hero of the YearProject 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

ParameterTypeRequiredDescription
taskstringYesOperation to perform (see tasks below)
accessTokenstringYes*Personal access token (*not needed for demoMode)
baseIdstringNoBase ID (starts with 'app')
tableIdOrNamestringNoTable ID (starts with 'tbl') or table name
recordIdstringNoRecord ID (starts with 'rec')
fieldsobjectNoField values for create/update
filterByFormulastringNoAirtable formula to filter records
sortarrayNoSort configuration
viewstringNoView name or ID
maxRecordsintegerNoMax records to return (default: 100)
batchRecordsarrayNoRecords for batch operations
webhookUrlstringNoURL for webhook delivery
demoModebooleanNoRun with sample data (default: true)

Available Tasks

TaskDescription
list_recordsList records with optional filtering and sorting
get_recordGet a single record by ID
create_recordCreate a new record
update_recordUpdate an existing record
delete_recordDelete a record
list_tablesList all tables in a base
get_tableGet table schema and fields
create_tableCreate a new table
list_fieldsList fields in a table
create_fieldAdd a new field to a table
update_fieldUpdate field properties
list_basesList all accessible bases
get_baseGet base metadata
batch_create_recordsCreate multiple records (up to 10 per batch)
batch_update_recordsUpdate multiple records
batch_delete_recordsDelete multiple records

Getting Your Access Token

  1. Go to airtable.com/create/tokens
  2. Click Create new token
  3. Give it a name (e.g., "Apify Integration")
  4. Add scopes:
    • data.records:read - Read records
    • data.records:write - Create/update/delete records
    • schema.bases:read - Read base schema
    • schema.bases:write - Create tables/fields
  5. Add access to specific bases or all bases
  6. 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 text
FIND('tech', LOWER({Industry})) > 0
# Numeric comparison
{Revenue} > 1000000
# Date comparison
IS_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:

OperationCost
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

Support