---
title: "Reporting"
slug: "reporting"
abstract: ""
---
# Reporting

There are three parts to Sitecore’s reporting infrastructure:

- The Reporting database, which is populated by the [interaction aggregation pipeline](https://doc.sitecore.com/xp/en/developers/92/sitecore-experience-platform/interaction-aggregation.html "Interaction aggregation").
- A Reporting API, which is used by the Content Management server to populate Experience Analytics reports.
- The Reporting Service, which is an optional but recommended core role that sits in between clients and the reporting database.

There are three ways to access the Reporting database:

- Use T-SQL directly.
- Use the Reporting API without a Reporting Service, in which case the request is sent directly to SQL via a provider
- Use the Reporting API with a Reporting Service, in which case the request is sent over HTTPS

In a Sitecore context, it is strongly recommended that you use the Reporting API. Configuration determines whether the request is sent to a dedicated Reporting Service server or goes directly to the reporting database. Refer to the Architecture and Roles guide to see how reporting fits into the platform as a whole.

## xConnect and reporting

Reporting is not a function of xConnect and reporting functionality is not part of the xConnect Client API. However, the xConnect Client API is used to populate parts of the Experience Profile.