Execution-verified · fails closed
The model writes a plausible answer. The harness makes it true.
FactQL plans, drafts, executes, verifies and self-corrects the analysis before you see a number. One POST, one JSON answer with the query, the rows and the lineage behind it.
Start with an uploaded CSV, not production credentials.
Terminal demo of a FactQL query. The user asks which region drove the Q3 revenue drop. FactQL explores the schema across 14 tables, drafts candidate SQL, executes it to verify, flags an ambiguous "revenue" column, self-corrects to net_revenue_gbp, and verifies the corrected query in 0.9 seconds. It returns a three-row result: EMEA down 18% quarter over quarter, North America up 1%, APAC flat at 0%. The underlying SQL is shown alongside the result, stamped verified.
01 · Sources
Bring a dataset, not a database.
Your first query can run on an uploaded file — no production credentials on day one.
10.8%
02 · The problem
execution accuracy of a leading agentic frontier-model setup on BEAVER, a benchmark built from real enterprise warehouses.
Source: BEAVER, Chen et al., 2024 (v3, 2026)
The model isn't the problem. What's missing is everything it can't know: which of your 400 near-identical columns is real revenue, what your terms mean, and when to stop instead of guessing.
03 · The harness
Plan. Draft. Execute. Verify. Correct — or fail closed.
Diagram of the FactQL harness pipeline. Six stages: plan, then explore schema with tools, then candidate query, then execute to verify — which loops back to candidate query as a re-draft when verification fails, and marks a green check when it passes — then grounded summary. A branch from execute to verify leads to a red-tinted failure state labelled fail closed, 4xx, when the harness cannot verify an answer.
Every response includes the SQL. Audit anything we ever answer.
04 · Proof
What verification actually means.
Execution-verified, not generated.
The agent runs the query before you see it; a wrong query self-corrects or fails loudly.
Five sources, one POST.
Postgres, MySQL, DuckDB gateway, CSV/XLSX, or a cited PDF — same endpoint.
Zero invented figures.
Summaries are constrained to the result set.
Fail-closed multi-tenant isolation.
Isolation is enforced on every query and checked by committed proofs, regenerated after structural changes.
A hard ceiling on spend.
Budget alert, then a hard 402. You are never invoiced for going over.
One key, many users.
Send X-End-User-Id and each person in your app gets private conversations.
05 · The API
The API, in one call.
curl -X POST https://api.factql.ai/query \
-H "X-API-Key: $FACTQL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"q": "Top 5 customers by revenue this quarter vs last?"}'{
"sql": "SELECT customer_name, SUM(revenue) AS revenue …",
"data": { "columns": ["customer_name", "revenue"], "rows": [ … ] },
"explanation": "Acme Ltd leads at 70,467, then Summit Shell …",
"lineage": { "tables": ["orders"], "measures": ["SUM(revenue)"] },
"result": "success"
}06 · Objections
Objections, answered.
Why not just a model and a database connector?
Try both; ours takes five minutes. The model writes a plausible query; the harness executes it, corrects it, or refuses. Every answer ships its SQL, so you can check our work on your own tables.
Is my data safe?
SELECT-only, encrypted credentials, fail-closed tenant isolation with committed proofs, full audit. Start on an uploaded file; connect a database when we've earned it. Or run on your own model key.
What happens when it's wrong?
It tells you. Failures and thumbs-downs land in a worklist; fixes promote into certified metrics — admin-blessed canonical SQL that makes repeat questions exact.
Am I locked in?
No semantic model to author and no cloud to adopt. FactQL is one POST across Postgres, MySQL, a gateway, a spreadsheet or a PDF — and every response ships its SQL, so leaving costs you a URL.
07 · Pricing
Free to try. $49 a month when you ship.
Free
$0, everything until 8 Nov
Try the real engine on your own data. No card.
- Every feature, for everyone
- No question or table limits
- Until 8 November
Start here
Starter
$49/mo
For a developer shipping a real integration.
- 300 questions a month
- The full query engine and API
- Signals and briefings
Scale
$299/mo
For a product your customers use every day.
- 2,000 questions a month
- Embeddable chat for your app
- More workspaces and seats
Plans count questions, not tokens. At the limit the API returns 402: you are never invoiced for going over. Need more, or your own limits and a security review? .
08 · Start
Your first verified query is five minutes away.
Upload a CSV or point us at Postgres. Everything is free for everyone until 8 November, no card.
Get an API key