<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="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#runpagespeed">runpagespeed(url, captchaToken=None, category=None, locale=None, strategy=None, utm_campaign=None, utm_source=None, x__xgafv=None)</a></code></p>
<p class="firstline">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.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="runpagespeed">runpagespeed(url, captchaToken=None, category=None, locale=None, strategy=None, utm_campaign=None, utm_source=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:
  url: string, Required. The URL to fetch and analyze (required)
  captchaToken: string, The captcha token passed when filling out a captcha.
  category: string, A Lighthouse category to run; if none are given, only Performance category will be run (repeated)
    Allowed values
      CATEGORY_UNSPECIFIED - Default UNDEFINED category.
      ACCESSIBILITY - Accessibility (a11y), category pertaining to a website&#x27;s capacity to be accessible to all users.
      BEST_PRACTICES - Best Practices, category pertaining to a website&#x27;s conformance to web best practice.
      PERFORMANCE - Performance, category pertaining to a website&#x27;s performance.
      PWA - Progressive Web App (PWA), category pertaining to a website&#x27;s ability to be run as a PWA.
      SEO - Search Engine Optimization (SEO), category pertaining to a website&#x27;s ability to be indexed by search engines.
  locale: string, The locale used to localize formatted results
  strategy: string, The analysis strategy (desktop or mobile) to use, and desktop is the default
    Allowed values
      STRATEGY_UNSPECIFIED - UNDEFINED.
      DESKTOP - Fetch and analyze the URL for desktop browsers.
      MOBILE - Fetch and analyze the URL for mobile devices.
  utm_campaign: string, Campaign name for analytics.
  utm_source: string, Campaign source for analytics.
  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;analysisUTCTimestamp&quot;: &quot;A String&quot;, # The UTC timestamp of this analysis.
  &quot;captchaResult&quot;: &quot;A String&quot;, # The captcha verify result
  &quot;id&quot;: &quot;A String&quot;, # Canonicalized and final URL for the document, after following page redirects (if any).
  &quot;kind&quot;: &quot;A String&quot;, # Kind of result.
  &quot;lighthouseResult&quot;: { # The Lighthouse result object. # Lighthouse response for the audit url as an object.
    &quot;audits&quot;: { # Map of audits in the LHR.
      &quot;a_key&quot;: { # An audit&#x27;s result object in a Lighthouse result.
        &quot;description&quot;: &quot;A String&quot;, # The description of the audit.
        &quot;details&quot;: { # Freeform details section of the audit.
          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
        },
        &quot;displayValue&quot;: &quot;A String&quot;, # The value that should be displayed on the UI for this audit.
        &quot;errorMessage&quot;: &quot;A String&quot;, # An error message from a thrown error inside the audit.
        &quot;explanation&quot;: &quot;A String&quot;, # An explanation of the errors in the audit.
        &quot;id&quot;: &quot;A String&quot;, # The audit&#x27;s id.
        &quot;numericUnit&quot;: &quot;A String&quot;, # The unit of the numeric_value field. Used to format the numeric value for display.
        &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;score&quot;: &quot;&quot;, # The score of the audit, can be null.
        &quot;scoreDisplayMode&quot;: &quot;A String&quot;, # The enumerated score display mode.
        &quot;title&quot;: &quot;A String&quot;, # The human readable title.
        &quot;warnings&quot;: &quot;&quot;, # Possible warnings that occurred in the audit, can be null.
      },
    },
    &quot;categories&quot;: { # The categories in a Lighthouse run. # Map of categories in the LHR.
      &quot;accessibility&quot;: { # A Lighthouse category. # The accessibility category, containing all accessibility related audits.
        &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;acronym&quot;: &quot;A String&quot;, # The conventional acronym for the audit/metric.
            &quot;group&quot;: &quot;A String&quot;, # The category group that the audit belongs to (optional).
            &quot;id&quot;: &quot;A String&quot;, # The audit ref id.
            &quot;relevantAudits&quot;: [ # Any audit IDs closely relevant to this one.
              &quot;A String&quot;,
            ],
            &quot;weight&quot;: 3.14, # The weight this audit&#x27;s score has on the overall category score.
          },
        ],
        &quot;description&quot;: &quot;A String&quot;, # A more detailed description of the category and its importance.
        &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;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;title&quot;: &quot;A String&quot;, # The human-friendly name of the category.
      },
      &quot;best-practices&quot;: { # A Lighthouse category. # The best practices category, containing all best practices related audits.
        &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;acronym&quot;: &quot;A String&quot;, # The conventional acronym for the audit/metric.
            &quot;group&quot;: &quot;A String&quot;, # The category group that the audit belongs to (optional).
            &quot;id&quot;: &quot;A String&quot;, # The audit ref id.
            &quot;relevantAudits&quot;: [ # Any audit IDs closely relevant to this one.
              &quot;A String&quot;,
            ],
            &quot;weight&quot;: 3.14, # The weight this audit&#x27;s score has on the overall category score.
          },
        ],
        &quot;description&quot;: &quot;A String&quot;, # A more detailed description of the category and its importance.
        &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;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;title&quot;: &quot;A String&quot;, # The human-friendly name of the category.
      },
      &quot;performance&quot;: { # A Lighthouse category. # The performance category, containing all performance related audits.
        &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;acronym&quot;: &quot;A String&quot;, # The conventional acronym for the audit/metric.
            &quot;group&quot;: &quot;A String&quot;, # The category group that the audit belongs to (optional).
            &quot;id&quot;: &quot;A String&quot;, # The audit ref id.
            &quot;relevantAudits&quot;: [ # Any audit IDs closely relevant to this one.
              &quot;A String&quot;,
            ],
            &quot;weight&quot;: 3.14, # The weight this audit&#x27;s score has on the overall category score.
          },
        ],
        &quot;description&quot;: &quot;A String&quot;, # A more detailed description of the category and its importance.
        &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;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;title&quot;: &quot;A String&quot;, # The human-friendly name of the category.
      },
      &quot;pwa&quot;: { # A Lighthouse category. # The Progressive-Web-App (PWA) category, containing all pwa related audits.
        &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;acronym&quot;: &quot;A String&quot;, # The conventional acronym for the audit/metric.
            &quot;group&quot;: &quot;A String&quot;, # The category group that the audit belongs to (optional).
            &quot;id&quot;: &quot;A String&quot;, # The audit ref id.
            &quot;relevantAudits&quot;: [ # Any audit IDs closely relevant to this one.
              &quot;A String&quot;,
            ],
            &quot;weight&quot;: 3.14, # The weight this audit&#x27;s score has on the overall category score.
          },
        ],
        &quot;description&quot;: &quot;A String&quot;, # A more detailed description of the category and its importance.
        &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;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;title&quot;: &quot;A String&quot;, # The human-friendly name of the category.
      },
      &quot;seo&quot;: { # A Lighthouse category. # The Search-Engine-Optimization (SEO) category, containing all seo related audits.
        &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;acronym&quot;: &quot;A String&quot;, # The conventional acronym for the audit/metric.
            &quot;group&quot;: &quot;A String&quot;, # The category group that the audit belongs to (optional).
            &quot;id&quot;: &quot;A String&quot;, # The audit ref id.
            &quot;relevantAudits&quot;: [ # Any audit IDs closely relevant to this one.
              &quot;A String&quot;,
            ],
            &quot;weight&quot;: 3.14, # The weight this audit&#x27;s score has on the overall category score.
          },
        ],
        &quot;description&quot;: &quot;A String&quot;, # A more detailed description of the category and its importance.
        &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;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;title&quot;: &quot;A String&quot;, # The human-friendly name of the category.
      },
    },
    &quot;categoryGroups&quot;: { # Map of category groups in the LHR.
      &quot;a_key&quot;: { # Message containing a category
        &quot;description&quot;: &quot;A String&quot;, # The description of what the category is grouping
        &quot;title&quot;: &quot;A String&quot;, # The human readable title of the group
      },
    },
    &quot;configSettings&quot;: { # Message containing the configuration settings for the Lighthouse run. # The configuration settings for this LHR.
      &quot;channel&quot;: &quot;A String&quot;, # How Lighthouse was run, e.g. from the Chrome extension or from the npm module.
      &quot;emulatedFormFactor&quot;: &quot;A String&quot;, # The form factor the emulation should use. This field is deprecated, form_factor should be used instead.
      &quot;formFactor&quot;: &quot;A String&quot;, # How Lighthouse should interpret this run in regards to scoring performance metrics and skipping mobile-only tests in desktop.
      &quot;locale&quot;: &quot;A String&quot;, # The locale setting.
      &quot;onlyCategories&quot;: &quot;&quot;, # List of categories of audits the run should conduct.
    },
    &quot;environment&quot;: { # Message containing environment configuration for a Lighthouse run. # Environment settings that were used when making this LHR.
      &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;networkUserAgent&quot;: &quot;A String&quot;, # The user agent string that was sent over the network.
    },
    &quot;fetchTime&quot;: &quot;A String&quot;, # The time that this run was fetched.
    &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;auditGroupExpandTooltip&quot;: &quot;A String&quot;, # The tooltip text on an expandable chevron icon.
        &quot;calculatorLink&quot;: &quot;A String&quot;, # Text link pointing to the Lighthouse scoring calculator. This link immediately follows a sentence stating the performance score is calculated from the perf metrics.
        &quot;crcInitialNavigation&quot;: &quot;A String&quot;, # The label for the initial request in a critical request chain.
        &quot;crcLongestDurationLabel&quot;: &quot;A String&quot;, # The label for values shown in the summary of critical request chains.
        &quot;dropdownCopyJSON&quot;: &quot;A String&quot;, # Option in a dropdown menu that copies the Lighthouse JSON object to the system clipboard.
        &quot;dropdownDarkTheme&quot;: &quot;A String&quot;, # Option in a dropdown menu that toggles the themeing of the report between Light(default) and Dark themes.
        &quot;dropdownPrintExpanded&quot;: &quot;A String&quot;, # Option in a dropdown menu that opens a full Lighthouse report in a print dialog.
        &quot;dropdownPrintSummary&quot;: &quot;A String&quot;, # Option in a dropdown menu that opens a small, summary report in a print dialog.
        &quot;dropdownSaveGist&quot;: &quot;A String&quot;, # Option in a dropdown menu that saves the current report as a new GitHub Gist.
        &quot;dropdownSaveHTML&quot;: &quot;A String&quot;, # Option in a dropdown menu that saves the Lighthouse report HTML locally to the system as a &#x27;.html&#x27; file.
        &quot;dropdownSaveJSON&quot;: &quot;A String&quot;, # Option in a dropdown menu that saves the Lighthouse JSON object to the local system as a &#x27;.json&#x27; file.
        &quot;dropdownViewer&quot;: &quot;A String&quot;, # Option in a dropdown menu that opens the current report in the Lighthouse Viewer Application.
        &quot;errorLabel&quot;: &quot;A String&quot;, # The label shown next to an audit or metric that has had an error.
        &quot;errorMissingAuditInfo&quot;: &quot;A String&quot;, # The error string shown next to an erroring audit.
        &quot;footerIssue&quot;: &quot;A String&quot;, # Label for button to create an issue against the Lighthouse GitHub project.
        &quot;labDataTitle&quot;: &quot;A String&quot;, # The title of the lab data performance category.
        &quot;lsPerformanceCategoryDescription&quot;: &quot;A String&quot;, # The disclaimer shown under performance explaining that the network can vary.
        &quot;manualAuditsGroupTitle&quot;: &quot;A String&quot;, # The heading shown above a list of audits that were not computerd in the run.
        &quot;notApplicableAuditsGroupTitle&quot;: &quot;A String&quot;, # The heading shown above a list of audits that do not apply to a page.
        &quot;opportunityResourceColumnLabel&quot;: &quot;A String&quot;, # The heading for the estimated page load savings opportunity of an audit.
        &quot;opportunitySavingsColumnLabel&quot;: &quot;A String&quot;, # The heading for the estimated page load savings of opportunity audits.
        &quot;passedAuditsGroupTitle&quot;: &quot;A String&quot;, # The heading that is shown above a list of audits that are passing.
        &quot;runtimeDesktopEmulation&quot;: &quot;A String&quot;, # Descriptive explanation for emulation setting when emulating a generic desktop form factor, as opposed to a mobile-device like form factor.
        &quot;runtimeMobileEmulation&quot;: &quot;A String&quot;, # Descriptive explanation for emulation setting when emulating a Nexus 5X mobile device.
        &quot;runtimeNoEmulation&quot;: &quot;A String&quot;, # Descriptive explanation for emulation setting when no device emulation is set.
        &quot;runtimeSettingsAxeVersion&quot;: &quot;A String&quot;, # Label for a row in a table that shows the version of the Axe library used
        &quot;runtimeSettingsBenchmark&quot;: &quot;A String&quot;, # Label for a row in a table that shows the estimated CPU power of the machine running Lighthouse. Example row values: 532, 1492, 783.
        &quot;runtimeSettingsCPUThrottling&quot;: &quot;A String&quot;, # Label for a row in a table that describes the CPU throttling conditions that were used during a Lighthouse run, if any.
        &quot;runtimeSettingsChannel&quot;: &quot;A String&quot;, # Label for a row in a table that shows in what tool Lighthouse is being run (e.g. The lighthouse CLI, Chrome DevTools, Lightrider, WebPageTest, etc).
        &quot;runtimeSettingsDevice&quot;: &quot;A String&quot;, # Label for a row in a table that describes the kind of device that was emulated for the Lighthouse run. Example values for row elements: &#x27;No Emulation&#x27;, &#x27;Emulated Desktop&#x27;, etc.
        &quot;runtimeSettingsFetchTime&quot;: &quot;A String&quot;, # Label for a row in a table that shows the time at which a Lighthouse run was conducted; formatted as a timestamp, e.g. Jan 1, 1970 12:00 AM UTC.
        &quot;runtimeSettingsNetworkThrottling&quot;: &quot;A String&quot;, # Label for a row in a table that describes the network throttling conditions that were used during a Lighthouse run, if any.
        &quot;runtimeSettingsTitle&quot;: &quot;A String&quot;, # Title of the Runtime settings table in a Lighthouse report. Runtime settings are the environment configurations that a specific report used at auditing time.
        &quot;runtimeSettingsUA&quot;: &quot;A String&quot;, # Label for a row in a table that shows the User Agent that was detected on the Host machine that ran Lighthouse.
        &quot;runtimeSettingsUANetwork&quot;: &quot;A String&quot;, # Label for a row in a table that shows the User Agent that was used to send out all network requests during the Lighthouse run.
        &quot;runtimeSettingsUrl&quot;: &quot;A String&quot;, # Label for a row in a table that shows the URL that was audited during a Lighthouse run.
        &quot;runtimeUnknown&quot;: &quot;A String&quot;, # Descriptive explanation for a runtime setting that is set to an unknown value.
        &quot;scorescaleLabel&quot;: &quot;A String&quot;, # The label that explains the score gauges scale (0-49, 50-89, 90-100).
        &quot;showRelevantAudits&quot;: &quot;A String&quot;, # Label preceding a radio control for filtering the list of audits. The radio choices are various performance metrics (FCP, LCP, TBT), and if chosen, the audits in the report are hidden if they are not relevant to the selected metric.
        &quot;snippetCollapseButtonLabel&quot;: &quot;A String&quot;, # The label for the button to show only a few lines of a snippet
        &quot;snippetExpandButtonLabel&quot;: &quot;A String&quot;, # The label for the button to show all lines of a snippet
        &quot;thirdPartyResourcesLabel&quot;: &quot;A String&quot;, # This label is for a filter checkbox above a table of items
        &quot;throttlingProvided&quot;: &quot;A String&quot;, # Descriptive explanation for environment throttling that was provided by the runtime environment instead of provided by Lighthouse throttling.
        &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;viewTreemapLabel&quot;: &quot;A String&quot;, # Label for a button that opens the Treemap App
        &quot;warningAuditsGroupTitle&quot;: &quot;A String&quot;, # The heading that is shown above a list of audits that have warnings
        &quot;warningHeader&quot;: &quot;A String&quot;, # The label shown above a bulleted list of warnings.
      },
    },
    &quot;lighthouseVersion&quot;: &quot;A String&quot;, # The lighthouse version that was used to generate this LHR.
    &quot;requestedUrl&quot;: &quot;A String&quot;, # The original requested url.
    &quot;runWarnings&quot;: [ # List of all run warnings in the LHR. Will always output to at least `[]`.
      &quot;&quot;,
    ],
    &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;stackPacks&quot;: [ # The Stack Pack advice strings.
      { # Message containing Stack Pack information.
        &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;title&quot;: &quot;A String&quot;, # The stack pack title.
      },
    ],
    &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;userAgent&quot;: &quot;A String&quot;, # The user agent that was used to run this LHR.
  },
  &quot;loadingExperience&quot;: { # The CrUX loading experience object that contains CrUX data breakdowns. # Metrics of end users&#x27; page loading experience.
    &quot;id&quot;: &quot;A String&quot;, # The url, pattern or origin which the metrics are on.
    &quot;initial_url&quot;: &quot;A String&quot;, # The requested URL, which may differ from the resolved &quot;id&quot;.
    &quot;metrics&quot;: { # The map of .
      &quot;a_key&quot;: { # A CrUX metric object for a single metric and form factor.
        &quot;category&quot;: &quot;A String&quot;, # The category of the specific time metric.
        &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;max&quot;: 42, # Upper bound for a bucket&#x27;s range.
            &quot;min&quot;: 42, # Lower bound for a bucket&#x27;s range.
            &quot;proportion&quot;: 3.14, # The proportion of data in this bucket.
          },
        ],
        &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;metricId&quot;: &quot;A String&quot;, # Identifies the type of the metric.
        &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;origin_fallback&quot;: True or False, # True if the result is an origin fallback from a page, false otherwise.
    &quot;overall_category&quot;: &quot;A String&quot;, # The human readable speed &quot;category&quot; of the id.
  },
  &quot;originLoadingExperience&quot;: { # The CrUX loading experience object that contains CrUX data breakdowns. # Metrics of the aggregated page loading experience of the origin
    &quot;id&quot;: &quot;A String&quot;, # The url, pattern or origin which the metrics are on.
    &quot;initial_url&quot;: &quot;A String&quot;, # The requested URL, which may differ from the resolved &quot;id&quot;.
    &quot;metrics&quot;: { # The map of .
      &quot;a_key&quot;: { # A CrUX metric object for a single metric and form factor.
        &quot;category&quot;: &quot;A String&quot;, # The category of the specific time metric.
        &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;max&quot;: 42, # Upper bound for a bucket&#x27;s range.
            &quot;min&quot;: 42, # Lower bound for a bucket&#x27;s range.
            &quot;proportion&quot;: 3.14, # The proportion of data in this bucket.
          },
        ],
        &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;metricId&quot;: &quot;A String&quot;, # Identifies the type of the metric.
        &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;origin_fallback&quot;: True or False, # True if the result is an origin fallback from a page, false otherwise.
    &quot;overall_category&quot;: &quot;A String&quot;, # The human readable speed &quot;category&quot; of the id.
  },
  &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.
  },
}</pre>
</div>

</body></html>