Vantage
LiteLLM can export proxy spend data to Vantage as FOCUS 1.2 formatted cost reports. This lets you visualize LLM spend alongside your cloud infrastructure costs in the Vantage dashboard.
Overviewβ
| Property | Details |
|---|---|
| Destination | Export LiteLLM usage data to Vantage Custom Provider |
| Data format | FOCUS CSV (automatically transformed from LiteLLM spend data) |
| Supported operations | Manual export, automatic scheduled export (hourly/daily/interval) |
| Authentication | Vantage API key + Custom Provider token |
Prerequisitesβ
You need two credentials from the Vantage console:
- API Key β Go to Settings β API Access Tokens β Create a token with Write scope. The token looks like
vntg_tkn_.... - Custom Provider Token β Go to Settings β Integrations β Create a Custom Provider integration β Copy the Provider ID (looks like
accss_crdntl_...).
Setup via APIβ
The recommended setup uses the proxy admin endpoints. No config file changes needed.
1. Initialize credentialsβ
curl -X POST http://localhost:4000/vantage/init \
-H "Authorization: Bearer $LITELLM_ADMIN_KEY" \
-H "Content-Type: application/json" \
-d '{
"api_key": "vntg_tkn_YOUR_VANTAGE_API_KEY",
"integration_token": "accss_crdntl_YOUR_PROVIDER_TOKEN"
}'
Credentials are encrypted and stored in the proxy database.
2. Preview data (dry run)β
curl -X POST http://localhost:4000/vantage/dry-run \
-H "Authorization: Bearer $LITELLM_ADMIN_KEY" \
-H "Content-Type: application/json" \
-d '{"limit": 10}'
This returns FOCUS-transformed data without sending anything to Vantage. Use it to verify the pipeline works and inspect the data mapping.
3. Export to Vantageβ
curl -X POST http://localhost:4000/vantage/export \
-H "Authorization: Bearer $LITELLM_ADMIN_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Optional parameters:
limitβ Max number of records to exportstart_time_utc/end_time_utcβ Filter by time range (must be provided together)
4. Verify in Vantageβ
Go to Settings β Integrations β your Custom Provider β Import Costs tab to see uploaded CSVs. Once the status changes from "Importing and Processing" to "Stable", costs appear in Cost Reporting β All Resources.
Setup via Environment Variablesβ
For automatic scheduled exports, configure via environment variables and proxy config:
Environment variablesβ
| Variable | Required | Description |
|---|---|---|
VANTAGE_API_KEY | Yes | Vantage API access token |
VANTAGE_INTEGRATION_TOKEN | Yes | Custom Provider token from Vantage dashboard |
VANTAGE_BASE_URL | No | API URL override (default: https://api.vantage.sh) |
VANTAGE_EXPORT_FREQUENCY | No | hourly (default), daily, or interval |
VANTAGE_EXPORT_INTERVAL_SECONDS | No | Seconds between exports when frequency is interval |
Proxy configβ
model_list:
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: sk-your-key
litellm_settings:
callbacks: ["vantage"]
export VANTAGE_API_KEY="vntg_tkn_..."
export VANTAGE_INTEGRATION_TOKEN="accss_crdntl_..."
litellm --config /path/to/config.yaml
The proxy registers a background job that exports data on the configured schedule.
API Endpointsβ
All endpoints require admin authentication.
| Method | Endpoint | Description |
|---|---|---|
POST | /vantage/init | Store Vantage credentials (encrypted) |
GET | /vantage/settings | View current config (credentials masked) |
PUT | /vantage/settings | Update credentials or base URL |
POST | /vantage/dry-run | Preview FOCUS data without uploading |
POST | /vantage/export | Upload cost data to Vantage |
DELETE | /vantage/delete | Remove credentials and stop scheduled exports |
FOCUS Field Mappingβ
LiteLLM spend data is transformed into the FOCUS 1.2 schema:
| LiteLLM Field | FOCUS Column | Description |
|---|---|---|
spend | BilledCost, EffectiveCost | Cost of the usage |
model | ChargeDescription, ResourceId | Model identifier |
model_group | ServiceName | Model group / deployment |
custom_llm_provider | ProviderName, PublisherName | Provider (openai, anthropic, etc.) |
api_key | BillingAccountId | Hashed API key |
api_key_alias | BillingAccountName | Human-readable key alias |
team_id | SubAccountId | Team identifier |
team_alias | SubAccountName | Team name |
organization_id | Tags | Organization identifier (resolved from API key or team) |
organization_alias | Tags | Organization display name |
Additional metadata (user_id, user_email, model, model_group, etc.) is also included in the Tags column as JSON.
Upload Limitsβ
Vantage enforces per-upload limits. LiteLLM handles these automatically:
- 10,000 rows per upload β large exports are split into batches
- 2 MB per upload β oversized batches are further split by size
- Unsupported columns are stripped before upload