Connecting to Cursor
Connect your Cursor account to CloudZero to bring your Cursor cost and usage data into a unified view of all your cloud and AI spend. CloudZero organizes your Cursor costs, along with your other costs, into categories (called Dimensions) that matter most to your business. For example: business unit, team, product, feature, environment, customer, or virtually anything else. Once connected and organized, you can quickly answer questions about your spend that matter to your stakeholders.
This guide covers creating an API key in Cursor and configuring the connection in CloudZero. CloudZero ingests per-user usage events and daily usage data, plus billing group membership when your team uses billing groups. The connection is read-only.
This connection works with Cursor Teams and Enterprise plans. Both plans bring in cost data by user and model. Enterprise plans also break costs down by repository and, if your team uses Cursor's billing groups, by billing group.
What you need
- CloudZero user with data configuration permissions
- A Cursor Teams or Enterprise plan account
- Cursor team administrator access (required to create API keys)
Step 1: Create an API key in Cursor
Create a Team API key with Admin scope in your Cursor account. See Creating API Keys in Cursor's documentation for instructions.
Copy the key before closing the page. You will need it in the next step.
Step 2: Configure the connection in CloudZero
- In CloudZero, go to Settings > Connections.
- Select Create Connection + and select the Cursor tile.
- Enter a Connection Name. This label identifies the connection throughout CloudZero.
- Enter the API key you created in Step 1.
- Select Create Connection.
What to expect
After you connect, CloudZero begins ingesting your Cursor cost and usage data. Your Cursor costs appear across the platform within 24 hours. Once data is available, you can view costs broken down by user and model. Enterprise plans add breakdowns by repository and, if your team uses billing groups, by billing group.
From there, your Cursor costs work like any other cost data in CloudZero. For example, you can organize them by team or product using Dimensions, track trends in Dashboards, set Budgets, or ask questions in the AI Hub.
Connection details
Usage data
CloudZero records every Cursor request at the cost Cursor reports for it, including requests covered by your plan's included usage. That gives you the full value of your team's Cursor usage, so you can compare usage across users, models, and repositories on equal terms.
Your Cursor invoice is structured differently. It charges a subscription fee for each seat, plus on-demand charges for usage beyond what your plan includes. Because CloudZero also counts the included usage, your Cursor costs in CloudZero include more than the on-demand charges on your invoice. Seat subscription fees and taxes are not part of the usage data, so they do not appear in CloudZero.
Cursor labels each request with a billing category, which appears in CloudZero as the Usage Type Dimension:
| Usage Type | What it means | On your Cursor invoice |
|---|---|---|
Usage-based | Usage beyond the amount your plan includes | Billed as on-demand usage |
Included in Business | Usage covered by the amount your plan includes | Covered by your subscription |
Free | Requests Cursor does not charge for, sometimes reported with a small cost | Not billed |
Errored, Not Charged and Aborted, Not Charged | Failed or canceled requests, reported with a cost that Cursor does not charge | Not billed |
CloudZero passes Cursor's labels through unchanged, so any other label Cursor uses also appears as its own Usage Type.
To match your on-demand charges: In the Explorer, filter Usage Type to Usage-based. The result matches the on-demand usage in Cursor's usage export for the same dates. Compare totals over a date range rather than invoice by invoice: CloudZero groups usage by UTC day, while Cursor invoices on-demand usage in installments during the billing cycle.
Have questions or feedback? Reach out to your account manager.
Updated 1 day ago

