SQLite Folder logo

Embedded databases New

Query a SQLite Folder with SQL — in Excel, Google Sheets, AI and REST

Query a whole folder of SQLite databases as if it were one. Four hundred per-store or per-device files answer a single GROUP BY instead of four hundred exports.

One connection, every surface

Where your SQLite Folder data can go

Query Streams turns a whole folder of SQLite databases into live SQL tables readable from Microsoft Excel, Google Sheets, AI assistants over MCP, the REST API and Power BI. A table that appears across the files with the same shape is pinned once and every file's rows stack into it, so four hundred per-store or per-device databases answer a single GROUP BY. The self-hosted agent opens each file strictly read-only; the databases stay on your machine and only query results leave the network.

One of 9 File Set drivers on one folder engine — the inventory tables, change trail and refusal rules under features are shared by the family SQLite Folder File System CSV Folder Parquet Folder Excel Folder JSONL Folder Multi-record CSV Machine Logs Web Server Logs

  1. For your team, vendors and partners
  2. SQLite Folder to Excel Microsoft Excel · Excel add-in

    Pull live SQLite Folder results straight into a worksheet and refresh them on demand — desktop Excel, Excel Online, Microsoft 365.

    How Excel works
  3. SQLite Folder to Google Sheets Sheets add-on

    Run a saved SQLite Folder query from the sidebar and drop the rows into the sheet. Shared collaborators can refresh it themselves.

    How Google Sheets works
  4. Ask Nova about SQLite Folder Nova AI · text to SQL

    Ask a question in plain English. Nova already knows your SQLite Folder tables, writes and runs the SQL, explains the answer and charts it — no query to write, no credentials to hand over.

    How Nova works
  5. SQLite Folder to Data Viewer result sharing · team, vendors, partners · phone, tablet, desktop

    Share a live SQLite Folder result with anyone — a colleague, a vendor, a partner — as a bookmarkable grid that re-runs fresh when opened, on a phone, a tablet or a desktop. They see the results, never the SQL or the files.

    How the Data Viewer works
  6. For apps and systems
  7. SQLite Folder REST API HTTP endpoint

    Publish a SQLite Folder query as an authenticated JSON endpoint any application can call, with an OpenAPI 3.1 spec and ready-made Postman, Insomnia and Hoppscotch collections. No database port is opened.

    How REST API works
  8. SQLite Folder to Power BI Power Query M

    Paste the generated Power Query M into the Power BI Advanced Editor and the report reads live SQLite Folder results over HTTPS — no ODBC driver, no database port opened.

    How Power BI works
  9. SQLite Folder to Airtable Automation platform

    Sync SQLite Folder rows into an Airtable base on a schedule, or fetch them inside an Airtable automation script.

    How Airtable works
  10. SQLite Folder to Baserow Automation platform

    Feed a Baserow table from SQLite Folder over the REST endpoint — self-hosted or Baserow cloud.

    How Baserow works
  11. SQLite Folder to SeaTable Automation platform

    Keep a SeaTable base current with SQLite Folder data without exporting a file or exposing the database.

    How SeaTable works
  12. SQLite Folder to Smartsheet Automation platform

    Push SQLite Folder results into a Smartsheet grid so plans and reports read from the source system, not last week's export.

    How Smartsheet works
  13. SQLite Folder to Anvil Anvil Works · App platform

    Back an Anvil Python app with SQLite Folder through the REST endpoint instead of embedding database credentials in the app.

    How Anvil works
  14. For AI tools
  15. SQLite Folder MCP server Claude, Cursor and MCP clients

    Give an AI assistant read-only access to SQLite Folder with the schema it needs to write correct SQL — no credentials in the chat.

    How MCP works
  16. Delivered to people
  17. SQLite Folder alerts and reports Slack · Discord · Email · Webhook

    Put a SQLite Folder query on a schedule and have the rows delivered to Slack, Discord, email or a signed webhook — or hold the message until a row count, threshold or percentage change crosses the line you set.

    How alerts and reports work

How it works

5 steps, no inbound firewall change

01

Install the Network Agent where it can see the folder of .db / .sqlite files — device dumps, per-store databases, per-job captures.

02

Point the connector at it. Every database is opened strictly read-only, and the -wal / -journal side files are ignored so nothing is disturbed.

03

The agent reads each database's own table definitions. A table that appears across the files with the same shape is pinned once.

04

Rows from every file stack into that table, each tagged with a _source_file column naming the database it came from.

05

Query the entire fleet at once, or filter to a single store or device.

Feature deep-dive

What SQLite Folder gives you

A fleet, not one file at a time

The single-file SQLite connector opens one database — that is the right card for an application's local store. This one is for the case where the same database exists many times over, once per shop, machine, vehicle or job, and the question you actually have spans all of them.

-- Every store's database, one answer
SELECT   _source_file AS store, COUNT(*) AS tickets, SUM(total) AS sales
FROM     data_orders
GROUP BY store
ORDER BY sales DESC

Types are read, not guessed

  • Column types come from each database's own declared schema, not from sampling the values.
  • If the same table is typed differently between files, the connector refuses to pin and names the conflict instead of flattening everything to text.
  • A file that disagrees later is held back, with the table, column and row identified in files_events.
  • A database that cannot be opened is skipped during setup, so one locked or corrupt file does not stop the rest.

Shared by the whole File Set family

Every folder connector also gives you

  • files_current — a live inventory: every file the connector can see right now, with its path, size and modified date.
  • files_events — the audit trail: what appeared, what changed, what vanished, and anything held back, with the filename and the reason.
  • directories and volumes — per-folder totals, daily growth history, and how much room is left on the drive.
  • Only files that actually changed are re-read on each sync, so a folder of 50,000 files is not re-parsed because one new export landed.

Good to know

  • Read-only, enforced — one statement at a time, SELECT and friends only. Your files are never written, moved or renamed.
  • Nothing is uploaded — the data is cached, encrypted, on your own machine beside the agent. Only the result of a query leaves your network.
  • Sensible defaults — up to 250,000 files, 16 folders deep, 512 MB per file, all adjustable. Recycle bins, .git and node_modules are always skipped.
  • The SQL dialect is DuckDB — the same SQL you would write against any other connector.

Cross-source SQL

Join SQLite Folder to the rest of your data

A folder of files is a set of SQL tables like any other, so one statement can join it to a database and an API at once. Each source runs only the part it can, streams the result back, and the join happens centrally — the sources never talk to each other and nothing is copied anywhere.

3 connections · 3 agents

SQLite Folder Embedded databases
PostgreSQL Relational engine
Stripe Payments & billing

One statement

-- nothing copied, nothing merged, nothing scheduled
SELECT   c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
FROM     store_dbs.fileset.data_orders1 f
JOIN     pg_crm.public.customers2       c ON c.id = f.customer_id
JOIN     billing.stripe.invoices3       i ON i.customer = c.stripe_id
GROUP BY c.region
ORDER BY invoiced DESC;

The three parts are connection, schema and table — and the connection name is whatever you called it. Illustrative columns; your tables will be your tables. Read-only applies to every piece: SELECT, WITH and EXPLAIN only, with a ceiling on how much any one source may hand over for a single query. How federated queries work

Connection details

What SQLite Folder needs

Folder
One or more roots holding .db / .sqlite files, subfolders included — the -wal and -journal side files are never matched, so nothing in flight is disturbed
Tables
One per member table name, every database stacked into it, each row carrying a _source_file column naming the file it came from
Schema
Read from each database's own declared table definitions rather than sampled from the values
Access
Every database is opened strictly read-only and unpooled, so a live file is never held locked between syncs
Type conflicts
If the same table is typed differently between files the connector refuses to pin and names the conflict, instead of flattening everything to text
Money columns
A declared decimal stays an exact DECIMAL end to end, never floating point
Limits
Up to 250,000 files, 16 folder levels deep, 512 MB per file — all adjustable
Credentials
None — there is no server; the agent reads the database files in place
SQL dialect
DuckDB — standard SQL, nothing folder-specific to learn

There is no database server in this picture. The agent reads the .db files where they already live, caches the rows in an encrypted DuckDB store on the same machine, and re-reads only files that actually changed — a fleet of hundreds of databases is not re-read because one device synced. Nothing is uploaded to Query Streams; the only thing that ever leaves your network is the result of a query.

This is the fleet card, not the single-database one. The standalone SQLite connector opens one file, which is the right choice for an application's local store. Reach for this one when the same database exists many times over — once per shop, machine, vehicle or job — and the question you actually have spans all of them.

Vendor documentation: www.sqlite.org

FAQ

Questions about SQLite Folder

Which tools can read SQLite Folder data through Query Streams?

All of them, from one connection: Excel, Google Sheets, MCP, REST API, Airtable, Baserow, SeaTable, Smartsheet, Anvil, Power BI, scheduled alerts and reports. Connect the folder once and every surface reads the same read-only connection — there is no per-tool setup and no second copy of the data.

Do my files get uploaded to Query Streams?

No. The Network Agent reads the files in place and caches rows in an encrypted store on the same machine. The files themselves never leave your network — only the result rows of a query do, over a single outbound encrypted connection with no inbound firewall port.

Can Query Streams change, move or rename my files?

No. Files are opened strictly read-only and are never written, moved or renamed. Queries are enforced read-only at the point of execution — one statement at a time, SELECT and friends only.

What does Query Streams need to connect to SQLite Folder?

A folder path the agent machine can see — no server, no credentials, no drivers to install. Folder: One or more roots holding .db / .sqlite files, subfolders included — the -wal and -journal side files are never matched, so nothing in flight is disturbed. Tables: One per member table name, every database stacked into it, each row carrying a _source_file column naming the file it came from. Schema: Read from each database's own declared table definitions rather than sampled from the values. Access: Every database is opened strictly read-only and unpooled, so a live file is never held locked between syncs.

Can I join a folder of files to a database in the same query?

Yes — that is a federated query. One statement can reference SQLite Folder and your other connections at once, written as connection.schema.table. Each source runs only the part it can and streams the result back; the join happens centrally, so the sources never connect to each other and nothing is copied or scheduled. Read-only applies to every piece — SELECT, WITH and EXPLAIN only — and there is a ceiling on how much any one source may hand over for a single query. Federated queries are a plan feature; the federated queries page carries the current source and size limits.

Put SQLite Folder where the work happens

Install the agent, point it at your folder, and pick a destination.

Read-only Outbound only Credentials stay on the agent