<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="pagespeedonline_v5.html">PageSpeed Insights API</a> . <a href="pagespeedonline_v5.pagespeedapi.html">pagespeedapi</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#runpagespeed">runpagespeed(utm_source=None, category=None, locale=None, url=None, utm_campaign=None, captchaToken=None, strategy=None, x__xgafv=None)</a></code></p>
<p class="firstline">Runs PageSpeed analysis on the page at the specified URL, and returns</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="runpagespeed">runpagespeed(utm_source=None, category=None, locale=None, url=None, utm_campaign=None, captchaToken=None, strategy=None, x__xgafv=None)</code>
  <pre>Runs PageSpeed analysis on the page at the specified URL, and returns
PageSpeed scores, a list of suggestions to make that page faster, and other
information.

Args:
  utm_source: string, Campaign source for analytics.
  category: string, A Lighthouse category to run; if none are given, only Performance category
will be run (repeated)
  locale: string, The locale used to localize formatted results
  url: string, The URL to fetch and analyze
  utm_campaign: string, Campaign name for analytics.
  captchaToken: string, The captcha token passed when filling out a captcha.
  strategy: string, The analysis strategy (desktop or mobile) to use, and desktop is the
default
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The Pagespeed API response object.
    &quot;version&quot;: { # The Pagespeed Version object. # The version of PageSpeed used to generate these results.
      &quot;major&quot;: &quot;A String&quot;, # The major version number of PageSpeed used to generate these results.
      &quot;minor&quot;: &quot;A String&quot;, # The minor version number of PageSpeed used to generate these results.
    },
    &quot;id&quot;: &quot;A String&quot;, # Canonicalized and final URL for the document, after following page
        # redirects (if any).
    &quot;originLoadingExperience&quot;: { # The CrUX loading experience object that contains CrUX data breakdowns. # Metrics of the aggregated page loading experience of the origin
      &quot;initial_url&quot;: &quot;A String&quot;, # The requested URL, which may differ from the resolved &quot;id&quot;.
      &quot;id&quot;: &quot;A String&quot;, # The url, pattern or origin which the metrics are on.
      &quot;metrics&quot;: { # The map of &lt;metrics, data&gt;.
        &quot;a_key&quot;: { # A CrUX metric object for a single metric and form factor.
          &quot;distributions&quot;: [ # Metric distributions. Proportions should sum up to 1.
            { # A proportion of data in the total distribution, bucketed by a min/max
                # percentage. Each bucket&#x27;s range is bounded by min &lt;= x &lt; max, In
                # millisecond.
              &quot;proportion&quot;: 3.14, # The proportion of data in this bucket.
              &quot;min&quot;: 42, # Lower bound for a bucket&#x27;s range.
              &quot;max&quot;: 42, # Upper bound for a bucket&#x27;s range.
            },
          ],
          &quot;metricId&quot;: &quot;A String&quot;, # Identifies the type of the metric.
          &quot;formFactor&quot;: &quot;A String&quot;, # Identifies the form factor of the metric being collected.
          &quot;median&quot;: 42, # The median number of the metric, in millisecond.
          &quot;percentile&quot;: 42, # We use this field to store certain percentile value for this metric.
              # For v4, this field contains pc50.
              # For v5, this field contains pc90.
          &quot;category&quot;: &quot;A String&quot;, # The category of the specific time metric.
        },
      },
      &quot;overall_category&quot;: &quot;A String&quot;, # The human readable speed &quot;category&quot; of the id.
    },
    &quot;kind&quot;: &quot;A String&quot;, # Kind of result.
    &quot;captchaResult&quot;: &quot;A String&quot;, # The captcha verify result
    &quot;lighthouseResult&quot;: { # The Lighthouse result object. # Lighthouse response for the audit url as an object.
      &quot;stackPacks&quot;: [ # The Stack Pack advice strings.
        { # Message containing Stack Pack information.
          &quot;title&quot;: &quot;A String&quot;, # The stack pack title.
          &quot;descriptions&quot;: { # The stack pack advice strings.
            &quot;a_key&quot;: &quot;A String&quot;,
          },
          &quot;iconDataURL&quot;: &quot;A String&quot;, # The stack pack icon data uri.
          &quot;id&quot;: &quot;A String&quot;, # The stack pack id.
        },
      ],
      &quot;categoryGroups&quot;: { # Map of category groups in the LHR.
        &quot;a_key&quot;: { # Message containing a category
          &quot;title&quot;: &quot;A String&quot;, # The human readable title of the group
          &quot;description&quot;: &quot;A String&quot;, # The description of what the category is grouping
        },
      },
      &quot;runtimeError&quot;: { # Message containing a runtime error config. # A top-level error message that, if present, indicates a serious enough
          # problem that this Lighthouse result may need to be discarded.
        &quot;code&quot;: &quot;A String&quot;, # The enumerated Lighthouse Error code.
        &quot;message&quot;: &quot;A String&quot;, # A human readable message explaining the error code.
      },
      &quot;fetchTime&quot;: &quot;A String&quot;, # The time that this run was fetched.
      &quot;requestedUrl&quot;: &quot;A String&quot;, # The original requested url.
      &quot;userAgent&quot;: &quot;A String&quot;, # The user agent that was used to run this LHR.
      &quot;configSettings&quot;: { # Message containing the configuration settings for the Lighthouse run. # The configuration settings for this LHR.
        &quot;onlyCategories&quot;: &quot;&quot;, # List of categories of audits the run should conduct.
        &quot;emulatedFormFactor&quot;: &quot;A String&quot;, # The form factor the emulation should use.
        &quot;locale&quot;: &quot;A String&quot;, # The locale setting.
        &quot;channel&quot;: &quot;A String&quot;, # How Lighthouse was run, e.g. from the Chrome extension or from the npm
            # module.
      },
      &quot;timing&quot;: { # Message containing the performance timing data for the Lighthouse run. # Timing information for this LHR.
        &quot;total&quot;: 3.14, # The total duration of Lighthouse&#x27;s run.
      },
      &quot;runWarnings&quot;: [ # List of all run warnings in the LHR.  Will always output to at least `[]`.
        &quot;&quot;,
      ],
      &quot;audits&quot;: { # Map of audits in the LHR.
        &quot;a_key&quot;: { # An audit&#x27;s result object in a Lighthouse result.
          &quot;warnings&quot;: &quot;&quot;, # Possible warnings that occurred in the audit, can be null.
          &quot;scoreDisplayMode&quot;: &quot;A String&quot;, # The enumerated score display mode.
          &quot;explanation&quot;: &quot;A String&quot;, # An explanation of the errors in the audit.
          &quot;details&quot;: { # Freeform details section of the audit.
            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
          },
          &quot;score&quot;: &quot;&quot;, # The score of the audit, can be null.
          &quot;errorMessage&quot;: &quot;A String&quot;, # An error message from a thrown error inside the audit.
          &quot;displayValue&quot;: &quot;A String&quot;, # The value that should be displayed on the UI for this audit.
          &quot;id&quot;: &quot;A String&quot;, # The audit&#x27;s id.
          &quot;numericValue&quot;: 3.14, # A numeric value that has a meaning specific to the audit, e.g. the number
              # of nodes in the DOM or the timestamp of a specific load event. More
              # information can be found in the audit details, if present.
          &quot;title&quot;: &quot;A String&quot;, # The human readable title.
          &quot;description&quot;: &quot;A String&quot;, # The description of the audit.
        },
      },
      &quot;environment&quot;: { # Message containing environment configuration for a Lighthouse run. # Environment settings that were used when making this LHR.
        &quot;networkUserAgent&quot;: &quot;A String&quot;, # The user agent string that was sent over the network.
        &quot;benchmarkIndex&quot;: 3.14, # The benchmark index number that indicates rough device class.
        &quot;hostUserAgent&quot;: &quot;A String&quot;, # The user agent string of the version of Chrome used.
      },
      &quot;finalUrl&quot;: &quot;A String&quot;, # The final resolved url that was audited.
      &quot;i18n&quot;: { # Message containing the i18n data for the LHR - Version 1. # The internationalization strings that are required to render the LHR.
        &quot;rendererFormattedStrings&quot;: { # Message holding the formatted strings used in the renderer. # Internationalized strings that are formatted to the locale in
            # configSettings.
          &quot;errorMissingAuditInfo&quot;: &quot;A String&quot;, # The error string shown next to an erroring audit.
          &quot;opportunityResourceColumnLabel&quot;: &quot;A String&quot;, # The heading for the estimated page load savings opportunity of an
              # audit.
          &quot;toplevelWarningsMessage&quot;: &quot;A String&quot;, # The label shown preceding important warnings that may have invalidated
              # an entire report.
          &quot;varianceDisclaimer&quot;: &quot;A String&quot;, # The disclaimer shown below a performance metric value.
          &quot;opportunitySavingsColumnLabel&quot;: &quot;A String&quot;, # The heading for the estimated page load savings of opportunity audits.
          &quot;crcInitialNavigation&quot;: &quot;A String&quot;, # The label for the initial request in a critical request chain.
          &quot;warningHeader&quot;: &quot;A String&quot;, # The label shown above a bulleted list of warnings.
          &quot;crcLongestDurationLabel&quot;: &quot;A String&quot;, # The label for values shown in the summary of critical request chains.
          &quot;manualAuditsGroupTitle&quot;: &quot;A String&quot;, # The heading shown above a list of audits that were not computerd in the
              # run.
          &quot;scorescaleLabel&quot;: &quot;A String&quot;, # The label that explains the score gauges scale (0-49, 50-89, 90-100).
          &quot;lsPerformanceCategoryDescription&quot;: &quot;A String&quot;, # The disclaimer shown under performance explaning that the network can
              # vary.
          &quot;errorLabel&quot;: &quot;A String&quot;, # The label shown next to an audit or metric that has had an error.
          &quot;notApplicableAuditsGroupTitle&quot;: &quot;A String&quot;, # The heading shown above a list of audits that do not apply to a page.
          &quot;labDataTitle&quot;: &quot;A String&quot;, # The title of the lab data performance category.
          &quot;passedAuditsGroupTitle&quot;: &quot;A String&quot;, # The heading that is shown above a list of audits that are passing.
          &quot;auditGroupExpandTooltip&quot;: &quot;A String&quot;, # The tooltip text on an expandable chevron icon.
        },
      },
      &quot;lighthouseVersion&quot;: &quot;A String&quot;, # The lighthouse version that was used to generate this LHR.
      &quot;categories&quot;: { # The categories in a Lighthouse run. # Map of categories in the LHR.
        &quot;best-practices&quot;: { # A Lighthouse category. # The best practices category, containing all best practices related
            # audits.
          &quot;score&quot;: &quot;&quot;, # The overall score of the category, the weighted average of all its audits.
              # (The category&#x27;s score, can be null.)
          &quot;id&quot;: &quot;A String&quot;, # The string identifier of the category.
          &quot;manualDescription&quot;: &quot;A String&quot;, # A description for the manual audits in the category.
          &quot;title&quot;: &quot;A String&quot;, # The human-friendly name of the category.
          &quot;description&quot;: &quot;A String&quot;, # A more detailed description of the category and its importance.
          &quot;auditRefs&quot;: [ # An array of references to all the audit members of this category.
            { # A light reference to an audit by id, used to group and weight audits in a
                # given category.
              &quot;weight&quot;: 3.14, # The weight this audit&#x27;s score has on the overall category score.
              &quot;id&quot;: &quot;A String&quot;, # The audit ref id.
              &quot;group&quot;: &quot;A String&quot;, # The category group that the audit belongs to (optional).
            },
          ],
        },
        &quot;pwa&quot;: { # A Lighthouse category. # The Progressive-Web-App (PWA) category, containing all pwa related
            # audits.
          &quot;score&quot;: &quot;&quot;, # The overall score of the category, the weighted average of all its audits.
              # (The category&#x27;s score, can be null.)
          &quot;id&quot;: &quot;A String&quot;, # The string identifier of the category.
          &quot;manualDescription&quot;: &quot;A String&quot;, # A description for the manual audits in the category.
          &quot;title&quot;: &quot;A String&quot;, # The human-friendly name of the category.
          &quot;description&quot;: &quot;A String&quot;, # A more detailed description of the category and its importance.
          &quot;auditRefs&quot;: [ # An array of references to all the audit members of this category.
            { # A light reference to an audit by id, used to group and weight audits in a
                # given category.
              &quot;weight&quot;: 3.14, # The weight this audit&#x27;s score has on the overall category score.
              &quot;id&quot;: &quot;A String&quot;, # The audit ref id.
              &quot;group&quot;: &quot;A String&quot;, # The category group that the audit belongs to (optional).
            },
          ],
        },
        &quot;accessibility&quot;: { # A Lighthouse category. # The accessibility category, containing all accessibility related audits.
          &quot;score&quot;: &quot;&quot;, # The overall score of the category, the weighted average of all its audits.
              # (The category&#x27;s score, can be null.)
          &quot;id&quot;: &quot;A String&quot;, # The string identifier of the category.
          &quot;manualDescription&quot;: &quot;A String&quot;, # A description for the manual audits in the category.
          &quot;title&quot;: &quot;A String&quot;, # The human-friendly name of the category.
          &quot;description&quot;: &quot;A String&quot;, # A more detailed description of the category and its importance.
          &quot;auditRefs&quot;: [ # An array of references to all the audit members of this category.
            { # A light reference to an audit by id, used to group and weight audits in a
                # given category.
              &quot;weight&quot;: 3.14, # The weight this audit&#x27;s score has on the overall category score.
              &quot;id&quot;: &quot;A String&quot;, # The audit ref id.
              &quot;group&quot;: &quot;A String&quot;, # The category group that the audit belongs to (optional).
            },
          ],
        },
        &quot;seo&quot;: { # A Lighthouse category. # The Search-Engine-Optimization (SEO) category, containing all seo related
            # audits.
          &quot;score&quot;: &quot;&quot;, # The overall score of the category, the weighted average of all its audits.
              # (The category&#x27;s score, can be null.)
          &quot;id&quot;: &quot;A String&quot;, # The string identifier of the category.
          &quot;manualDescription&quot;: &quot;A String&quot;, # A description for the manual audits in the category.
          &quot;title&quot;: &quot;A String&quot;, # The human-friendly name of the category.
          &quot;description&quot;: &quot;A String&quot;, # A more detailed description of the category and its importance.
          &quot;auditRefs&quot;: [ # An array of references to all the audit members of this category.
            { # A light reference to an audit by id, used to group and weight audits in a
                # given category.
              &quot;weight&quot;: 3.14, # The weight this audit&#x27;s score has on the overall category score.
              &quot;id&quot;: &quot;A String&quot;, # The audit ref id.
              &quot;group&quot;: &quot;A String&quot;, # The category group that the audit belongs to (optional).
            },
          ],
        },
        &quot;performance&quot;: { # A Lighthouse category. # The performance category, containing all performance related audits.
          &quot;score&quot;: &quot;&quot;, # The overall score of the category, the weighted average of all its audits.
              # (The category&#x27;s score, can be null.)
          &quot;id&quot;: &quot;A String&quot;, # The string identifier of the category.
          &quot;manualDescription&quot;: &quot;A String&quot;, # A description for the manual audits in the category.
          &quot;title&quot;: &quot;A String&quot;, # The human-friendly name of the category.
          &quot;description&quot;: &quot;A String&quot;, # A more detailed description of the category and its importance.
          &quot;auditRefs&quot;: [ # An array of references to all the audit members of this category.
            { # A light reference to an audit by id, used to group and weight audits in a
                # given category.
              &quot;weight&quot;: 3.14, # The weight this audit&#x27;s score has on the overall category score.
              &quot;id&quot;: &quot;A String&quot;, # The audit ref id.
              &quot;group&quot;: &quot;A String&quot;, # The category group that the audit belongs to (optional).
            },
          ],
        },
      },
    },
    &quot;analysisUTCTimestamp&quot;: &quot;A String&quot;, # The UTC timestamp of this analysis.
    &quot;loadingExperience&quot;: { # The CrUX loading experience object that contains CrUX data breakdowns. # Metrics of end users&#x27; page loading experience.
      &quot;initial_url&quot;: &quot;A String&quot;, # The requested URL, which may differ from the resolved &quot;id&quot;.
      &quot;id&quot;: &quot;A String&quot;, # The url, pattern or origin which the metrics are on.
      &quot;metrics&quot;: { # The map of &lt;metrics, data&gt;.
        &quot;a_key&quot;: { # A CrUX metric object for a single metric and form factor.
          &quot;distributions&quot;: [ # Metric distributions. Proportions should sum up to 1.
            { # A proportion of data in the total distribution, bucketed by a min/max
                # percentage. Each bucket&#x27;s range is bounded by min &lt;= x &lt; max, In
                # millisecond.
              &quot;proportion&quot;: 3.14, # The proportion of data in this bucket.
              &quot;min&quot;: 42, # Lower bound for a bucket&#x27;s range.
              &quot;max&quot;: 42, # Upper bound for a bucket&#x27;s range.
            },
          ],
          &quot;metricId&quot;: &quot;A String&quot;, # Identifies the type of the metric.
          &quot;formFactor&quot;: &quot;A String&quot;, # Identifies the form factor of the metric being collected.
          &quot;median&quot;: 42, # The median number of the metric, in millisecond.
          &quot;percentile&quot;: 42, # We use this field to store certain percentile value for this metric.
              # For v4, this field contains pc50.
              # For v5, this field contains pc90.
          &quot;category&quot;: &quot;A String&quot;, # The category of the specific time metric.
        },
      },
      &quot;overall_category&quot;: &quot;A String&quot;, # The human readable speed &quot;category&quot; of the id.
    },
  }</pre>
</div>

</body></html>