baserow-cli
A command-line tool for Baserow — the open-source Airtable alternative.
Built for AI agents and automation, but works great for humans too. JSON output to stdout, structured errors to stderr, config via file/env/flags.
Install
uv tool install baserow-cli
Or with pip:
pip install baserow-cli
Quick start
# Set your Baserow database token and instance URL
export BASEROW_TOKEN="your-database-token"
export BASEROW_URL="https://your-baserow-instance.com"
# Or run the interactive setup
baserow config init
Create a database token in Baserow under Settings > Database tokens. Tokens are scoped per-table — you control exactly what the CLI can access.
Usage
# List tables accessible by your token
baserow tables list
# Get table info with field definitions
baserow tables get 42
# List rows (with search, filtering, sorting, pagination)
baserow rows list --table 42
baserow rows list --table 42 --search "quarterly" --size 50
baserow rows list --table 42 --filter "Status__equal=Done" --order-by "-Created"
# Single row operations
baserow rows get 1 --table 42
baserow rows create --table 42 --json '{"Name": "New item", "Status": "Todo"}'
baserow rows update 1 --table 42 --json '{"Status": "Done"}'
baserow rows delete 1 --table 42 --yes
# Batch operations
baserow rows batch-create --table 42 --json '[{"Name": "A"}, {"Name": "B"}]'
baserow rows batch-update --table 42 --json '[{"id": 1, "Status": "Done"}, {"id": 2, "Status": "Done"}]'
baserow rows batch-delete --table 42 --json '[3, 4, 5]' --yes
# Pipe JSON from stdin
cat data.json | baserow rows batch-create --table 42 --json -
Configuration
Config is loaded with priority: config file < env vars < CLI flags.
| Source | Token | URL | Default table |
|---|---|---|---|
| Config file | core.token |
core.base_url |
defaults.table |
| Env var | BASEROW_TOKEN |
BASEROW_URL |
BASEROW_TABLE |
| CLI flag | --token |
--base-url |
--table |
Config file location: ~/.config/baserow-cli/config.toml
# Manage config
baserow config init # interactive setup
baserow config show # print current config (token masked)
baserow config show --reveal # show full token
baserow config set defaults.table 42
Output
All commands output JSON to stdout. Errors go to stderr as structured JSON:
{"error": {"type": "not_found", "message": "...", "status_code": 404}}
Exit codes: 0 success, 1 error, 2 rate limited.
API reference
This CLI wraps the Baserow REST API. Your instance also serves interactive API docs at https://your-instance/api/redoc/.
License
MIT
Metadata
Release files for baserow-cli 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| baserow_cli-0.1.1.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| baserow_cli-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.7 kB
Release files / baserow_cli-0.1.1.tar.gz
| Download URL | baserow_cli-0.1.1.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a9001d7ff0fbd0b7f2ae030dc51146bcfb57e73eedfc2392ec41a419e203f282
|
|
BLAKE2b-256 checksum How to use checksums |
ff25671aa14de430baf77fffce33068d3d2d8bb13377ad7294a50f4ff49bb20d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / baserow_cli-0.1.1-py3-none-any.whl
| Download URL | baserow_cli-0.1.1-py3-none-any.whl |
|---|---|
| Size | 13.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ca0e31d03661519310fc9cc5a254d129a08ace0e3b8cbeee209c55f1688f881e
|
|
BLAKE2b-256 checksum How to use checksums |
e613ff6296b8b1f993675c32c77f306610d5eb69f7c215acc6d8ede98bca82f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|