AirtableToolkit is a tools that aims to bring access to all Airtable features through an API. It's some sort of unofficial Meta API that Airtable is still working on.
The tool can be divided in two main components :
- the AirtableCookiesFetcher Chrome Extension
- the AirtableTookit API
The extension is used to fetch your Airtable account cookies (and updated them when needed) and send them to our server. The AirtableToolkit API then uses those cookies to provide you additional features through the API.
Basically, Airtable itself uses an API for all the actions you do on Airtable. Each time you create a field, rename a table or even create an automation, an API call is sent by the Airtable webapp to the Airtable backend. We are just providing a "proxy" to this API.
There a few use-cases we can think of :
- Backup & Restore Airtable Structure
- Backup & Restore Airtable Automations & Apps configuration
- Create view dynamically (each time a clients is added to the base, add a view filtered on this client and save the link -- basic portal)
- Bulk rename, format, update fields
- Base schema versioning
- ...
Please note this development is still in BETA and base url is subject to changes.
Take this into consideration when building integrations that rely on this tool.
Good practice is to use dedicated variable storing the base URL, so you can easily change it in one place later.
Current base URL is :
https://airtabletoolkit.herokuapp.com
Method 1 : Authorization header (preferred)
We use Bearer Token authentication as shown below.
You will receive your token by email quickly after installing the extension.
Header name | Header value |
---|---|
Authorization | Bearer {{yourApiKeyHere}} |
Method 2 : Query params
You can just call any endpoint and add the additional AirtableToolkitAPIKey
parameter with you APIKey as value.
Query parameter name | Query parameter value |
---|---|
AirtableToolkitAPIKey | {{yourApiKeyHere}} |
Example endpoint with required parameter
https://{{BASE_URL}}/getLoggedInUser?AirtableToolkitAPIKey={{yourApiKeyHere}}
Function : *generateId:app*
Example endpoint : /v0.3/field/*generateId:fld*/create
Resulting endpoint : /v0.3/field/fldfJVP3dsSR6j1su/create
- Common ID prefixes
- app/base : app
- table : tbl
- field : fld
- view : viw
- …
We all ❤️ Airtable. The last thing we want is make Airtable crash. That is why I decided to stay very reasonable on the authorized number of calls. I implemented an API throttling that is currently limited to 100 calls every 5 minutes, which is 20 calls per minutes. It's the load (even less) that is expected from a user using the Airtable web interface.
This is a specific endpoint that allows you to use any available endpoint from Airtable. It "just" forwards the calls. There are quite a few things happening in the background but this is what this endpoint is made for. So if the documentation is missing your required endpoint, feel free to use the Network tab from Chrome Developer panel and use the same urls and parameters.
List of interesting endpoint This file will give you a basic documentation for interesting endpoint.
Please feel free to reach me by email (florianverdonck [at] gmail.com) if you need other endpoints documentation.
[GET] /account/
Returns the currently "logged in user" details. Add param "?includeAPIKey=true" if you want to see the API Key as well. Please be very cautious with this parameter, using it on automation platform might leak your credentials in the history.
[GET] /account/collaborators
Returns all the collaborators you are working with in all the bases you have access to