Skip to main content

Content Reporting

Showpad's Content Reporting API service will let you download raw data as a CSV or JSON file so you can use it in your own Business Intelligence (BI) solution, combine it with other data sources, and run custom analysis on it.

The CSV returned by the API service is more granular than the reports you see in the Online Platform (OP) and will return all the raw data.

The structure of Content Reporting is detailed in the image below:

Content Reporting Diagram

You'll typically use the Events call to return the sharing data you need to relate with other export tables. You'll find more details on each of the tables below.

Explanation of all 22 export tables

EventsAll events of a user or recipient.Main fact table. All the other tables are lookup tables with more information. See table underneath to see which lookup table is relevant for what event type.
UsersList of users.
UsergroupsList of user groups.
User-usergroupsMany to many relation between users and usergroups.
DevicesList of devices used.Can be the device of the user or the device of the contact depending on relevant event type
SharesList of shares. Every message sent out to prospects is a share.One share can contain multiple assets.
SharedspacesAll shared spaces created in the account.
SharedspaceparticipantsParticipants of a shared space.All participants are created as users.
Sharedspace-itemsAsset items located in a shared space.
ContactsThe contacts you send to.
DivisionsDivision the asset belongs to.Assets belong to a library (which is a division). Instances can have one or more divisions. Personal files of users are also a division that is only accessible by those users.
Division_usergroupsUsergroups assigned to a division.If you want to report by divisions, this is the only correct relation for which users belong to which division.
ChannelsList of experiences the asset was opened in. In the past an experience was called a channel.This is only recorded for classic experiences and simple folders (not smart folders).
Channel-usergroupsUsergroups assigned to an experience
Channel-usersUsers assigned to an experience
AssetsList of assets.
Asset-authorsList of authors for assets.Authors are also users so the author info is found in the users call.
Asset-countriesList of asset countries.
Asset-languagesList of languages assigned for an asset.
TagsList of tags.
Asset-tagsMany to many relation between assets and tags.
TagcategoriesList of tag categories.Tags can be grouped in one or more categories. Categories can be grouped in other categories.
Tagcategory-tagsMany to many relation between tag categories and tags.
CollectionsList of user collections.
Collection-itemsList of assets within a collection.



The events call is the central table for the Content Reporting API service. All content-related actions a user can take are tracked as events in this table. All other (lookup) tables relate to the Events fact table.


API Endpoint: GET https://{subdomain)


startedAtstringYYYY-MM-DD | YYYY-MM-DD HH:mm:ssOnly include events that happened after this date.
endedAtstringYYYY-MM-DD | YYYY-MM-DD HH:mm:ssOnly include events that happened before this date.
loggedBeforestringYYYY-MM-DD | YYYY-MM-DD HH:mm:ssOnly include events that have been logged to Showpad before this date (for offline use, this is when the device comes online).
loggedAfterstringYYYY-MM-DD | YYYY-MM-DD HH:mm:ssOnly include events that have been logged to Showpad after this date (for offline use, this is when the device comes online).
pageBasedbooleantrue | falseInclude page-based information in events.
userIdstringOnly include events for a specified user by user ID.
eventTypestringOnly include events with the specified event type. You can list multiple event types by separating them by a comma.
limitintegerint32Sets the maximum number of returned items. The maximum limit is set to 1000. For example, if limit is 50, only 50 items will be retrieved.

An exhaustive overview of all event types can be found here.

Cycle your requests to pull larger batches of data

By default, the maximum number of returned items with the Events call is set to 500. You can use the limit parameter to change this to any value between 50 and 1000.

For larger volumes of data, we include a header in the response, called X-Showpad-Scroll-Id which contains a token. If you make the same request again but set this header on your second request, the events call will return the second batch of requests.

The second reponse will contain another X-Showpad-Scroll-Id header which you can then use to fetch the third batch of requests, and so on. The X-Showpad-Scroll-Id is not changed with every new response but it is valid for a limited time. We recommend always using the scroll id from your most recent response in your next call.

You can loop your requests this way until all data is fetched. Once the response contains no more events, this indicates that no more data can be fetched.

Lookup Table Relations

All other export calls are related to the central events table. You can find a full overview of all the lookup tables and the fields in this page.

Example Queries

If you are looking for example queries for most common use cases, please check this article out.