Team Usage
The plan of a team and how much of it the team uses: prompt credits, domains, AI models, price and included features.
curl --request GET \
--url 'https://api.aiclicks.io/api/v1/team-usage?team_id=3f2a6b10-9c4d-4e8f-a1b2-c3d4e5f60718&domain_id=8f1d3c0a-2f9b-4c11-9b80-7a82e1f0c3f3' \
--header 'Authorization: Bearer ak_live_xxx'
import httpx, os
resp = httpx.get(
"https://api.aiclicks.io/api/v1/team-usage",
params={
"team_id": "3f2a6b10-9c4d-4e8f-a1b2-c3d4e5f60718",
"domain_id": "8f1d3c0a-2f9b-4c11-9b80-7a82e1f0c3f3",
},
headers={"Authorization": f"Bearer {os.environ['AICLICKS_API_KEY']}"},
)
resp.raise_for_status()
usage = resp.json()["data"]
print("prompt credits left:", usage["prompts"]["remaining"])
print("competitor slots left:", usage["competitors"]["remaining"])
const url = new URL("https://api.aiclicks.io/api/v1/team-usage");
url.searchParams.set("team_id", "3f2a6b10-9c4d-4e8f-a1b2-c3d4e5f60718");
const resp = await fetch(url, {
headers: { Authorization: `Bearer ${process.env.AICLICKS_API_KEY}` },
});
const { data } = await resp.json();
console.log(data.plan, data.prompts, data.domains);
{
"data": {
"plan": "business",
"billing_cycle": "monthly",
"prompts": {
"limit": 300,
"remaining": 120,
"used": 180,
"scope": "plan allowance, counted across the team"
},
"prompts_on_this_brand": 64,
"competitors": {
"limit": 10,
"used": 7,
"remaining": 3,
"scope": "per brand"
},
"domains": {
"limit": 10,
"used": 4
},
"models": ["ChatGPT", "Gemini", "AI Overviews", "AI Mode", "Microsoft Copilot", "Claude"],
"price": {
"amount": 499.0,
"currency": "USD",
"per": "monthly"
},
"included": {
"sentiment": true,
"api_and_mcp_access": true,
"blog_drafts_included": 30,
"keywords_included": 100,
"pitch_brands_included": 3
}
},
"generated_at": "2026-11-09T10:00:11.218Z",
"team_id": "3f2a6b10-9c4d-4e8f-a1b2-c3d4e5f60718"
}
{
"detail": "domain_id does not belong to team_id"
}
{
"detail": "Invalid or revoked API key"
}
{
"detail": "Team not found"
}
{
"detail": "Too many requests. Please try again later."
}
This endpoint returns the plan of a team and the usage of that plan. It shows prompt credits, domains, AI models, the plan price and the included features.
If you send a domain_id, the response also shows the tracked prompts and the competitor slots of that brand.
Call this endpoint before you add prompts or competitors in bulk. It tells you how many you can add.
The team_id query parameter is required. To find the team id, use GET /api/v1/validate or GET /api/v1/domains.
Authorizations
Your API key formatted as Bearer ak_live_<your-key>. Create one in the dashboard under Settings → Developers.
Optional UUID for log correlation. If you do not send one, the server makes one and returns it in the response.
Query parameters
UUID of the team. Get it from GET /api/v1/validate or GET /api/v1/domains.
Optional UUID of a domain in this team. If you send it, the response adds prompts_on_this_brand and competitors. If the domain is in a different team, the endpoint returns 400.
Response
The plan and its usage.
Base plan name: starter, pro, business or enterprise.
monthly or yearly.
Prompt credits of the team: limit, remaining, used and scope. The credits are shared by all domains of the team. used is limit minus remaining, and is never below 0.
Only with domain_id. Number of tracked prompts on that domain.
Only with domain_id. Dedicated competitor slots of that domain: limit, used, remaining and scope ("per brand"). used counts active, dedicated competitors.
limit is the number of domains that the plan allows. used is the number of domains in the team.
Display names of the AI models that the team tracks, e.g. "ChatGPT", "Gemini".
Plan price as { amount, currency, per }. An empty object {} when the price is not available, for example on custom plans.
Features of the plan: sentiment (boolean), api_and_mcp_access (boolean), blog_drafts_included, keywords_included and pitch_brands_included (integers).
Echo of the requested team.
ISO-8601 timestamp of when the server made this response.
Response headers
| Header | Description |
|---|---|
X-Cache | Always BYPASS. The server does not cache this endpoint. |
X-Request-Id | Unique request id. Echoes your id if you send one. |
X-RateLimit-Limit | Maximum requests per minute for this key. |
X-RateLimit-Remaining | Requests that remain in the current minute. |
X-RateLimit-Reset | Unix epoch seconds when the window resets. |
Caching
The server does not cache this endpoint. Each call returns the current usage.
Errors
The domain_id is not in the team of team_id.
The API key is missing, not valid, or revoked.
Your API key is for a different team. Or the team's developer_access flag is off.
The team_id is not valid or does not exist. Or your user is not a member of the team.
The team_id is missing.
You sent too many requests. The Retry-After header tells you how long to wait.