Skip to main content

Insert Data

From Stdin

Pipe API results directly into a database:

From File

Load a previously saved file:

Auto-Create Tables

With --auto-create, the CLI automatically infers the schema from the JSON data and creates the table if it doesn’t exist. Column types are determined from the data values.
The --auto-create flag is safe to use repeatedly — it only creates the table on the first run, then inserts into the existing table on subsequent runs.

Upsert (Insert or Update)

Update existing records or insert new ones based on a unique key:
The upsert performs an INSERT on new records and UPDATE on existing ones based on the specified key/conflict columns.

Inspect Schema

View the table schema in your database:

Query Data

Run SQL queries against your database:

Dataset Loading

Load data from a collected dataset pipeline directly into a database:
Each source in the pipeline becomes a separate table in the database, named after the source ID.

Diff-Based Sync

Compare collected data with what’s already in the database and apply incremental updates:
This shows:
  • New records — present in dataset but not in database
  • Updated records — present in both but with different values
  • Deleted records — present in database but not in latest dataset
ClickHouse uses ALTER TABLE mutations for diff-sync updates. Transactions are not supported — each batch insert is applied directly.

Auto-Schema and Foreign Keys

The CLI automatically:
  • Infers column types from JSON data (string, integer, float, boolean, timestamp)
  • Flattens nested objects using underscore notation (e.g., urn.valueurn_value)
  • Tracks provenance — links between parent and dependent source tables using foreign key references

Complete Pipeline-to-Database Example

Operations Reference

Next Steps

LLM Analysis

Enrich your data with AI-powered classification and summarization

SQL Querying

Query collected datasets with DuckDB SQL