Readership Statistics

How We Collect our Readership Statistics

You might have noticed that we provide readership data for each of our books online, including the number of times each book has been viewed and the location of the readers. If you would like to know more about how this data is collected and where it comes from, read on!

Our readership data is composed of different measures obtained from different platforms:

PlatformMeasureGeographic informationUpdate frequency
OBP DownloadsBook downloadsYes*Daily
OBP HTML ReaderBook sessionsYesDaily
Google BooksBook visitsNoDaily
OBP PDF ReaderBook sessionsYesDaily **
Classics LibraryBook sessionsYesDaily
OAPENBook downloadsYesMonthly
Open EditionBook visitsNoMonthly
Open EditionBook downloadsNoMonthly
World ReaderBook usersYesMonthly ***
Unglue.itBook downloadsNoQuarterly
Internet ArchiveBook visitsNoQuarterly
KindleBook downloadsNoQuarterly

* OBP Downloads include geographic information from November 2021 onwards.
** OBP PDF reader was not implemented for books published from July 2021 onwards, and was finally deprecated for all books in September 2021.
*** World Reader has not provided us with usage stats since early 2020. Since March 2023, World Reader is no longer hosting academic books.

A Book Session is a group of visits made by the same user within a continuous time frame. To record these sessions we use Google Analytics, and a session lasts until there are 30 minutes of inactivity; if a single user keeps interacting with the website within this time frame, multiple visits to the same book will be counted as one session. For more information on Google Analytics’ definition of a session read: How a web session is defined in Analytics.

It is important to note that we use Google Analytics’ measure for a Book Session rather than an alternative such as COUNTER, because Google Analytics has a stricter measure for the length of a Book Session. COUNTER has a much shorter time frame for a single Session, and therefore records more Sessions than Google Analytics. We do collect data for our books that would meet COUNTER's measures, but we don’t record it publicly. For more information about COUNTER see:

Find more information on how Google Books records traffic.

Book Visits represent the total number of times a book has been accessed. This can include multiple visits by the same IP address, which are counted as separate visits.

Book Downloads represent the total number of times a book has been downloaded. In addition to the download data we receive from, we collect free ebook download data from other platforms including our own website, Kindle, Google Play, etc, and we add these into the statistics we report. However, these download figures are calculated slightly differently on each platform, depending on whether repeat downloads to the same IP address in quick succession are counted as two downloads or one. As with Book Sessions, we err on the side of the lower figure wherever possible.

Geographic information: most platforms do not provide geographic information about the users accessing their content, and some people configure their browsers to block any third party tracking scripts attempting to collect such information (e.g., Google Analytics). For these reasons we are only able to provide readership data by country for a small percentage of our total figures - about 40%.

We try to provide as complete a picture as possible about the number of times our books have been freely accessed, as well as the location of the readers, because this information helps to demonstrate the value of Open Access publishing.

Further reading

Metrics API

You may query all our usage stats via our REST API:

The open source software that powers the API was developed by OBP for the HIRMEOS project. The OPERAS consortium runs its own metrics API, to which we also contribute all our stats, at

API routes

We allow the following methos on the API:

GET/measuresList the descriptions of the measures available in the API
GET/eventsRetrieves the measures from the API with various parameters, see below

GET /events parameters

When retrieving measures, you can (and should) provide some parameters to the request, they can be seen below:

aggregationThe results can be aggregated on certain values, i.e. aggregation on measure_uri. Aggregation must be one of the following: empty, measure_uri,country_uri, year,measure_uri, measure_uri,month, month,measure_uri, measure_uri,year, country_uri,measure_uri, measure_uri.
filterMany different options can be used in the filter, i.e. filtering on measure_uri or on work_uri. Those can be together or even used multiple times by separating them with a comma ","