Skip to main content
Version: Next

Airtable

Airtable source connector

Description

Used to read data from Airtable.

Key features

Options

nametyperequireddefault value
tokenStringYes-
base_idStringYes-
tableStringYes-
api_base_urlStringNohttps://api.airtable.com
viewStringNo-
fieldsListNo-
filter_by_formulaStringNo-
max_recordsintNo-
page_sizeintNo-
sortStringNo-
cell_formatStringNo-
return_fields_by_field_idbooleanNo-
record_metadataListNo-
time_zoneStringNo-
user_localeStringNo-
request_interval_msintNo220
rate_limit_backoff_msintNo30000
rate_limit_max_retriesintNo3
schemaConfigNo-
schema.fieldsConfigNo-
formatStringNotext
content_fieldStringNo-
json_fieldConfigNo-
common-optionsconfigNo-

token [String]

Airtable personal access token. You can create one at https://airtable.com/create/tokens.

base_id [String]

The ID of the Airtable base (starts with app).

table [String]

The table name or table ID to read from.

api_base_url [String]

Airtable API base URL. Default is https://api.airtable.com.

view [String]

The name or ID of a view in the table. Only records visible in this view will be returned.

fields [List]

A list of field names to include in the response.

filter_by_formula [String]

An Airtable formula to filter records. See Airtable formula reference.

max_records [int]

Maximum total number of records to return.

page_size [int]

Number of records per page (1-100).

sort [String]

Sort definition as a JSON array, e.g. [{"field":"Name","direction":"asc"}].

cell_format [String]

The format for cell values, either json or string.

return_fields_by_field_id [boolean]

If true, field keys in the response will be field IDs instead of field names.

record_metadata [List]

Additional record metadata to return, e.g. ["commentCount"].

time_zone [String]

The time zone for formatting date/time values.

user_locale [String]

The user locale for formatting values.

request_interval_ms [int]

Minimum interval in milliseconds between API requests. Default 220ms (to stay within Airtable's 5 requests/second limit).

rate_limit_backoff_ms [int]

Base backoff time in milliseconds when receiving a 429 (rate limit) response. Default 30000ms.

rate_limit_max_retries [int]

Maximum number of retries after receiving a 429 response. Default 3.

schema [Config]

fields [Config]

The schema fields of upstream data. For more details, please refer to Schema Feature.

format [String]

The format of upstream data, supports json and text, default text.

content_field [String]

JsonPath expression to extract data from the response. For Airtable, you typically use $.records[*].fields to extract the fields from each record.

json_field [Config]

This parameter helps you configure the schema and must be used with schema.

common options

Source plugin common parameters, please refer to Source Common Options for details.

Example

Read from an Airtable table and output raw text:

source {
Airtable {
token = "patXXXXXXXX.XXXXXXXX"
base_id = "appXXXXXXXX"
table = "Shipments"
format = "text"
max_records = 10
}
}

Read with schema and extract record fields:

source {
Airtable {
token = "patXXXXXXXX.XXXXXXXX"
base_id = "appXXXXXXXX"
table = "Shipments"
content_field = "$.records[*].fields"
filter_by_formula = "{Status} = 'Shipped'"
schema = {
fields {
Name = string
Status = string
Weight = float
}
}
}
}

Changelog

Change Log
ChangeCommitVersion