CostCrunchGet an API key

Output, CSV, and scripting

Tables for reading, CSV for spreadsheets, JSON for scripts.

Updated October 31, 2026

By default, commands print tables sized to your terminal. If a table is too wide, IDs are hidden first; widen the window or use --json to see them.

CSV for spreadsheets

Add --csv before the group on any list command:

cost --csv suppliers list > suppliers.csv
cost --csv documents list --since 2026-10-01 --limit 200 > october.csv

JSON for scripts

cost --json documents list --status needs_attention
cost --json projects list | jq -r '.[] | "\(.name)\t\(.total_spend)"'

List results come back as {"items": [...], "total": ..., "has_more": ...} where the list can be paged, and as a plain array otherwise.

Paging

Most lists return 25 rows. Use --limit (up to 200) and --offset:

cost documents list --limit 100 --offset 100

cost materials history pages with --limit and --page-number.

In CI and cron

Use an API key from the environment, so nothing is saved to disk:

export COSTCRUNCH_API_KEY=${{ secrets.COSTCRUNCH_API_KEY }}
uvx --from costcrunch cost --csv spend monthly > spend.csv

Didn't answer your question?

Email [email protected]