<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="cloudsearch_v1.html">Cloud Search API</a> . <a href="cloudsearch_v1.stats.html">stats</a> . <a href="cloudsearch_v1.stats.index.html">index</a> . <a href="cloudsearch_v1.stats.index.datasources.html">datasources</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(name, fromDate_year=None, toDate_day=None, toDate_month=None, toDate_year=None, fromDate_month=None, fromDate_day=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets indexed item statistics for a single data source.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(name, fromDate_year=None, toDate_day=None, toDate_month=None, toDate_year=None, fromDate_month=None, fromDate_day=None, x__xgafv=None)</code>
  <pre>Gets indexed item statistics for a single data source.

**Note:** This API requires a standard end user account to execute.

Args:
  name: string, The resource id of the data source to retrieve statistics for,
in the following format: &quot;datasources/{source_id}&quot; (required)
  fromDate_year: integer, Year of date. Must be from 1 to 9999.
  toDate_day: integer, Day of month. Must be from 1 to 31 and valid for the year and month.
  toDate_month: integer, Month of date. Must be from 1 to 12.
  toDate_year: integer, Year of date. Must be from 1 to 9999.
  fromDate_month: integer, Month of date. Must be from 1 to 12.
  fromDate_day: integer, Day of month. Must be from 1 to 31 and valid for the year and month.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
    &quot;stats&quot;: [ # Summary of indexed item counts, one for each day in the requested range.
      { # Aggregation of items by status code as of the specified date.
        &quot;date&quot;: { # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999. # Date for which index stats were calculated. If the date of request is not
            # the current date then stats calculated on the next day are returned. Stats
            # are calculated close to mid night in this case. If date of request is
            # current date, then real time stats are returned.
          &quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
          &quot;year&quot;: 42, # Year of date. Must be from 1 to 9999.
          &quot;month&quot;: 42, # Month of date. Must be from 1 to 12.
        },
        &quot;itemCountByStatus&quot;: [ # Number of items aggregrated by status code.
          {
            &quot;count&quot;: &quot;A String&quot;, # Number of items matching the status code.
            &quot;statusCode&quot;: &quot;A String&quot;, # Status of the items.
          },
        ],
      },
    ],
  }</pre>
</div>

</body></html>