Developers

Instrument once. Ship in minutes.

Wrap your existing provider SDK and get cost tracking and budgets out of the box.

TypeScript
import { Costorah } from "@costorah/sdk";
import OpenAI from "openai";

const cost = new Costorah({ apiKey: process.env.COSTORAH_KEY });
const openai = cost.wrap(new OpenAI());

// Every call is now tracked and attributed to a project.
await openai.chat.completions.create(
  { model: "gpt-4o", messages: [{ role: "user", content: "Hi" }] },
  { costorah: { project: "onboarding-summary" } },
);
Python
from costorah import Costorah
from anthropic import Anthropic

cost = Costorah(api_key=os.environ["COSTORAH_KEY"])
anthropic = cost.wrap(Anthropic())

anthropic.messages.create(
    model="claude-3-5-sonnet",
    messages=[{"role": "user", "content": "Hi"}],
    costorah={"project": "onboarding-summary"},
)

Everything in one API

A single REST endpoint, versioned and stable. Or use our typed SDKs — same shape everywhere.

SDKs

Python and JavaScript/TypeScript today, with drop-in wrappers for OpenAI and Anthropic. More languages and providers are coming soon.

CLI

A scriptable command-line client for local development and diagnostics.

REST API

A single, versioned REST API backs the dashboard, the SDKs, and the CLI — nothing is dashboard-only.

Webhooks & Terraform

Coming soon — subscribe to budget and anomaly events, and manage workspaces as code.