Developing Internal Tools with Baserow (No-Code Database)
Baserow is an open-source no-code database with an interface similar to Airtable. Teams use Baserow to manage data without SQL knowledge: CRM tables, content calendars, task registries, supplier databases.
How Baserow Differs from Airtable
| Baserow | Airtable | |
|---|---|---|
| Self-hosted | Yes | No |
| Open-source | MIT | No |
| API | REST + webhooks | REST |
| Price | Free self-hosted | From $20/month |
| Integrations | Via API/Zapier | Built-in |
Installation
# Fastest way
docker run -v baserow_data:/baserow/data \
-p 80:80 -p 443:443 \
baserow/baserow:1.25.0
Data Structure
Baserow is a spreadsheet-like interface on top of PostgreSQL. Each "base" is a set of tables, each table is a set of rows with typed columns.
Field types: Text, Long Text, Number, Rating, Boolean, Date, URL, Email, Phone, File, Single Select, Multiple Select, Link to Table (foreign key), Formula, Lookup, Count, Rollup.
REST API
Baserow provides a full REST API:
# Get table rows
curl -X GET \
"https://baserow.example.com/api/database/rows/table/TABLE_ID/?user_field_names=true" \
-H "Authorization: Token YOUR_API_TOKEN"
# Create row
curl -X POST \
"https://baserow.example.com/api/database/rows/table/TABLE_ID/?user_field_names=true" \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"Name": "John Smith", "Status": "New", "Email": "[email protected]"}'
# Filtering
curl "https://baserow.example.com/api/database/rows/table/TABLE_ID/?filter__field_id__equal=active"
Webhooks
// Webhook on row creation (for notifications)
{
"url": "https://your-api.com/webhook/baserow",
"events": ["rows.created", "rows.updated"],
"headers": [
{ "name": "X-Webhook-Token", "value": "secret-token" }
]
}
// Webhook handler on your server
app.post('/webhook/baserow', (req, res) => {
const { event_type, row_id, values } = req.body;
if (event_type === 'rows.created') {
// New lead — create task in CRM
crmService.createLead({
name: values['Name'],
email: values['Email'],
source: 'Baserow'
});
}
res.sendStatus(200);
});
Typical Use Cases
- Small business CRM — contacts table linked to deals table
- Content calendar — editorial calendar with fields: article, author, status, publication date
- Supplier registry — database with documents, contacts, and order history
- Bug tracker — task table with filters by sprint, status, assignee
Timeline
Setup base with 3–5 tables and relationships + API integration — 1–3 days.







