openapi: 3.1.0 info: title: Google PageSpeed PageSpeed Insights Analysis API description: The PageSpeed Insights API runs Lighthouse audits on web pages and returns performance scores, Core Web Vitals metrics, Chrome User Experience Report field data, and detailed optimization opportunities and diagnostics. version: v5 contact: name: Google Developers url: https://developers.google.com/speed termsOfService: https://cloud.google.com/terms servers: - url: https://www.googleapis.com/pagespeedonline/v5 description: PageSpeed Insights API v5 security: - apiKey: [] tags: - name: Analysis description: Page performance analysis paths: /runPagespeed: get: operationId: runPagespeed summary: Google PageSpeed Analyze page performance description: Runs PageSpeed analysis on the given URL. Returns Lighthouse audit results including performance score, Core Web Vitals, and optimization recommendations for both mobile and desktop strategies. tags: - Analysis parameters: - name: url in: query required: true description: The URL to analyze schema: type: string format: uri - name: strategy in: query description: The analysis strategy (desktop or mobile) schema: type: string enum: - DESKTOP - MOBILE default: MOBILE - name: category in: query description: Lighthouse categories to run schema: type: array items: type: string enum: - ACCESSIBILITY - BEST_PRACTICES - PERFORMANCE - SEO style: form explode: true - name: locale in: query description: The locale for results (e.g. en_US) schema: type: string - name: utm_campaign in: query description: Campaign name for analytics schema: type: string - name: utm_source in: query description: Campaign source for analytics schema: type: string - name: captchaToken in: query description: The captcha token for the request schema: type: string responses: '200': description: PageSpeed analysis results content: application/json: schema: $ref: '#/components/schemas/PagespeedResult' '400': description: Invalid URL or parameters '429': description: Rate limit exceeded '500': description: Internal error during analysis components: schemas: LoadingExperience: type: object description: Chrome User Experience Report field data properties: id: type: string metrics: type: object properties: LARGEST_CONTENTFUL_PAINT_MS: $ref: '#/components/schemas/MetricDistribution' FIRST_INPUT_DELAY_MS: $ref: '#/components/schemas/MetricDistribution' CUMULATIVE_LAYOUT_SHIFT_SCORE: $ref: '#/components/schemas/MetricDistribution' INTERACTION_TO_NEXT_PAINT: $ref: '#/components/schemas/MetricDistribution' FIRST_CONTENTFUL_PAINT_MS: $ref: '#/components/schemas/MetricDistribution' EXPERIMENTAL_TIME_TO_FIRST_BYTE: $ref: '#/components/schemas/MetricDistribution' overall_category: type: string enum: - FAST - AVERAGE - SLOW - NONE initial_url: type: string Audit: type: object properties: id: type: string title: type: string description: type: string score: type: number scoreDisplayMode: type: string enum: - binary - numeric - informative - manual - notApplicable - error displayValue: type: string numericValue: type: number numericUnit: type: string MetricDistribution: type: object properties: percentile: type: integer distributions: type: array items: type: object properties: min: type: integer max: type: integer proportion: type: number category: type: string enum: - FAST - AVERAGE - SLOW PagespeedResult: type: object properties: captchaResult: type: string kind: type: string default: pagespeedonline#result id: type: string description: The URL that was analyzed loadingExperience: $ref: '#/components/schemas/LoadingExperience' originLoadingExperience: $ref: '#/components/schemas/LoadingExperience' lighthouseResult: $ref: '#/components/schemas/LighthouseResult' analysisUTCTimestamp: type: string format: date-time LighthouseResult: type: object properties: requestedUrl: type: string finalUrl: type: string lighthouseVersion: type: string fetchTime: type: string format: date-time userAgent: type: string environment: type: object properties: networkUserAgent: type: string hostUserAgent: type: string benchmarkIndex: type: number categories: type: object properties: performance: $ref: '#/components/schemas/Category' accessibility: $ref: '#/components/schemas/Category' best-practices: $ref: '#/components/schemas/Category' seo: $ref: '#/components/schemas/Category' audits: type: object additionalProperties: $ref: '#/components/schemas/Audit' Category: type: object properties: id: type: string title: type: string score: type: number minimum: 0 maximum: 1 description: type: string auditRefs: type: array items: type: object properties: id: type: string weight: type: number group: type: string securitySchemes: apiKey: type: apiKey name: key in: query externalDocs: description: PageSpeed Insights API Reference url: https://developers.google.com/speed/docs/insights/v5/reference