Pricing
Simple, honest pricing
Start free. Upgrade when you need team access or higher limits. No per-seat fees, no usage-based billing, no vendor lock-in.
Free
$0
forever · self-hosted
✓ Single user
✓ 50 queries / month
✓ 1 database connection
✓ PostgreSQL, MySQL & MariaDB
✓ Bring your own AI key
✓ Session history
✓ Self-hosted — your infrastructure
✗ Multiple database connections
✗ Multi-user, RBAC & LDAP
✗ 10,000 queries / month
✗ Priority support
Enterprise
License key
annual · self-hosted
✓ Everything in free, plus:
✓ Multi-user with role-based access (Admin / Developer / Guest)
✓ LDAP / Active Directory — users provisioned on first login
✓ All 7 databases: PostgreSQL, MySQL, MariaDB, SQL Server, ClickHouse, Databricks, Redshift
✓ Up to 50 database connections
✓ 10,000 queries / month
✓ Multiple LLM model configs
✓ Audit log
✓ Priority email support
✓ License valid for 1 year
AI usage costs are billed directly by your provider (OpenAI, Anthropic, etc.) — Ottoch never charges for AI calls.
FAQ
Common questions
Do I need to pay for AI usage?
No. You bring your own API key from your chosen provider (OpenAI, Anthropic, Google Gemini, etc.).
All AI costs go directly to your provider account. Ottoch never sits between you and your provider's billing.
Is my database data sent to Ottoch?
No. Ottoch runs entirely on your own server. There are no analytics, no telemetry, and no call-home.
The only outbound network calls from your instance are to your chosen AI provider's API endpoint —
and those calls contain only your schema and your question, never your row data.
What happens when my enterprise license expires?
The app continues to work without interruption. On the next monthly query count reset,
it downgrades to free tier limits (50 queries, 1 connection). Your data, sessions, and configuration
are untouched. Renew at any time to restore enterprise limits.
Can I use it without an internet connection?
Yes. License validation is offline — the license key is checked locally. The only internet dependency
is your AI provider's API. If you're running a local model via an OpenAI-compatible endpoint,
Ottoch works in a fully air-gapped environment.
Can I use a local model like Ollama instead of a cloud AI provider?
Yes. Pick Custom (OpenAI-compatible) as the provider in LLM Configuration
and point the Base URL at your local server's OpenAI-compatible endpoint — for Ollama that's
/v1/chat/completions, not its native
/api/chat path, since the two use different
request/response formats. A bare hostname works fine too (e.g. a Docker container or service name like
http://ollama:11434/v1/chat/completions) —
it doesn't need to be a real internet domain. Use the Fetch models button after entering
the URL to pick from whatever models your local server actually has loaded, rather than typing the exact
name by hand.
Why does Ottoch say it can't answer my question?
The most common cause is a table that's needed to answer the question isn't activated for
that connection — Ottoch only ever sees the schema of tables you've explicitly turned on under
Manage tables. A question like "top-selling products" needs whichever table actually links
orders to products (an order-items / line-items table), not just the products and orders tables on their
own — activate every table the question touches, including join tables, and try again. If every relevant
table is already active and it still can't answer, a smaller local model may simply be struggling with
that particular query; a larger model (GPT-4o, Claude, Gemini) tends to handle multi-table joins more
reliably.
How do I get support?
Email us at [email protected] or use the contact form.
Enterprise licenses include priority response — we aim to reply within one business day.
Free tier support is best-effort.
Start for free. Upgrade when you're ready.
No credit card. No time limit on the free tier.