Skip to content

Get reading statistics

GET
/api/stats

Returns reading analytics for the stats page: finished-book counts, genre distribution, reading streak, average finish time, yearly pages-read heatmap, books finished per month, reading velocity (7-day moving avg), top authors, days-to-finish histogram, and library growth.

Parameters

Query Parameters

year

Calendar year for the daily-pages heatmap (YYYY). Defaults to the current year.

Type
integer
Example2026
Minimum
1970
Maximum
2100

Responses

Reading statistics

application/json
JSON
{
  
"booksFinished": {
  
  
"allTime": 0,
  
  
"thisYear": 0,
  
  
"thisMonth": 0
  
},
  
"genreDistribution": [
  
  
{
  
  
  
"genre": "string",
  
  
  
"count": 0
  
  
}
  
],
  
"streak": {
  
  
"current": 0,
  
  
"longest": 0
  
},
  
"avgDaysToFinish": 0,
  
"pagesHeatmap": {
  
  
"year": 0,
  
  
"days": [
  
  
  
{
  
  
  
  
"day": "string",
  
  
  
  
"pages": 0
  
  
  
}
  
  
]
  
},
  
"finishedPerMonth": [
  
  
{
  
  
  
"month": "string",
  
  
  
"count": 0
  
  
}
  
],
  
"readingVelocity": [
  
  
{
  
  
  
"day": "string",
  
  
  
"avgPages": 0
  
  
}
  
],
  
"topAuthors": [
  
  
{
  
  
  
"author": "string",
  
  
  
"count": 0
  
  
}
  
],
  
"daysToFinishBuckets": [
  
  
{
  
  
  
"bucket": "string",
  
  
  
"count": 0
  
  
}
  
],
  
"libraryGrowth": [
  
  
{
  
  
  
"month": "string",
  
  
  
"cumulative": 0
  
  
}
  
]
}

Samples