PLANS / get-team-spend-via-admin-api

Plans

Get team spend for the current cycle with the Admin API

Read per-member spending for the current billing cycle with POST https://api.cursor.com/teams/spend. Official reference: Admin API → Get Spending Data.

Authenticate with a team Admin API key (Basic auth, key as username, empty password). This route reports cycle spend; to set per-user caps use Set user spend limits (POST /teams/user-spend-limit and the bulk preview route).

Request

curl -X POST https://api.cursor.com/teams/spend \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "searchTerm": "alex@company.com",
    "page": 2,
    "pageSize": 25
  }'
Field Rules
searchTerm Optional. Search user names and emails
sortBy Optional. amount, date, or user. Default: date
sortDirection Optional. asc or desc. Default: desc
page Optional. 1-indexed. Default: 1
pageSize Optional. Results per page

Response

{
  "teamMemberSpend": [
    {
      "userId": "user_PDSPmvukpYgZEDXsoNirw3CFhy",
      "spendCents": 2450.125487,
      "overallSpendCents": 2450.125487,
      "fastPremiumRequests": 1250,
      "name": "Alex",
      "email": "developer@company.com",
      "role": "member",
      "hardLimitOverrideDollars": 100,
      "monthlyLimitDollars": 200,
      "effectivePerUserLimitDollars": 100
    }
  ],
  "subscriptionCycleStart": 1708992000000,
  "totalMembers": 15,
  "totalPages": 1
}
Field Meaning
userId Encoded user id (same namespace as /teams/members id)
spendCents On-demand spend in cents for the current cycle (excludes included usage)
overallSpendCents Total spend in cents for the cycle (on-demand + included)
fastPremiumRequests Usage-based premium request count in the cycle
hardLimitOverrideDollars Custom hard limit override in dollars; 0 means no override
monthlyLimitDollars Monthly limit in dollars, or null if unset
effectivePerUserLimitDollars Enforced per-user limit derived from monthly + hard override
subscriptionCycleStart Cycle start as epoch milliseconds
totalMembers / totalPages Roster size and page count

On June 4th, 2026 the docs note additional precision on spendCents and overallSpendCents so values compare cleanly to invoices.

Reconcile event-level costs

To match event totals to these cycle figures, sum chargedCents from Get filtered usage events. That field includes model cost plus the Cursor Token Rate when the rate applies.

Pitfalls

  • Confusing this read with spend-limit writes — caps are a different pair of routes
  • Comparing only spendCents to the dashboard total — on-demand excludes included usage; use overallSpendCents or event chargedCents as the docs describe
  • Mixing encoded userId here with the numeric userId from daily-usage-data — namespaces differ; spend shares ids with /teams/members