Zero-dependency CLI for the Airtable REST API. Token-efficient TSV output for humans and AI agents.
Project description
airtable-cli
Zero-dependency CLI for the Airtable REST API. TSV-first output designed for humans and AI agents.
Install
pip install airtable-api-cli
Setup
Set your Airtable Personal Access Token:
export AIRTABLE_PAT="pat..."
Commands
Bases & Tables
| Command | Description |
|---|---|
airtable list-bases |
List all accessible bases |
airtable create-base <json> |
Create a new base (requires workspaceId) |
airtable list-tables <baseId> |
List tables in a base |
airtable create-table <baseId> <json> |
Create a new table |
airtable create-field <baseId> <tableId> <json> |
Create a field |
airtable update-field <baseId> <tableId> <fieldId> <json> |
Update a field |
Records
| Command | Description |
|---|---|
airtable list-records <baseId> <table> [options] |
List records |
airtable get-record <baseId> <table> <recordId> |
Get a single record |
airtable create-records <baseId> <table> <json> |
Create records |
airtable update-records <baseId> <table> <json> |
Update records (PATCH) |
airtable replace-records <baseId> <table> <json> |
Replace records (PUT) |
airtable delete-records <baseId> <table> <id1,id2> |
Delete records |
Bulk & Utilities
| Command | Description |
|---|---|
airtable bulk-create <baseId> <table> <json> |
Create any number of records (auto-batches by 10) |
airtable bulk-update <baseId> <table> <json> |
Update any number of records (auto-batches by 10) |
airtable upsert <baseId> <table> --match <field> <json> |
Create or update based on match field |
airtable resolve-links <baseId> <table> [--field <name>] |
Resolve linked record IDs to display values |
airtable export-csv <baseId> <table> [options] |
Export table to CSV |
airtable count <baseId> <table> [--filter '<formula>'] |
Count records |
airtable find-duplicates <baseId> <table> --field <name> |
Find duplicate records |
Output Formats
Default output is TSV (tab-separated values) -- compact and easy to pipe.
airtable list-records appXXX "My Table" # TSV (default)
airtable list-records appXXX "My Table" -o json # JSON
airtable list-records appXXX "My Table" -o csv # CSV
Query Options
For list-records and export-csv:
--filter '{Status} = "Active"' # filterByFormula
--fields 'Name,Email' # select specific fields
--sort 'Name:asc' # sort (field:direction)
--max 10 # limit records
--view 'Grid view' # use a specific view
--all # auto-paginate all records
Why This Exists
- Zero dependencies -- stdlib
urllibonly, installs anywhere Python runs - TSV-first -- default output is token-efficient for LLM/agent pipelines
- One file -- easy to audit, vendor, or fork
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file airtable_api_cli-0.1.0.tar.gz.
File metadata
- Download URL: airtable_api_cli-0.1.0.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cd8a76e8e50610dda656df9df597305db9055837c81f2a58c8e6597cefb994b
|
|
| MD5 |
306d285797685bbbf951aab19e89b9f6
|
|
| BLAKE2b-256 |
3153457a4862ed6326c1953ad48fa59fcc0e668ce3c5f42835eb1ceee8772a20
|
Provenance
The following attestation bundles were made for airtable_api_cli-0.1.0.tar.gz:
Publisher:
publish.yml on arnoldadlv/airtable-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
airtable_api_cli-0.1.0.tar.gz -
Subject digest:
5cd8a76e8e50610dda656df9df597305db9055837c81f2a58c8e6597cefb994b - Sigstore transparency entry: 1204570288
- Sigstore integration time:
-
Permalink:
arnoldadlv/airtable-cli@cbbe862dcab67a92a024d02d670d7c28d5af41d1 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/arnoldadlv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@cbbe862dcab67a92a024d02d670d7c28d5af41d1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file airtable_api_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: airtable_api_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bcad6cd6b298ce687386386944f9e6805278508f3ca7701b4ece84ff05eb278
|
|
| MD5 |
3d7a08b135f35a818900ee377da97d9d
|
|
| BLAKE2b-256 |
ca92d5c0b03b2be27cc84893e33f4b4bc0714aef89c192e429b83072e9f1c780
|
Provenance
The following attestation bundles were made for airtable_api_cli-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on arnoldadlv/airtable-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
airtable_api_cli-0.1.0-py3-none-any.whl -
Subject digest:
3bcad6cd6b298ce687386386944f9e6805278508f3ca7701b4ece84ff05eb278 - Sigstore transparency entry: 1204570292
- Sigstore integration time:
-
Permalink:
arnoldadlv/airtable-cli@cbbe862dcab67a92a024d02d670d7c28d5af41d1 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/arnoldadlv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@cbbe862dcab67a92a024d02d670d7c28d5af41d1 -
Trigger Event:
release
-
Statement type: