Free plan · no card required

SQL over your data, without the cluster.

Opteryx is a query engine with a workspace around it. Upload a file or query what you already have, write standard SQL in the browser, and see how much data each query scanned next to the rows it returned. There is no cluster to size and nothing to keep running.

100 queries a day, free Metered per query and per GB Apache-2.0 engine
exoplanets · discoveries by year 10 rows
discoveries 2021 peak
2017–2026
2,884
query.ok · 6,324 rows scanned
Why Opteryx

A warehouse’s guarantees, without a cluster or a surprise bill.

Three things we commit to — each one you can check against the product on the free plan.

Nothing to provision

No cluster to size, nothing to leave running, no idle spend between queries. Sign in with Google or GitHub and the first query runs in the browser.

Governance built in

Access policies are glob patterns over schema.table, granted per identity and scoped to a workspace. Machine access uses tokens you issue and revoke yourself.

No surprise bills

The free allowance is a quota, not a credit. With no billing account attached, usage past the limit is blocked, never billed — so an accidental query cannot cost you anything.

The Studio is the product.

A browser SQL workspace — editor, results, charts and history in one place. Nothing to install, and every query is metered as you go.

  • Editor with completion, signatures and the dialect built in
  • Results grid with CSV and JSON export
  • Chart any result set — column, bar, line — and save it as a PNG
  • Query history, because a query is a point in time
  • An assistant that runs on your own AI provider key
  • Drag in CSV, Parquet, NDJSON or JSON to make a dataset

The query on the right is real. Sign in, paste it, and it runs on the free plan against public.astronomy.exoplanets.

discoveries_by_year.sql
-- Exoplanet discoveries per year
SELECT disc_year,
       COUNT(*) AS planets
  FROM public.astronomy.exoplanets
 WHERE disc_year >= 2017
 GROUP BY disc_year
 ORDER BY disc_year;

-- 10 rows · 6,324 scanned
Discoveries · top years
2,884 across 2017–2026
2021
564
2022
367
2023
323
public.astronomy.exoplanets
Connect

Every way in and out.

The Studio is one client among several. Everything it does is an API you can call yourself, and your data goes in and comes out in formats you already have.

API
Query API
POST /api/v1/jobs — submit SQL, poll, collect results.
Protocol
OD
OData v4
Read-only feed with typed $metadata.
Protocol
Py
Python
pip install opteryx-core — the same engine, locally.
Client
Tk
Access tokens
Issue and revoke credentials for machine access.
Auth
Pq
Parquet
Upload it, or read it where it already sits.
Format
Cs
CSV
Schema inferred on upload, confirmed before commit.
Format
Js
JSON & NDJSON
Line-delimited or whole-file, same path in.
Format
Ex
CSV & JSON out
Export any result set straight from the grid.
Export
Pricing

You pay for queries and gigabytes. That’s the whole model.

No seats, no reserved capacity, no minimum. Start on the free allowance and add a billing account only when you outgrow it.

Free
£0

Resets every day. A quiet day doesn’t carry over to the next.

  • 100 queries per day
  • 167 MB queried data per day
  • 5 GB storage at any one time

Shared across every workspace on the account. Go past it without a billing account and further usage is blocked — you are never charged by surprise.

Start free
Usage
Metered

Beyond the free allowance, per unit, in GBP excluding VAT.

  • Queries £0.10 / 1,000
  • Queried data £0.004 / GB
  • Storage £0.00003 / GB / hour

Roughly £4 per terabyte scanned and about £0.02 per GB stored per month. Usage is attributed per query, so you can always see where it went.

Read the cost model
local.py
# pip install opteryx-core
import opteryx

# the same engine, over a file on your disk
result = opteryx.query(
    "SELECT * FROM 'space_missions.parquet' LIMIT 5;"
)
result.head()

The engine is open source.

Opteryx started as a SQL engine you run yourself — over local files, dataframes or object storage, with no cluster and no schema to declare first. It is Apache-2.0 and it stays that way.

The hosted service is that engine with the rest of the job done around it: storage, sign-in, access policies, metering and a workspace to work in. The SQL you write in one is the SQL you write in the other.

Run your first query in about a minute.

Sign in with Google or GitHub, load a file or use the sample datasets, and go.