API keys
Create, disable and revoke API keys for the REST API, the MCP server and integrations.
On this page7
An API key lets your own code, an integration or an AI agent use your useClick account. One key works for the REST API, the MCP server for AI agents, and integrations such as WordPress and Zapier. API access is included on every plan, including Free.
Create a key
- In the dashboard, open Settings and choose the API keys tab (or go to
/dashboard/account/api-keys). - Click + Create API key.
- Enter a Key name that tells you where the key is used, such as "Claude Code" or "Zapier". The dialog also shows the key's rate limit.
- Click Create key.
- Copy the key from Your new API key and store it somewhere safe, then click I've saved my key.
Keys start with uc_live_. Treat them like a password: don't commit them to code repositories or paste them into public places.
Make your first request
Send the key in the Authorization header as a bearer token. First, check that it works:
curl https://useclick.io/api/v1/auth/verify \
-H "Authorization: Bearer uc_live_YOUR_KEY"The response confirms the key and returns your plan, its limits and features, and the key's rate limit. Then create a short link:
curl -X POST https://useclick.io/api/v1/links \
-H "Authorization: Bearer uc_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"target_url": "https://example.com/spring-sale"}'The response contains the new link in data, including its slug and short_url. Without a slug in the request, one is generated for you. The API applies the same plan rules as the dashboard: for example, geo-targeting and UTM parameters need Starter or above, and new links count toward your link limit.
The REST API setup tab on the same page has ready-made snippets. If you created a key in the current visit, they are pre-filled with it. For every endpoint and field, see the REST API reference.
Rate limits
| Plan | Requests per minute, per key | MCP analytics queries per day |
|---|---|---|
| Free | 100 | 25 |
| Starter | 300 | 100 |
| Growth | 600 | 300 |
| Pro | 1,200 | 1,000 |
| Business | 3,000 | 5,000 |
- Responses include
X-RateLimit-Limit,X-RateLimit-RemainingandX-RateLimit-Reset(a Unix timestamp in seconds) headers. - Over the limit, the API answers with status
429and the error codeRATE_LIMIT_EXCEEDED. Wait until the reset time and retry. - A key's rate limit is set from your plan when the key is created, and shown in the key list. After upgrading, create a new key to get the higher limit, then revoke the old one.
- The daily MCP quota applies only to the analytics tools of the MCP server; other MCP tools use the per-minute limit.
Manage your keys
The API keys list shows each key's name, status (Active or Disabled), when it was last used, how many requests it has made and its rate limit.
- Disable turns a key off without deleting it. Requests with it are refused until you click Enable.
- Revoke deletes the key permanently. Anything still using it stops working. This cannot be undone.
Use one key per integration. If one leaks or is no longer needed, you can revoke it without affecting the others.
Keys in a team
API keys are personal. Each person creates their own, and a key is listed only on the API keys page of the person who created it. Its rate limit follows that person's own subscription. See Team workspaces.
Troubleshooting
401 UNAUTHORIZED: "Invalid or missing API key"
- Check the header:
Authorization: Bearer uc_live_..., with no extra spaces or quotes around the key. - The key may be disabled or revoked. Check its status in the list.
403 FEATURE_NOT_AVAILABLE or LINK_LIMIT_REACHED
The request uses a feature your plan does not include, or you have reached your link limit. See Plans and limits.
429 RATE_LIMIT_EXCEEDED
Slow down, spread requests out, or wait for the time in X-RateLimit-Reset.
Related guides
- REST API reference
- MCP server: connect Claude, Cursor or other AI agents
- Plans and limits
