> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vantage.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Cursor

> Learn how to integrate Vantage with Cursor.

Vantage uses an Admin API key to ingest cost and usage data through the Cursor [Admin API](https://cursor.com/docs/account/teams/admin-api#endpoints). This API provides structured cost data broken down by model (e.g., GPT 5.1 Codex, Claude 4.5 Opus High Thinking) and token type (e.g., input tokens, output tokens, cache read tokens, cache write tokens), as well as requests to the Cloud Agent. [Usage data](/usage_based_reporting) is available for Cursor, measured in tokens or requests based on the usage type.

<Card title="Use Vantage inside Cursor" icon="https://assets.vantage.sh/docs/logos/logo-icon-cursor.svg" href="https://cursor.com/marketplace/vantage" cta="Add to Cursor">
  Vantage is also available as the official plugin in the [Cursor Marketplace](https://cursor.com/marketplace/vantage). Powered by the [Vantage MCP](/vantage_mcp), it lets you query cloud costs and act on Vantage workflows without leaving the editor.
</Card>

## Cursor Permissions

Vantage cannot perform cost-incurring actions. Cursor requires an Admin API key to access the Admin API, which includes additional permissions beyond what Vantage uses (see the [full list of permissions here](https://cursor.com/docs/api#available-apis)). Vantage only reads data from the Admin API endpoint related to cost and usage and will never perform any other actions. Unfortunately, Cursor does not currently support more fine-grained permissions for Admin API keys. We recommend customers submit a feature request to Cursor for improved permission scoping, and Vantage will adopt fine-grained permissions if this becomes available. Vantage stores only usage metadata (e.g., token consumption). No user content (prompts or responses) is ingested.

## Connect Your Cursor Account

### Prerequisites

<Warning>
  **Enterprise Plan Required**: The Cursor Admin API is only available to Cursor Enterprise customers. This is a Cursor restriction, not a Vantage limitation. Unfortunately, Cursor does not currently support the Admin API for non-Enterprise plans. We recommend customers submit a feature request to Cursor for broader plan availability, and Vantage will support additional plans if this becomes available.
</Warning>

* A Cursor Enterprise plan is required. The [Admin API](https://cursor.com/docs/api) is only available for Enterprise accounts.
* You need to be a Team Administrator to generate a team Admin API key in the Cursor console. **A team key is required, not a user key.** It's best practice to use a dedicated key for Vantage and rotate it per your security policy.
* You must have a Vantage **Organization Owner** or **Integration Owner** role to add or remove this integration. See the [Role-Based Access Control](/rbac) documentation for details.
* [Create a free Vantage account](https://console.vantage.sh/signup), then follow the steps below to integrate Cursor costs.

### Create the Connection

<Steps>
  <Step>
    Navigate to your [Cursor dashboard](https://cursor.com/dashboard).
  </Step>

  <Step>
    In the left menu, click **API Keys**.
  </Step>

  <Step>
    Select the **Team** tab.
  </Step>

  <Step>
    Click **New API Key** and select the **Admin** scope.
  </Step>

  <Step>
    Enter a key name, then click **Save**.

    <Accordion title="Click to view example image">
      <Frame>
        ![Enter a key name in the Cursor console](https://assets.vantage.sh/docs/cursor-key-v2.png)
      </Frame>
    </Accordion>
  </Step>

  <Step>
    Copy the generated team Admin API key that's displayed.
  </Step>

  <Step>
    From the top navigation in Vantage, click **Settings**.
  </Step>

  <Step>
    On the left navigation, select **Integrations** > **Cursor**.
  </Step>

  <Step>
    The Cursor integrations page is displayed. Ensure you are on the **Connect** tab.
  </Step>

  <Step>
    At the bottom of the page, click **Add API Key** and paste your previously generated Admin API key.
  </Step>

  <Step>
    For **Account Name**, enter a name that will be used to differentiate this Cursor account from others you may add. This name will be displayed in Cost Report filters.
  </Step>

  <Step>
    Click **Connect Account**.
  </Step>
</Steps>

After clicking **Connect Account**, you will see the status of your integration change to **Importing** within the Vantage console. This status indicates that Vantage is actively importing your Cursor cost data. The integration will fetch historical data up to your account's configured retention period. See the [Integration Status](/vantage_account#integration-status) documentation for details on integration statuses.

<Info>
  As soon as costs are processed, they will be available on your **All Resources** Cost Report. If you decide to remove your Cursor integration from Vantage, all costs associated with your Cursor Admin API key will be removed from the Vantage console.
</Info>

### Next Steps - Manage Workspace Access

Once the import is complete and the integration status changes to **Stable**, you can select which workspaces this integration is associated with. See the [Workspaces](/workspaces#manage-workspace-provider-integrations) documentation for information.

## Use Case: Track Token Usage and Allocate Cursor Costs by Team

If your organization uses Cursor across multiple teams, you can use [Virtual Tags](/tagging) in Vantage to allocate Cursor token usage and costs by team, user, or project.

You can start by analyzing Cursor costs at the user level by grouping by **Resource** (which represents user emails) to see individual usage patterns. This allows you to identify which users are consuming the most tokens and understand their usage across different models.

<Frame caption="Cursor Cost Report grouped by user email (Resource) showing individual token consumption">
  ![Cursor Cost Report grouped by user](https://assets.vantage.sh/blog/cursor-cost-management/cursor-report.png)
</Frame>

Once you've identified user-level patterns, you can take your analysis further by creating [Virtual Tags](/tagging) to group users by team, department, or project. For example, you may want to track token consumption for the Engineering team to understand their usage patterns across different models. By creating a Virtual Tag with the key `Team` and the value `Engineering`, you can apply a filter to group together Cursor costs filtered by user emails (Resource) associated with engineering team members. You can then analyze token usage by model type (e.g., GPT 5.1 Codex vs. Claude 4.5 Opus High Thinking) and token category (input, output, cache read, cache write) to identify optimization opportunities.

## Data Refresh

See the [provider data refresh documentation](/provider_data_refresh) for information on when data for each provider refreshes in Vantage.

## Comparing Cursor Invoices to Vantage

When reconciling Cursor costs between your Cursor invoice and Vantage, you may notice differences in the total amounts shown. This is expected and can be explained by understanding how Cursor and Vantage categorize usage.

### Understanding Subcategory Filtering

Cursor's invoices typically show **On-Demand Usage**, which represents billable consumption that you are charged for. In Vantage, this aligns most closely with the **Usage-based** subcategory filter.

To compare your Cursor invoice to Vantage:

1. Navigate to your Cursor Cost Report in Vantage.
2. Apply a filter for **Subcategory** = **Usage-based**.
3. Compare this filtered total to the **On-Demand Usage** amount on your Cursor invoice.

<Tip>
  By default, Vantage shows all usage, including non-billed subcategories. Filtering to **Usage-based** will give you the closest match to your Cursor invoice.
</Tip>

### Why Vantage May Show Higher Totals

Without applying the **Usage-based** filter, Vantage will display higher totals than your Cursor invoice. This occurs because Vantage ingests and displays all usage categories, including:

* **Usage-based**: Billable, on-demand consumption (matches Cursor invoice)
* **Included in Business**: Usage included in your Cursor plan subscription
* Other non-billed usage types

This comprehensive view allows you to understand your total consumption patterns, not just what you're being billed for. For invoice reconciliation purposes, focus on the **Usage-based** subcategory.

### Accounting for Timing Differences

Even after filtering to **Usage-based**, you may notice small remaining differences between Vantage and your Cursor invoice. These discrepancies are typically due to refresh timing around billing period boundaries:

* Cursor generates invoices based on their billing cycle and cut-off times.
* Vantage refreshes Cursor cost data once daily from the Admin API.
* Data refreshed near the boundary of a billing period may result in minor timing differences.

These timing-related differences are usually small (typically less than 1% of total costs) and will resolve as data continues to sync.

## Cursor Reporting Dimensions

On Cursor [Cost Reports](/cost_reports), you can filter and group across several dimensions:

* Team (the name you assign to the integration when created in Vantage; use **Account** for Group By)
* Service (e.g., GPT 5.1 Codex, Claude 4.5 Opus High Thinking)
* Category (e.g., requests, tokens)
* Subcategory (e.g., Usage-based, Included in Business)
* Resource (user email)
* Charge Type (Usage)
* Tags: Includes [Virtual Tags](/tagging) created in Vantage for this provider. The following provider tags are automatically created by Vantage from Cursor data and are available for filtering and grouping:
  * `cursor:max_mode`: Indicates whether the [option](https://cursor.com/docs/context/max-mode) to use maximum context windows for all models is enabled, allowing you to filter and group costs by max mode usage.
  * `cursor:user`: The Cursor user email when present in the source data, allowing you to filter and group costs by user email.
