Pipe anything
The CLI reads from stdin, a --file path, or a --url. If the data is JSON or JSONL, schema is inferred automatically. If it's CSV, pass --csv and headers become column names.
# From a file
instadash push --key sk_… --name logs --file app.jsonl
# From stdin — pipe from any command
cat orders.json | instadash push --key sk_… --name orders
# From a URL — fetches and ingests directly
instadash push --key sk_… --name census --url https://example.com/data.jsonlExtracting nested JSON
Use --path to pluck a nested array out of a JSON response before Instadash sees it. This avoids having to pre-process every API response yourself.
# API returns { "meta": {…}, "results": […] }
curl https://api.example.com/data | \
instadash push --key sk_… --name results --path resultsCSV auto-parse
# Comma-separated, first row = headers
instadash push --key sk_… --name sales --file report.csv --csv
# Tab-separated
instadash push --key sk_… --name sales --file report.tsv --csv --delimiter tabCommon pipe patterns
# Python
python analysis.py | instadash push --key sk_… --name analysis
# Node
node export.js | instadash push --key sk_… --name export
# jq transformation
cat raw.json | jq '.items[] | {id, name, value}' | \
instadash push --key sk_… --name transformed
# psql query result as CSV
psql -U user -d db -c "COPY (SELECT …) TO STDOUT WITH CSV HEADER" | \
instadash push --key sk_… --name query --csvNote: The CLI streams from stdin line-by-line. It never buffers the full file in memory — you can pipe terabyte-scale JSONL through it and it won't OOM. For files over 200 MB, the CLI automatically switches to the presigned URL flow.