ScopeDB
ScopeDB

Turn events into
real-time insights.

A serverless analytics database for petabytes of event data, with flexible schemas and fast queries.

Different events become insightsSix cards representing code, interactions, traces, logs, cloud data, and messages appear one beat apart with matching actions: a pointer clicks, code unfolds, logs write, a trace travels, a cloud receives data, and message dots type. Each card springs into the aligned grid. The cards wind back half a beat before a compression wave squeezes and twists them clockwise through a tightening spiral into the center over one beat. The compression then releases four charts that settle two beats later in an aligned grid: a rolling trend, a distribution, a matching breakdown, and a heatmap of event categories over time. These are conceptual examples, not measured product data.

Agents turn events into answers

Ask a question. Your agent queries ScopeDB, follows the evidence, and comes back with an answer. Start with your agent.

Live sales

Conversations

POS stream · 14:00–14:30 UTC

You

Sales are flowing in. Which stores across the country need attention now?

Agent

I'll compare the latest 15 minutes with the previous 15, using the same stores across each region.

Query ScopeDBWriting query…
FROM pos_events AS sales
JOIN stores ON sales.store_id = stores.id
WHERE sales.time >= '2026-09-24 14:00:00+00:00'::timestamp
  AND sales.time < '2026-09-24 14:30:00+00:00'::timestamp
  AND sales.event = 'purchase_completed'
GROUP BY stores.region AS region, if(sales.time < '2026-09-24 14:15:00+00:00'::timestamp,
  'previous', 'latest') AS period
AGGREGATE count() AS paid_orders
ORDER BY region, period DESC
Events behind this example

POS transactions flow into ScopeDB with a time, store ID, and event type. A store directory supplies region, city, and street. These queries hold one 30-minute snapshot steady while the agent compares the same stores, then drills into River St in Harbor City. Rerun against a newer window as events arrive. Counts include one completed purchase per transaction; they do not establish why sales changed.

Connect your app

Connect from your backend with an SDK.

Follow the connection guide to set your endpoint and API key as environment variables. Keep the API key on your server.

npm install scopedb
connect.mjs
import { Client } from "scopedb";

const endpoint = process.env.SCOPEDB_ENDPOINT;
const apiKey = process.env.SCOPEDB_API_KEY;
if (!endpoint || !apiKey) {
  throw new Error("Set SCOPEDB_ENDPOINT and SCOPEDB_API_KEY");
}

const client = new Client(endpoint, { apiKey });
const result = await client.query("SELECT 1 AS ready");
console.log(result.toObjects({ integerMode: "string" }));

Run node connect.mjs. Expect ready = 1; no table is needed. Read the Node.js SDK guide for more details.

Visualize your events

Turn query results into live charts and dashboards for humans to explore and share.

Track conversion

Follow visits through signup and activation, and see where users drop off.

Signup conversion
Visits convert to signups and activationsA growing cohort starts with 1,000 visits, 620 signups and 410 activations. Each new batch adds 60 visits, then 38 signups and 25 activations. Bar lengths share the same scale so the drop between steps is visible.

Find slow requests

Spot requests above your latency threshold, then trace the wait to logs and dependencies.

Request duration · ms
Request durations over the last minuteEach bar is one request. New requests enter at Now and move left. Purple bars exceed the dashed 650 millisecond threshold. The scale stays fixed from zero to 1,000 milliseconds.

Trace agent runs

Follow parallel tool calls, a failed search, and its retry before the agent answers.

Agent run
Parallel tools, a retry, then an answerThe agent first plans the task. Its decision reveals parallel search and query calls. Search times out and a retry appears while query continues. After both tools finish, the answer is revealed and generated. Checkmarks mark completed steps.

Scale with demand

Retain petabytes of data and ingest millions of events per second.

Data retained
10 PB+
Peak ingestion
30 GiB/s
Peak events / second
10M
Elastic capacity
Elastic capacity follows changing demandElastic capacity adds and releases compute as workload changes, leaving headroom. Filled square cells represent elastic compute capacity in relative units. The foreground curve shows workload. New observations enter on the right and move left over time.
  • Workload
  • Elastic

Compute that follows your workload

Scale up for bursts and back down in quieter periods. Run ingestion and queries in separate compute groups over the same data.

Architecture

Explore ScopeDB

All articles

Run your
first query