Public APIs
WakaTime favicon

WakaTime

Documents & Productivity

Automated time tracking leaderboards for programmers.

WakaTime's website screenshot

About WakaTime

WakaTime provides a REST API for accessing coding activity data such as time spent coding, editors, languages, projects, and operating systems used. The API follows standard REST conventions, returns JSON responses, and requires HTTPS for all requests, with a base URL prefix of https://api.wakatime.com/api/v1/.

Authentication is handled through OAuth 2.0, with dedicated endpoints for authorization, token exchange, and token revocation. Access tokens are passed via a Bearer authorization header or as URL arguments, and refresh tokens allow re-authorization without prompting the user again. Requests are rate-limited to an average of 10 per second over any 5-minute period.

The API supports granular OAuth scopes that let applications request access to specific categories of user data, such as summaries or stats limited to languages, editors, projects, dependencies, machines, or operating systems, rather than requiring blanket access. This is intended for developers building applications or plugins that integrate with a user's WakaTime coding activity data.

Key features

  • REST API over HTTPS for coding activity data (heartbeats, stats, summaries)
  • OAuth 2.0 authentication with access and refresh tokens
  • Granular OAuth scopes for reading specific data types (languages, editors, projects, machines)
  • Embeddable SVG charts and JSON for publicly sharing coding stats safely
  • Programming language, project, editor, and machine tracking endpoints

Frequently asked questions

What authentication method does the WakaTime API use?

It uses OAuth 2.0, with client apps redirecting users to an authorize endpoint and then exchanging a code for an access token via a server-side POST request.

How are API requests rate limited?

Requests are limited to fewer than 10 per second on average over any 5-minute period, and exceeding this returns a 429 status code.

Can I use the API safely from a public website?

No, the docs advise not to use the API with a secret key on a public website and instead recommend creating an embeddable SVG chart or using the JSON format for public sharing.

What kind of data can I access with the API?

You can access categories, dependencies, editors, languages, machines, operating systems, and projects through summaries and stats endpoints.

How do I revoke API access?

You send a POST request to the /oauth/revoke endpoint with your client_id, client_secret, and the token to invalidate it, and this can also revoke all tokens for a user or app.

Advertise here

Featured products

  • SerpApi - Search API favicon
  • Screenshot Scout favicon
  • TalorData favicon
  • CoreClaw favicon

Show your product to thousands of developers

· 100k monthly pageviews
· 7k newsletter subscribers

Advertise your product