# AdSense Host API . reports

## Instance Methods

Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.

### Method Details

`generate(startDate, endDate, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)`

    Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.

    Args:
      startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
      endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
      sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
      locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
      metric: string, Numeric columns to include in the report. (repeated)
      maxResults: integer, The maximum number of rows of report data to return.
      dimension: string, Dimensions to base the report on. (repeated)
      startIndex: integer, Index of the first row of report data to return.
      filter: string, Filters to be run on the report. (repeated)

    Returns:
      An object of the form:

        {
        "kind": "adsensehost#report", # Kind this is, in this case adsensehost#report.
        "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
          [
            "A String",
          ],
        ],
        "warnings": [ # Any warnings associated with generation of the report.
          "A String",
        ],
        "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
          "A String",
        ],
        "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
          {
            "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
            "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
            "name": "A String", # The name of the header.
          },
        ],
        "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
        "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
          "A String",
        ],
      }