Skip to main content

Statistics

All private statistics are scoped to the authenticated user and the history entitlement of that account.

History limits

Account accessAvailable history
Freemost recent seven days
Active paid personal planup to one year
Unlimited-history planall history

Use period="week" on a Free account where the generated method exposes a period argument. Requests outside the account entitlement return 403 with code subscription-required.

Seven-day Free-plan example

The dashboard aggregate is automatically limited by the server. Project statistics explicitly request the weekly period.

import Analog_WakaTime_SDK
import asyncio
import json
import os


async def main() -> None:
configuration = Analog_WakaTime_SDK.Configuration(
access_token=os.environ["ANALOG_WAKATIME_API_TOKEN"],
)

async with Analog_WakaTime_SDK.ApiClient(configuration) as api_client:
statistics_api = Analog_WakaTime_SDK.StatisticsApi(api_client)

dashboard, projects = await asyncio.gather(
statistics_api.main_api_v1_get_my_dashboard_stats_get(),
statistics_api.main_api_v1_get_my_project_stats_get(period="week"),
)

result = {
"dashboard": dashboard.to_dict(),
"projects": [project.to_dict() for project in projects],
}
print(json.dumps(result, indent=2, default=str))


if __name__ == "__main__":
asyncio.run(main())

Dashboard aggregate

dashboard = await statistics_api.main_api_v1_get_my_dashboard_stats_get()

print(dashboard.total_time)
print(dashboard.total_lines)
print(dashboard.today_time)
print(dashboard.active_days)
print(dashboard.last_project)
print(dashboard.last_language)

Time values are measured in seconds.

Project statistics

projects = await statistics_api.main_api_v1_get_my_project_stats_get(
period="week",
)

for project in projects:
print(project.project_name, project.value, project.lines)

Daily language statistics

language_stats = await statistics_api.main_api_v1_get_my_language_stats_get()

for language in language_stats.languages or []:
print(language.language, language.time, language.lines)

Other statistics clients

StatisticsApi also contains generated operations for:

  • profile activity heatmaps
  • desktop-agent summary, timeline, hourly, platform, and program data
  • Android summary, timeline, hourly, app, and device data
  • recent desktop and Android activity

Use the same ApiClient and account token for those protected reads.