1{ 2 "basePath": "/pagespeedonline/v5/", 3 "baseUrl": "https://www.googleapis.com/pagespeedonline/v5/", 4 "batchPath": "batch/pagespeedonline/v5", 5 "description": "Analyzes the performance of a web page and provides tailored suggestions to make that page faster.", 6 "discoveryVersion": "v1", 7 "documentationLink": "https://developers.google.com/speed/docs/insights/v5/get-started", 8 "etag": "\"F5McR9eEaw0XRpaO3M9gbIugkbs/0NYpZPBBXGhzfbqEP9bLgGyZsRk\"", 9 "icons": { 10 "x16": "https://www.google.com/images/icons/product/pagespeed-16.png", 11 "x32": "https://www.google.com/images/icons/product/pagespeed-32.png" 12 }, 13 "id": "pagespeedonline:v5", 14 "kind": "discovery#restDescription", 15 "name": "pagespeedonline", 16 "ownerDomain": "google.com", 17 "ownerName": "Google", 18 "parameters": { 19 "alt": { 20 "default": "json", 21 "description": "Data format for the response.", 22 "enum": [ 23 "json" 24 ], 25 "enumDescriptions": [ 26 "Responses with Content-Type of application/json" 27 ], 28 "location": "query", 29 "type": "string" 30 }, 31 "fields": { 32 "description": "Selector specifying which fields to include in a partial response.", 33 "location": "query", 34 "type": "string" 35 }, 36 "key": { 37 "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", 38 "location": "query", 39 "type": "string" 40 }, 41 "oauth_token": { 42 "description": "OAuth 2.0 token for the current user.", 43 "location": "query", 44 "type": "string" 45 }, 46 "prettyPrint": { 47 "default": "true", 48 "description": "Returns response with indentations and line breaks.", 49 "location": "query", 50 "type": "boolean" 51 }, 52 "quotaUser": { 53 "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", 54 "location": "query", 55 "type": "string" 56 }, 57 "userIp": { 58 "description": "Deprecated. Please use quotaUser instead.", 59 "location": "query", 60 "type": "string" 61 } 62 }, 63 "protocol": "rest", 64 "resources": { 65 "pagespeedapi": { 66 "methods": { 67 "runpagespeed": { 68 "description": "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.", 69 "httpMethod": "GET", 70 "id": "pagespeedonline.pagespeedapi.runpagespeed", 71 "parameterOrder": [ 72 "url" 73 ], 74 "parameters": { 75 "category": { 76 "description": "A Lighthouse category to run; if none are given, only Performance category will be run", 77 "enum": [ 78 "accessibility", 79 "best-practices", 80 "performance", 81 "pwa", 82 "seo" 83 ], 84 "enumDescriptions": [ 85 "", 86 "", 87 "", 88 "", 89 "" 90 ], 91 "location": "query", 92 "repeated": true, 93 "type": "string" 94 }, 95 "locale": { 96 "description": "The locale used to localize formatted results", 97 "location": "query", 98 "pattern": "[a-zA-Z]+((_|-)[a-zA-Z]+)?", 99 "type": "string" 100 }, 101 "strategy": { 102 "description": "The analysis strategy (desktop or mobile) to use, and desktop is the default", 103 "enum": [ 104 "desktop", 105 "mobile" 106 ], 107 "enumDescriptions": [ 108 "Fetch and analyze the URL for desktop browsers", 109 "Fetch and analyze the URL for mobile devices" 110 ], 111 "location": "query", 112 "type": "string" 113 }, 114 "url": { 115 "description": "The URL to fetch and analyze", 116 "location": "query", 117 "pattern": "(?i)(url:|origin:)?http(s)?://.*", 118 "required": true, 119 "type": "string" 120 }, 121 "utm_campaign": { 122 "description": "Campaign name for analytics.", 123 "location": "query", 124 "type": "string" 125 }, 126 "utm_source": { 127 "description": "Campaign source for analytics.", 128 "location": "query", 129 "type": "string" 130 } 131 }, 132 "path": "runPagespeed", 133 "response": { 134 "$ref": "PagespeedApiPagespeedResponseV5" 135 } 136 } 137 } 138 } 139 }, 140 "revision": "20191028", 141 "rootUrl": "https://www.googleapis.com/", 142 "schemas": { 143 "GoogleprotobufListValue": { 144 "id": "GoogleprotobufListValue", 145 "items": { 146 "$ref": "GoogleprotobufValue" 147 }, 148 "type": "array" 149 }, 150 "GoogleprotobufValue": { 151 "id": "GoogleprotobufValue", 152 "type": "any" 153 }, 154 "LighthouseAuditResultV5": { 155 "id": "LighthouseAuditResultV5", 156 "properties": { 157 "description": { 158 "description": "The description of the audit.", 159 "type": "string" 160 }, 161 "details": { 162 "additionalProperties": { 163 "type": "any" 164 }, 165 "description": "Freeform details section of the audit.", 166 "type": "object" 167 }, 168 "displayValue": { 169 "description": "The value that should be displayed on the UI for this audit.", 170 "type": "string" 171 }, 172 "errorMessage": { 173 "description": "An error message from a thrown error inside the audit.", 174 "type": "string" 175 }, 176 "explanation": { 177 "description": "An explanation of the errors in the audit.", 178 "type": "string" 179 }, 180 "id": { 181 "description": "The audit's id.", 182 "type": "string" 183 }, 184 "numericValue": { 185 "description": "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.", 186 "format": "double", 187 "type": "number" 188 }, 189 "score": { 190 "type": "any" 191 }, 192 "scoreDisplayMode": { 193 "description": "The enumerated score display mode.", 194 "type": "string" 195 }, 196 "title": { 197 "description": "The human readable title.", 198 "type": "string" 199 }, 200 "warnings": { 201 "type": "any" 202 } 203 }, 204 "type": "object" 205 }, 206 "LighthouseCategoryV5": { 207 "id": "LighthouseCategoryV5", 208 "properties": { 209 "auditRefs": { 210 "description": "An array of references to all the audit members of this category.", 211 "items": { 212 "properties": { 213 "group": { 214 "description": "The category group that the audit belongs to (optional).", 215 "type": "string" 216 }, 217 "id": { 218 "description": "The audit ref id.", 219 "type": "string" 220 }, 221 "weight": { 222 "description": "The weight this audit's score has on the overall category score.", 223 "format": "double", 224 "type": "number" 225 } 226 }, 227 "type": "object" 228 }, 229 "type": "array" 230 }, 231 "description": { 232 "description": "A more detailed description of the category and its importance.", 233 "type": "string" 234 }, 235 "id": { 236 "description": "The string identifier of the category.", 237 "type": "string" 238 }, 239 "manualDescription": { 240 "description": "A description for the manual audits in the category.", 241 "type": "string" 242 }, 243 "score": { 244 "type": "any" 245 }, 246 "title": { 247 "description": "The human-friendly name of the category.", 248 "type": "string" 249 } 250 }, 251 "type": "object" 252 }, 253 "LighthouseResultV5": { 254 "id": "LighthouseResultV5", 255 "properties": { 256 "audits": { 257 "additionalProperties": { 258 "$ref": "LighthouseAuditResultV5", 259 "description": "An audit that was performed in this run. Keyed by audit id." 260 }, 261 "description": "Map of audits in the LHR.", 262 "type": "object" 263 }, 264 "categories": { 265 "description": "Map of categories in the LHR.", 266 "properties": { 267 "accessibility": { 268 "$ref": "LighthouseCategoryV5", 269 "description": "The accessibility category, containing all accessibility related audits." 270 }, 271 "best-practices": { 272 "$ref": "LighthouseCategoryV5", 273 "description": "The best practices category, containing all web best practice related audits." 274 }, 275 "performance": { 276 "$ref": "LighthouseCategoryV5", 277 "description": "The performance category, containing all performance related audits." 278 }, 279 "pwa": { 280 "$ref": "LighthouseCategoryV5", 281 "description": "The Progressive-Web-App (PWA) category, containing all pwa related audits." 282 }, 283 "seo": { 284 "$ref": "LighthouseCategoryV5", 285 "description": "The Search-Engine-Optimization (SEO) category, containing all seo related audits." 286 } 287 }, 288 "type": "object" 289 }, 290 "categoryGroups": { 291 "additionalProperties": { 292 "description": "A grouping contained in a category that groups similar audits together.", 293 "properties": { 294 "description": { 295 "description": "An optional human readable description of the category group.", 296 "type": "string" 297 }, 298 "title": { 299 "description": "The title of the category group.", 300 "type": "string" 301 } 302 }, 303 "type": "object" 304 }, 305 "description": "Map of category groups in the LHR.", 306 "type": "object" 307 }, 308 "configSettings": { 309 "description": "The configuration settings for this LHR.", 310 "properties": { 311 "emulatedFormFactor": { 312 "description": "The form factor the emulation should use.", 313 "type": "string" 314 }, 315 "locale": { 316 "description": "The locale setting.", 317 "type": "string" 318 }, 319 "onlyCategories": { 320 "type": "any" 321 } 322 }, 323 "type": "object" 324 }, 325 "environment": { 326 "description": "Environment settings that were used when making this LHR.", 327 "properties": { 328 "benchmarkIndex": { 329 "description": "The benchmark index number that indicates rough device class.", 330 "format": "double", 331 "type": "number" 332 }, 333 "hostUserAgent": { 334 "description": "The user agent string of the version of Chrome used.", 335 "type": "string" 336 }, 337 "networkUserAgent": { 338 "description": "The user agent string that was sent over the network.", 339 "type": "string" 340 } 341 }, 342 "type": "object" 343 }, 344 "fetchTime": { 345 "description": "The time that this run was fetched.", 346 "type": "string" 347 }, 348 "finalUrl": { 349 "description": "The final resolved url that was audited.", 350 "type": "string" 351 }, 352 "i18n": { 353 "description": "The internationalization strings that are required to render the LHR.", 354 "properties": { 355 "rendererFormattedStrings": { 356 "description": "Internationalized strings that are formatted to the locale in configSettings.", 357 "properties": { 358 "auditGroupExpandTooltip": { 359 "description": "The tooltip text on an expandable chevron icon.", 360 "type": "string" 361 }, 362 "crcInitialNavigation": { 363 "description": "The label for the initial request in a critical request chain.", 364 "type": "string" 365 }, 366 "crcLongestDurationLabel": { 367 "description": "The label for values shown in the summary of critical request chains.", 368 "type": "string" 369 }, 370 "errorLabel": { 371 "description": "The label shown next to an audit or metric that has had an error.", 372 "type": "string" 373 }, 374 "errorMissingAuditInfo": { 375 "description": "The error string shown next to an erroring audit.", 376 "type": "string" 377 }, 378 "labDataTitle": { 379 "description": "The title of the lab data performance category.", 380 "type": "string" 381 }, 382 "lsPerformanceCategoryDescription": { 383 "description": "The disclaimer shown under performance explaning that the network can vary.", 384 "type": "string" 385 }, 386 "manualAuditsGroupTitle": { 387 "description": "The heading shown above a list of audits that were not computerd in the run.", 388 "type": "string" 389 }, 390 "notApplicableAuditsGroupTitle": { 391 "description": "The heading shown above a list of audits that do not apply to a page.", 392 "type": "string" 393 }, 394 "opportunityResourceColumnLabel": { 395 "description": "The heading for the estimated page load savings opportunity of an audit.", 396 "type": "string" 397 }, 398 "opportunitySavingsColumnLabel": { 399 "description": "The heading for the estimated page load savings of opportunity audits.", 400 "type": "string" 401 }, 402 "passedAuditsGroupTitle": { 403 "description": "The heading that is shown above a list of audits that are passing.", 404 "type": "string" 405 }, 406 "scorescaleLabel": { 407 "description": "The label that explains the score gauges scale (0-49, 50-89, 90-100).", 408 "type": "string" 409 }, 410 "toplevelWarningsMessage": { 411 "description": "The label shown preceding important warnings that may have invalidated an entire report.", 412 "type": "string" 413 }, 414 "varianceDisclaimer": { 415 "description": "The disclaimer shown below a performance metric value.", 416 "type": "string" 417 }, 418 "warningHeader": { 419 "description": "The label shown above a bulleted list of warnings.", 420 "type": "string" 421 } 422 }, 423 "type": "object" 424 } 425 }, 426 "type": "object" 427 }, 428 "lighthouseVersion": { 429 "description": "The lighthouse version that was used to generate this LHR.", 430 "type": "string" 431 }, 432 "requestedUrl": { 433 "description": "The original requested url.", 434 "type": "string" 435 }, 436 "runWarnings": { 437 "$ref": "GoogleprotobufListValue", 438 "description": "List of all run warnings in the LHR. Will always output to at least `[]`." 439 }, 440 "runtimeError": { 441 "description": "A top-level error message that, if present, indicates a serious enough problem that this Lighthouse result may need to be discarded.", 442 "properties": { 443 "code": { 444 "description": "The enumerated Lighthouse Error code.", 445 "type": "string" 446 }, 447 "message": { 448 "description": "A human readable message explaining the error code.", 449 "type": "string" 450 } 451 }, 452 "type": "object" 453 }, 454 "stackPacks": { 455 "description": "The Stack Pack advice strings.", 456 "items": { 457 "properties": { 458 "descriptions": { 459 "additionalProperties": { 460 "description": "The specific stack pack description.", 461 "type": "string" 462 }, 463 "description": "The stack pack advice strings.", 464 "type": "object" 465 }, 466 "iconDataURL": { 467 "description": "The stack pack icon data uri.", 468 "type": "string" 469 }, 470 "id": { 471 "description": "The stack pack id.", 472 "type": "string" 473 }, 474 "title": { 475 "description": "The stack pack title.", 476 "type": "string" 477 } 478 }, 479 "type": "object" 480 }, 481 "type": "array" 482 }, 483 "timing": { 484 "description": "Timing information for this LHR.", 485 "properties": { 486 "total": { 487 "description": "The total duration of Lighthouse's run.", 488 "format": "double", 489 "type": "number" 490 } 491 }, 492 "type": "object" 493 }, 494 "userAgent": { 495 "description": "The user agent that was used to run this LHR.", 496 "type": "string" 497 } 498 }, 499 "type": "object" 500 }, 501 "PagespeedApiLoadingExperienceV5": { 502 "id": "PagespeedApiLoadingExperienceV5", 503 "properties": { 504 "id": { 505 "description": "The url, pattern or origin which the metrics are on.", 506 "type": "string" 507 }, 508 "initial_url": { 509 "type": "string" 510 }, 511 "metrics": { 512 "additionalProperties": { 513 "description": "The type of the metric.", 514 "properties": { 515 "category": { 516 "type": "string" 517 }, 518 "distributions": { 519 "items": { 520 "properties": { 521 "max": { 522 "format": "int32", 523 "type": "integer" 524 }, 525 "min": { 526 "format": "int32", 527 "type": "integer" 528 }, 529 "proportion": { 530 "format": "double", 531 "type": "number" 532 } 533 }, 534 "type": "object" 535 }, 536 "type": "array" 537 }, 538 "percentile": { 539 "format": "int32", 540 "type": "integer" 541 } 542 }, 543 "type": "object" 544 }, 545 "type": "object" 546 }, 547 "overall_category": { 548 "type": "string" 549 } 550 }, 551 "type": "object" 552 }, 553 "PagespeedApiPagespeedResponseV5": { 554 "id": "PagespeedApiPagespeedResponseV5", 555 "properties": { 556 "analysisUTCTimestamp": { 557 "description": "The UTC timestamp of this analysis.", 558 "type": "string" 559 }, 560 "captchaResult": { 561 "description": "The captcha verify result", 562 "type": "string" 563 }, 564 "id": { 565 "description": "Canonicalized and final URL for the document, after following page redirects (if any).", 566 "type": "string" 567 }, 568 "kind": { 569 "default": "pagespeedonline#result", 570 "description": "Kind of result.", 571 "type": "string" 572 }, 573 "lighthouseResult": { 574 "$ref": "LighthouseResultV5", 575 "description": "Lighthouse response for the audit url as an object." 576 }, 577 "loadingExperience": { 578 "$ref": "PagespeedApiLoadingExperienceV5", 579 "description": "Metrics of end users' page loading experience." 580 }, 581 "originLoadingExperience": { 582 "$ref": "PagespeedApiLoadingExperienceV5", 583 "description": "Metrics of the aggregated page loading experience of the origin" 584 }, 585 "version": { 586 "description": "The version of PageSpeed used to generate these results.", 587 "properties": { 588 "major": { 589 "description": "The major version number of PageSpeed used to generate these results.", 590 "format": "int32", 591 "type": "integer" 592 }, 593 "minor": { 594 "description": "The minor version number of PageSpeed used to generate these results.", 595 "format": "int32", 596 "type": "integer" 597 } 598 }, 599 "type": "object" 600 } 601 }, 602 "type": "object" 603 } 604 }, 605 "servicePath": "pagespeedonline/v5/", 606 "title": "PageSpeed Insights API", 607 "version": "v5" 608}