WakaTime

Dashboards for developers Open source plugins for metrics about your programming

Go to site
Explore
/
Apps
/
WakaTime

WakaTime API Integrations

Build and run workflows using the WakaTime API. Use 1000s of source-available triggers and actions across 1000+ apps. Or write custom code to integrate any app or API in seconds.

Overview

The WakaTime API enables developers to easily track, analyze, and display real-time coding activity and metrics. With the WakaTime API, you can build apps that help you measure and improve programming productivity. Here are a few examples of the type of applications and features you can create with the WakaTime API:

  • Dashboards to visualize coding activity
  • Reports about programming languages and tools used
  • Alerts for specific coding activities
  • Integration with collaboration tools (e.g. Slack, Trello)
  • Tools to recommend coding best practices
  • Add-ons to better track project progress and deadlines
  • Metrics for managing remote programming teams
  • Automated metrics for software projects and releases
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    wakatime: {
      type: "app",
      app: "wakatime",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://wakatime.com/api/v1/users/current`,
      headers: {
        Authorization: `Bearer ${this.wakatime.$auth.oauth_access_token}`,
      },
    })
  },
})

Authentication

WakaTime uses OAuth authentication. When you connect your WakaTime account, Pipedream will open a popup window where you can sign into WakaTime and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any WakaTime API.

Pipedream requests the following authorization scopes when you connect your account:

emailread_logged_timewrite_logged_timeread_statsread_orgsread_private_leaderboards
OAuth Request Configurations:
  1. authorization
    GEThttps://wakatime.com/oauth/authorize?client_id={{oauth.client_id}}&redirect_uri={{oauth.redirect_uri}}&state={{oauth.state}}&response_type=code&scope={{oauth.comma_separated_scopes}}
  2. accessToken
    POSThttps://wakatime.com/oauth/tokencontent-type: application/x-www-form-urlencodedaccept: application/json
    client_id={{oauth.client_id}}&client_secret={{oauth.client_secret}}&redirect_uri={{oauth.redirect_uri}}&grant_type=authorization_code&code={{oauth.code}}
  3. refreshToken
    POSThttps://wakatime.com/oauth/tokencontent-type: application/x-www-form-urlencodedaccept: application/json
    client_id={{oauth.client_id}}&client_secret={{oauth.client_secret}}&grant_type=refresh_token&refresh_token={{oauth.refresh_token}}&redirect_uri={{oauth.redirect_uri}}