Track conversion
Follow visits through signup and activation, and see where users drop off.
Keep every event in one petabyte-scale database. Schemas flex as your events change; filter, search, aggregate, and join them any way you need.
Ask your agent to query ScopeDB and explain the results.
Query ScopeDB from your backend with an SDK.
npm install scopedbimport { 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" }));Use the connection guide to set your endpoint and API key as server-side environment variables.
See the Node.js SDK guide for API details.
go get github.com/scopedb/goscopedb@latestpackage main
import (
"context"
"fmt"
"os"
"time"
scopedb "github.com/scopedb/goscopedb"
)
func main() {
client, err := scopedb.NewClient(scopedb.Config{
Endpoint: os.Getenv("SCOPEDB_ENDPOINT"),
APIKey: os.Getenv("SCOPEDB_API_KEY"),
})
if err != nil {
panic(err)
}
defer client.Close()
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
result, err := client.Query(ctx, "SELECT 1 AS ready")
if err != nil {
panic(err)
}
rows, err := result.ToObjects()
if err != nil {
panic(err)
}
fmt.Println(rows)
}Use an initialized Go module with Go 1.24 or later. Use the connection guide to set your endpoint and API key as server-side environment variables.
See the Go SDK guide for API details.
cargo add scopedb-client
cargo add tokio --features macros,rt-multi-threaduse scopedb_client::Client;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Client::builder(std::env::var("SCOPEDB_ENDPOINT")?)
.api_key(std::env::var("SCOPEDB_API_KEY")?)
.build()?;
let result = client.query("SELECT 1 AS ready").await?;
println!("{:?}", result.into_objects()?);
Ok(())
}Use a Cargo project with Rust 1.91 or later. Use the connection guide to set your endpoint and API key as server-side environment variables.
See the Rust SDK guide for API details.
Turn query results into live charts and dashboards for humans to explore and share.
Follow visits through signup and activation, and see where users drop off.
Spot requests above your latency threshold, then trace the wait to logs and dependencies.
Follow parallel tool calls, a failed search, and its retry before the agent answers.
Retain petabytes of data and ingest millions of events per second.
Scale up for bursts and back down in quieter periods. Run ingestion and queries in separate compute groups over the same data.
Architecture
ScopeDB allows users to get insights in no time by eliminating the ETL process and enabling direct data analysis and exploration for multiple scenarios.

ScopeDB implements a real variant type system that supports both structured and semi-structured data. It provides a full-featured, flexible schema solution that allows users to reshape raw events into a semi-structured format during ingestion, query and index nested fields within the object column efficiently, and evolve the schema of existing tables online without downtime or data migration.

ScopeDB leverages cloud-native architecture to separate storage and compute, treating S3 as the primary storage layer and offering serverless resource groups to minimize TCO while maximizing performance.