Overview
Clockify is a time-tracking app. Its v1 API uses a per-user API key — free to generate on any Clockify plan, and the key inherits all the user's workspace permissions. A few endpoints (custom_fields, policies) require a paid Clockify plan and return 403 on free workspaces; the rest work on any tier.
Setup guide
Get your API key
- Sign in at clockify.me.
- Open your Profile Settings (avatar menu, top right) and scroll to the API section.
- Click Generate to create a personal API key.
- Copy the key value — Clockify shows it once on creation, but you can regenerate later if needed.
Add it to Ingest
In the Ingest UI under Connectors → Clockify, paste the key. Ingest stores it in AWS Secrets Manager under the key api_key. The runtime sends it as the X-Api-Key request header on every call.
Mind the limits
Clockify publishes a 10 req/sec per-API-key cap. The Ingest runtime dispatches conservatively at 5 req/sec by default and uses AIMD backoff on 429s. Errors with status 401 (bad key) or 403 (paid-plan endpoint on a free workspace) are treated as fatal — the request stops without retry.
The connector currently fetches up to 5,000 records per endpoint per parent in a single request (Clockify's API maximum for a single page). Workspaces with more than 5,000 records in any one endpoint will miss the overflow until the runtime gains a 1-indexed page-pagination type — flag this with your Ingest contact if it affects you.
Pick endpoints
The Clockify cascade is rooted at workspaces. Most customers want workspaces, projects, tasks, time_entries, and clients — the core time-tracking dataset. The full set:
workspaces,user,workspace_users,groups— identity and structureprojects,clients,tags,tasks— work-tracking taxonomytime_entries,time_entries_in_progress— the actual recorded workexpenses,expense_categories,invoices— the billing surfaceapproval_requests,holidays— workflow featurescustom_fields,policies— paid-plan only (403 on free workspaces)
Supported streams
10 endpoints are available out of the box. Each endpoint syncs into its own Iceberg table in Snowflake.
| Endpoint | Description | Reference |
|---|---|---|
| clients clients | Find all clients on a workspace | – |
| groups groups | Find all user groups on a workspace | – |
| holidays holidays | Get all holidays on a workspace | – |
| projects projects | Get all projects on a workspace | – |
| tags tags | Find all tags on a workspace | – |
| tasks tasks | Find tasks on a project | – |
| time_entries time_entries | Get time entries for a user on a workspace | – |
| user user | – | |
| workspace_users workspace_users | Find all users on a workspace | – |
| workspaces workspaces | Get all workspaces for the authenticated user | – |
Authentication
- Auth type
- API Key
- Sent as header
X-Api-Key- Provider docs
- docs.clockify.me ↗
Performance & limits
- Rate limit
- 10 req/sec per API key (Ingest dispatches at 5 req/sec by default and lets AIMD tune up). Pagination is 1-indexed page-style; the connector fetches up to 5,000 records per endpoint per parent in a single request.