Updated October 2026: Faucet now supports seven databases (including MariaDB) and the latest release is v0.1.13.
Faucet is an open-source server that turns your SQL database into a REST API, with API keys and role-based access built in, in under 60 seconds. No Docker required. No runtime dependencies. Just one binary.
The Problem
Building REST APIs for databases is tedious. You write the same CRUD endpoints, the same authentication middleware, the same pagination logic — over and over. Existing solutions either lock you into one database (PostgREST), require a heavier server stack (DreamFactory), or are GraphQL-first (Hasura).
The Solution
Faucet takes a different approach: one binary, seven databases. Point it at PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite, or Snowflake — and get a full REST API with:
- Role-based access control with per-table, per-verb permissions
- OpenAPI 3.1 documentation generated automatically from your schema
- Native MCP server so AI agents like Claude can query your data directly
- Embedded admin UI for managing connections, roles, and API keys
Built Small
- A single static binary with zero runtime dependencies
- Pure Go, no CGO — runs the same on Linux, macOS, and Windows
- Connection pooling built in, plus
faucet benchmarkto measure your own setup
Get Started
Install Faucet in one command:
brew install faucetdb/tap/faucet
faucet db add --name mydb --driver postgres --dsn "postgres://user:pass@localhost:5432/mydb?sslmode=disable"
faucet serve
Your REST API is now live at http://localhost:8080/api/v1/mydb/_table/ — create a role and an API key (faucet role create --name reader --verbs GET, then faucet key create --role reader) and send it in the X-API-Key header.
What’s Next
We’re actively developing Faucet and shipping fast. Follow our progress on GitHub and star the repo to stay updated.
Faucet is MIT licensed and free forever. Get started today.