Observed since 21 Oct, 10:19 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Python SDK for AI Cost Guard — track, analyze, and optimize your AI/LLM API costs
Track, analyze, and optimize your AI/LLM API costs with a single line of code. Supports 50+ models from OpenAI, Anthropic, Google Gemini, Cohere, Mistral, and more.
| Problem | Solution |
|---|---|
| 💸 Surprise AI bills at month end | Real-time cost tracking with budget alerts |
| 🔍 Can't tell which features cost most | Per-feature & per-user cost breakdowns |
| 📊 No visibility into token usage | Automatic token counting & analytics |
| 🤝 Works only with one provider | Universal support for OpenAI, Anthropic, Gemini, Cohere, Mistral |
pip install ai-cost-guard-sdk
You cannot use this SDK without an API key. The key tells the server which project to save your cost data into. Getting one is free and takes less than 2 minutes.
Go to https://aicostguard.com and click the "Get Started" button (top-right corner).
Fill in:
Click "Sign Up". You land on your dashboard automatically.
A project is a container for one app. One project = one API key = one set of cost data in your dashboard.
My Chatbot AppTracks GPT-4o costs for my support botacg_live_abc123def456ghi789...
💡 Tip: Click "Generate New Key" at any time to get a fresh key.
from ai_cost_guard import AICostGuard
guard = AICostGuard(api_key="acg_live_your_key_here")
# Track any AI API call
guard.track(
provider="openai",
model="gpt-4",
input_tokens=500,
output_tokens=150,
latency_ms=1200,
feature="chat",
)
# Provider-specific helpers
import openai
response = openai.chat.completions.create(model="gpt-4", messages=[...])
guard.track_openai(model=response.model, usage=response.usage)
# Don't forget to flush on shutdown
guard.shutdown()
guard.track_openai(model="gpt-4", usage=response.usage, feature="chat")
guard.track_anthropic(model="claude-3-opus", usage=response.usage, feature="analysis")
guard.track_gemini(model="gemini-pro", usage=response.usage_metadata, feature="search")
guard.track_cohere(model="command-r-plus", usage=response.meta.billed_units, feature="rag")
guard = AICostGuard(
api_key="acg_live_...",
api_url="https://api.aicostguard.com/api/v1", # Custom API URL
debug=True, # Enable debug logging
batch_events=True, # Batch events (default: True)
batch_interval_ms=5000, # Batch flush interval (default: 5000ms)
max_batch_size=50, # Max events per batch (default: 50)
max_retries=3, # Max retry attempts (default: 3)
max_events_per_second=100, # Rate limit (default: 100)
default_feature="my-app", # Default feature tag
)
from ai_cost_guard import AICostGuard
# Automatically flushes and shuts down on exit
with AICostGuard(api_key="acg_live_...") as guard:
guard.track(provider="openai", model="gpt-4o", input_tokens=500, output_tokens=100)
import asyncio
from ai_cost_guard import AsyncAICostGuard
async def main():
guard = AsyncAICostGuard(api_key="acg_live_...")
await guard.track(
provider="openai",
model="gpt-4o",
input_tokens=1000,
output_tokens=200,
feature="async-chatbot",
)
await guard.shutdown()
asyncio.run(main())
from fastapi import FastAPI
from ai_cost_guard import AICostGuard
app = FastAPI()
guard = AICostGuard(api_key="acg_live_...")
@app.post("/chat")
async def chat(prompt: str):
import openai
response = openai.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}],
)
guard.track_openai(model=response.model, usage=response.usage, feature="chat-api")
return {"reply": response.choices[0].message.content}
@app.on_event("shutdown")
def shutdown():
guard.shutdown()
# settings.py
from ai_cost_guard import AICostGuard
AI_GUARD = AICostGuard(api_key="acg_live_...")
# views.py
from django.conf import settings
def chat_view(request):
response = openai.chat.completions.create(model="gpt-4o", messages=[...])
settings.AI_GUARD.track_openai(model=response.model, usage=response.usage, feature="django-chat")
return JsonResponse({"reply": response.choices[0].message.content})
| Provider | Models |
|---|---|
| OpenAI | GPT-4o, GPT-4o mini, GPT-4 Turbo, GPT-4, GPT-3.5, o3, o3-mini, o1, o1-mini |
| Anthropic | Claude 3.5 Sonnet, Claude 3 Opus, Claude 3 Haiku, Claude 3 Sonnet |
| Gemini 1.5 Pro, Gemini 1.5 Flash, Gemini 1.0 Pro | |
| Cohere | Command R+, Command R, Command, Embed |
| Mistral | Large, Medium, Small, Tiny |
npm install @ai-cost-guard/sdknpx ai-cost-cliMIT
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.0.2 | 9 Mar 2026 | 4 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 10:19 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:f4158691892b4fd58cd946fc5d7a4f075c8079b4a8f431ad1b7456ef93f1ef31