Databases for all TypeScript and JS multi-tenant apps.
Turso · Docs · Quickstart · SDK Reference · Blog & Tutorials
## Features - 🔌 Works offline with [Embedded Replicas](https://docs.turso.tech/features/embedded-replicas/introduction) - 🌎 Works with remote Turso databases - ✨ Works with Turso [AI & Vector Search](https://docs.turso.tech/features/ai-and-embeddings) - 🔐 Supports [encryption at rest](https://docs.turso.tech/libsql#encryption-at-rest) ## Install ```bash npm install @libsql/client ``` ## Quickstart The example below uses Embedded Replicas and syncs every minute from Turso. ```ts import { createClient } from "@libsql/client"; export const turso = createClient({ url: "file:local.db", syncUrl: process.env.TURSO_DATABASE_URL, authToken: process.env.TURSO_AUTH_TOKEN, syncInterval: 60000, }); await turso.batch( [ "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)", { sql: "INSERT INTO users(name) VALUES (?)", args: ["Iku"], }, ], "write", ); await turso.execute({ sql: "SELECT * FROM users WHERE id = ?", args: [1], }); ``` ## Examples | Example | Description | | ------------------------------------- | --------------------------------------------------------------------------------------- | | [local](examples/local) | Uses libsql with a local SQLite file. Creates database, inserts data, and queries. | | [remote](examples/remote) | Connects to a remote database. Requires environment variables for URL and auth token. | | [sync](examples/sync) | Demonstrates synchronization between local and remote databases. | | [batch](examples/batch) | Executes multiple SQL statements in a single batch operation. | | [transactions](examples/transactions) | Shows transaction usage: starting, performing operations, and committing/rolling back. | | [memory](examples/memory) | Uses an in-memory SQLite database for temporary storage or fast access. | | [vector](examples/vector) | Works with vector embeddings, storing and querying for similarity search. | | [encryption](examples/encryption) | Creates and uses an encrypted SQLite database, demonstrating setup and data operations. | | [ollama](examples/ollama) | Similarity search with Ollama and Mistral. | ## Documentation Visit our [official documentation](https://docs.turso.tech/sdk/ts). ## Support Join us [on Discord](https://tur.so/discord-ts) to get help using this SDK. Report security issues [via email](mailto:security@turso.tech). ## Contributors See the [contributing guide](CONTRIBUTING.md) to learn how to get involved. 