SuperPenguin documentation
Track and investigate AI spend with SuperPenguin SDKs, the CLI, MCP, and the Agent API, or implement the Provider Billing API.
SuperPenguin gives developers one place to track AI cost per request, attribute spend to customers and features, and reconcile SDK estimates against provider invoices.
SuperPenguin observes SDK calls directly. Your traffic goes straight to the provider. The SDK is not a proxy.
Start here
Connect an AI agent with MCP
Ask Claude Code, Cursor, ChatGPT, or another MCP client to investigate your organization's spend through OAuth.
Use the SuperPenguin CLI
Investigate spend, billing, and coding usage from your terminal or an AI agent with browser OAuth.
Build with the Agent API
Use the same organization-scoped operations from an OAuth-authenticated REST client.
Quickstart
Install an SDK, create an API key, wrap a client, and see attributed spend in minutes.
Attribution concepts
Learn how structured metadata turns raw usage into customer, feature, and team spend.
Python SDK
Wrap OpenAI, Azure OpenAI, Anthropic, Gemini, Bedrock, Deepgram, ElevenLabs, and LiteLLM.
TypeScript SDK
Native wrappers, Vercel AI SDK helpers, OpenTelemetry, and Realtime voice.
Hosted OpenTelemetry
Send OpenRouter Broadcast or OTLP/HTTP JSON GenAI traces without installing an SDK.
Setting up a company?
Create a company workspace
Choose an owner, select a plan, invite engineers, and configure shared access.
Set up AI Coding and PR Costs
See each plan’s coding analytics and PR allowances, plus Desktop and GitHub setup.
Install SuperPenguin Desktop
Email the Mac app to engineers and begin syncing AI coding activity.
Plans and entitlements
Compare current prices, workspace limits, and feature availability.
Building a provider integration?
If you are an inference, speech, gateway, or agent provider that wants SuperPenguin to pull usage and billed costs from your API, start with the FOCUS AI Provider Profile.
Build a billing integration
Implement capabilities, usage, and cost exports, then run the conformance suite.
Customer teams connecting an existing provider account should use Connect an existing provider instead.