Install
openclaw skills install api-cost-trackerTrack AI API costs across OpenAI, Anthropic, Google AI with budget alerts, analytics, and optimization tips
openclaw skills install api-cost-trackerComprehensive AI API cost tracking across multiple providers. Monitor spending, set budgets, get alerts, and optimize your AI costs.
cd api-cost-tracker
npm install
# Track all providers
node scripts/main.mjs track
# Track specific provider
node scripts/main.mjs track --provider openai
# View analytics
node scripts/main.mjs analytics
# Set budget
node scripts/main.mjs budget set 100 --monthly
# Export report
node scripts/main.mjs export --format markdown --output report.md
Edit config.json:
{
"providers": {
"openai": {
"enabled": true,
"apiKey": "${OPENAI_API_KEY}"
},
"anthropic": {
"enabled": true,
"apiKey": "${ANTHROPIC_API_KEY}"
},
"google": {
"enabled": true,
"apiKey": "${GOOGLE_AI_KEY}"
}
},
"budgets": {
"daily": 10,
"weekly": 50,
"monthly": 200
},
"alerts": {
"enabled": true,
"thresholds": [50, 75, 90, 100],
"webhook": "https://your-webhook.com/alert"
},
"tracking": {
"autoTrack": true,
"interval": 300000
}
}
track(options)Track API usage and costs.
Options:
provider (string): Specific provider or 'all'period (string): 'today', 'week', 'month', 'all'Returns:
{
"total": 45.67,
"providers": {
"openai": 32.10,
"anthropic": 10.50,
"google": 3.07
},
"models": {
"gpt-4": 28.50,
"claude-3": 10.50
}
}
analytics(period)Get detailed analytics.
Period: 'day', 'week', 'month', 'year'
Returns:
budget.set(amount, period)Set budget limit.
budget.check()Check current budget status.
export(format, options)Export cost report.
Formats: 'json', 'csv', 'markdown'
node scripts/main.mjs track --period today
Output:
💰 API Costs - Today
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OpenAI
GPT-4: $12.50 (125K tokens)
GPT-3.5: $2.30 (230K tokens)
Subtotal: $14.80
Anthropic
Claude-3: $8.20 (82K tokens)
Subtotal: $8.20
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total: $23.00
Budget: $200/month (11.5% used)
node scripts/main.mjs budget set 100 --monthly
node scripts/main.mjs alerts enable
node scripts/main.mjs export --format markdown --period month --output monthly-report.md
node scripts/main.mjs compare --models gpt-4,claude-3,gemini-pro
Add to your HEARTBEAT.md for automated tracking:
Every 6 hours:
- Run: node /path/to/api-cost-tracker/scripts/main.mjs track
- Alert if budget > 75%
# Add to crontab
0 */6 * * * cd /path/to/api-cost-tracker && node scripts/main.mjs check-budget
Run optimization analysis:
node scripts/main.mjs optimize
Get suggestions like:
Configure alerts to send to webhooks:
{
"webhooks": [
{
"url": "https://your-slack-webhook.com",
"events": ["budget_exceeded", "high_usage"]
}
]
}
# View last 30 days
node scripts/main.mjs history --days 30
# Compare months
node scripts/main.mjs compare --period month --previous
Cost data is stored locally:
data/
├── costs/
│ ├── 2026-03-01.json
│ ├── 2026-03-02.json
│ └── ...
├── budgets.json
└── alerts.log
# Test API keys
node scripts/main.mjs test-keys
# Rebuild database
node scripts/main.mjs rebuild
npm test
MIT - Free for personal and commercial use.