Statistics
All private statistics are scoped to the authenticated user and the history entitlement of that account.
History limits
| Account access | Available history |
|---|---|
| Free | most recent seven days |
| Active paid personal plan | up to one year |
| Unlimited-history plan | all 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.