Web API

Press shift + S to search API reference.

Records

Create records

posthttps://api.airtable.com/v0/{baseId}/{tableIdOrName}

Creates multiple records. Note that table names and table ids can be used interchangeably. We recommend using table IDs so you don't need to modify your API request when your table name changes.

Your request body should include an array of up to 10 record objects. Each of these objects should have one key whose value is an inner object containing your record's cell values, keyed by either field name or field id.

Returns a unique array of the newly created record ids if the call succeeds.

You can also include a single record object at the top level.

Requirements

AuthenticationPersonal access token, OAuth integration
Scopedata.records:write
User role

Base editor

Billing plansAll plans

Path parameters

baseId
string
tableIdOrName
string

Request body

fields
optional<the below object>

Create a single record

key: stringCell value
records
optional<array of the below object>

Create multiple records

Pass in multiple records to create multiple in one request

fields
object
key: stringCell value
returnFieldsByFieldId
optional<boolean>

An optional boolean value that lets you return field objects keyed by the field id.

This defaults to false, which returns field objects where the key is the field name.

typecast
optional<boolean>

The Airtable API will perform best-effort automatic data conversion from string values if the typecast parameter is passed in. Automatic conversion is disabled by default to ensure data integrity, but it may be helpful for integrating with 3rd party data sources.

Response format

any of the below objects

records
array of the below object
id
string

Record ID

createdTime
string

A date timestamp in the ISO format, eg:"2018-01-01T00:00:00.000Z"

fields
object

Cell values are keyed by either field name or field ID (conditioned on returnFieldsByFieldId).

See Cell Values for more information on cell value response types.

key: stringCell value

id
string

Record ID

createdTime
string

A date timestamp in the ISO format, eg:"2018-01-01T00:00:00.000Z"

fields
object

Cell values are keyed by either field name or field ID (conditioned on returnFieldsByFieldId).

See Cell Values for more information on cell value response types.

key: stringCell value
Request (example)
Copy
$
curl -X POST "https://api.airtable.com/v0/{baseId}/{tableIdOrName}" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"records": [
{
"fields": {
"Address": "333 Post St",
"Name": "Union Square",
"Visited": true
}
},
{
"fields": {
"Address": "1 Ferry Building",
"Name": "Ferry Building"
}
}
]
}'
200 – Response (example)
{
"records": [
{
"createdTime": "2022-09-12T21:03:48.000Z",
"fields": {
"Address": "333 Post St",
"Name": "Union Square",
"Visited": true
},
"id": "rec560UJdUtocSouk"
},
{
"createdTime": "2022-09-12T21:03:48.000Z",
"fields": {
"Address": "1 Ferry Building",
"Name": "Ferry Building"
},
"id": "rec3lbPRG4aVqkeOQ"
}
]
}
Request (example)
Copy
$
curl -X POST "https://api.airtable.com/v0/{baseId}/{tableIdOrName}" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"fields": {
"Address": "333 Post St",
"Name": "Union Square",
"Visited": true
}
}'
200 – Response (example)
{
"createdTime": "2022-09-12T21:03:48.000Z",
"fields": {
"Address": "333 Post St",
"Name": "Union Square",
"Visited": true
},
"id": "rec560UJdUtocSouk"
}