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.