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.
