Setup Guide

Connect your AI & data stack
in five minutes.

17 connectors across AI APIs, pipelines, warehouses, BI, cloud, and CI/CD. Read-only, no ETL, no data leaves your accounts. Pick what you run and copy a credential. That's it.

Read-only, every connector
Every credential costly asks for is scoped to billing / usage read endpoints. No writes, no schema changes, no data extraction.
Under 5 minutes per platform
Most connectors take 2–3 minutes. Nothing requires a CSV export or an on-prem agent.
Works without all platforms
Connect just one and the dashboard lights up. Add more later — costs aggregate across everything.

AI & LLM APIs

Per-model, per-workspace, cache-tier cost for the models your team actually uses.

Anthropic API
~2 min setup
Connect
API traffic per workspace / api_key / model / service_tier, with cache_read / cache_write_5m / cache_write_1h tokens broken out and batch/flex discounts applied.
Credentials: Admin API key from console.anthropic.com → Settings → Admin Keys (not your regular sk-ant key).
Vendor docs
Claude Code
~1 min setup
Connect
Subscription (Max/Pro) usage invisible to the Admin API — parses local session transcripts under ~/.claude/projects/ and aggregates per day / project / model with full cache-tier split.
Credentials: Path to your ~/.claude/projects directory. Self-hosted only; complements the Anthropic API connector.
OpenAI
~2 min setup
Connect
All 8 Usage buckets (completions, embeddings, moderations, images, audio, vector_stores, code_interpreter, fine-tune). Cached input, reasoning tokens, batch API 50% discount.
Credentials: Organization Admin API key + optional Org ID.
Vendor docs
Gemini / Vertex AI
~5 min setup
Connect
Vertex AI + AI Studio usage via BigQuery Billing export. Context-tier pricing for 2.5 Pro, cached content, thinking tokens.
Credentials: Service account JSON + billing-export project and dataset. AI Studio key alone won't surface costs.
Vendor docs

Pipelines & Transforms

Where warehouse compute actually gets spent.

dbt Cloud
~3 min setup
Connect
Model-level spend via manifest + run_results, seats, and IDE session usage.
Credentials: dbt Cloud API token + account ID.
Vendor docs
Fivetran
~2 min setup
Connect
MAR (Monthly Active Rows) per connector + destination, sync-frequency, and historical credits burn.
Credentials: API key + API secret.
Vendor docs
Airbyte
~2 min setup
Connect
Connection volume (rows synced, bytes) per connection. Cloud and OSS supported.
Credentials: API token. Self-hosted needs host URL.
Vendor docs

Warehouses

Compute + storage + serverless credit lines across every major warehouse.

BigQuery
~3 min setup
Connect
On-demand vs Editions detection, per-region + per-reservation slot-hour cost, active vs long-term storage, streaming, BI Engine. Multi-region supported.
Credentials: Service account JSON + project ID.
Vendor docs
Databricks
~4 min setup
Connect
system.billing.usage + list_prices — per-SKU, per-cloud, per-job/cluster/notebook/warehouse attribution. Photon flagged. All origin products (JOBS, SQL, DLT, MODEL_SERVING, APPS, AGENT_BRICKS, etc.).
Credentials: Account ID + workspace URL + access token + SQL warehouse HTTP path.
Vendor docs
Snowflake
~5 min setup
Connect
ORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY (preferred) + ACCOUNT_USAGE fallback. Serverless credit lines (Snowpipe, Auto-Clustering, Search, QAS, Cortex), QUERY_ATTRIBUTION by user/role/query-tag, storage active + time-travel + failsafe.
Credentials: Key-pair auth: account identifier + user + PEM private key + optional role/warehouse.
Vendor docs
Redshift
~4 min setup
Connect
Dedicated Redshift connector — SYS_QUERY_HISTORY per-query attribution, SYS_SERVERLESS_USAGE RPU-seconds, SYS_EXTERNAL_QUERY_DETAIL for Spectrum TB scanned, STL_CONCURRENCY_SCALING_USAGE beyond the 1-free-hour/day tier. Provisioned RA3/DC2 per-node-hour + Serverless per-RPU-hour both supported.
Credentials: AWS access key + secret + region + cluster_identifier (provisioned) or workgroup_name (serverless) + database + db_user (IAM auth) or secret_arn.
Vendor docs

BI & Analytics

Per-dashboard + per-user cost, joined to the warehouse that actually runs the queries.

Looker
~3 min setup
Connect
system__activity-based usage: per-dashboard, per-explore, per-user, PDT builds.
Credentials: Client ID + client secret + instance URL.
Tableau
~3 min setup
Connect
Admin Insights + REST /jobs for refresh history, per-workbook views, per-user seats.
Credentials: Server URL + personal access token (name + secret) + site ID.
Omni
~2 min setup
Connect
Seat count + system activity queries.
Credentials: API key + instance URL.

Cloud & CI/CD

Cloud infrastructure and build minutes — the invisible line items.

AWS
~4 min setup
Connect
21+ services through Cost Explorer. Compute, storage, databases, analytics, streaming, AI/ML, orchestration. Tag grouping optional.
Credentials: Access key + secret key + optional region. IAM policy scoped to Cost Explorer + service inventory reads.
Vendor docs
GitHub Actions
~2 min setup
Connect
Runner minutes by OS/size, Packages, LFS, Copilot, Codespaces (enhanced billing API).
Credentials: Personal access token with read:org + admin:org billing scope.
GitLab CI
~2 min setup
Connect
CI minutes per project with runner cost_factor applied, billable members, namespace storage.
Credentials: API token + instance URL + group ID.

Data Quality

Data observability tools that bill separately from the warehouse.

Monte Carlo
~2 min setup
Connect
Monitored assets + monitors + incidents.
Credentials: API key ID + API token.
Snowflake key-pair auth — full walkthrough

Snowflake requires key-pair auth for read-only programmatic access. Costly never asks for a password. Run these four steps once on any machine with openssl.

1. Generate a key pair locally
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
2. Assign the public key to a Snowflake user

Strip the PEM header/footer and newlines from rsa_key.pub, then run in Snowflake:

CREATE USER IF NOT EXISTS costly_user
  TYPE = SERVICE
  DEFAULT_ROLE = costly_role
  RSA_PUBLIC_KEY = 'MIIBIjANBgkqh...<paste single-line pubkey>';
3. Grant read access to ACCOUNT_USAGE
CREATE ROLE IF NOT EXISTS costly_role;
GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE costly_role;
GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE costly_role;
GRANT ROLE costly_role TO USER costly_user;

Replace COMPUTE_WH with any warehouse the role can use for ACCOUNT_USAGE queries. For org-level data (preferred), GRANT APPLICATION ROLE ORGADMIN TO ROLE costly_role; as well.

4. Paste into costly
  • Account identifier: the portion of your Snowflake URL before .snowflakecomputing.com (e.g. xy12345.us-east-1).
  • User: costly_user
  • Private key: paste the full contents of rsa_key.p8, including the BEGIN/END PRIVATE KEY lines.
  • Role: costly_role
Note: ACCOUNT_USAGE views have built-in latency of 45 min to 3 hours. First sync typically shows data in under 10 min, but may take longer on a fresh account.

Ready?

Sign in and add your first connection. The dashboard fills in as soon as the first sync completes (usually within a minute).