# Technical SEO Diagnostics API
Audit webpage performance, accessibility, SEO, and best practices.
## API Overview
- **HTTP Protocol:** HTTPS
- **HTTP Method:** GET
- **HTTP Endpoint:** https://api.gugudata.io/v1/websitetools/pagespeed-score
- **Response Type:** application/json; charset=utf-8
- **DEMO Endpoint:** https://api.gugudata.io/v1/websitetools/pagespeed-score/demo
- **Live Demo:** https://gugudata.io/demo/pagespeed-score
- **Postman:** https://www.postman.com/gugudata/gugudata-io
- **LLM Page:** https://gugudata.io/details/pagespeed-score/llm
- **Raw Markdown:** https://gugudata.io/details/pagespeed-score/llm.md
## Remote MCP
- **MCP Endpoint:** https://mcp.gugudata.io/mcp
- **MCP Guide:** https://gugudata.io/mcp/
- **Authorization:** OAuth authorization opens in the browser; do not paste appkeys into MCP clients.
- **Tool Scope:** MCP clients receive GuGuData API tools available to the authorized account.
## Data & API Features
- Real-browser laboratory audits: Load a public webpage in a browser-based test environment and receive repeatable diagnostics for release checks and monitoring.
- Mobile and desktop profiles: Compare the same page with mobile or desktop settings that match your quality-assurance workflow.
- Four page-quality categories: Request performance, accessibility, best-practice, and SEO scores individually or together.
- Laboratory loading metrics: Inspect paint timing, blocking time, layout stability, speed index, and interactivity measurements alongside page metadata.
- Prioritized improvement opportunities: Turn failed audits into practical opportunities that engineering, SEO, and content teams can triage.
- Cached and fresh checks: Reuse recent results for routine dashboards or explicitly request a fresh check after a deployment.
## API Request Parameters
| Name | Type | Is Required | Default Value | Remark |
| --- | --- | --- | --- | --- |
| appkey | string | true | YOUR_APPKEY | API key used to authenticate the request. |
| url | string | true | https://www.gugudata.io/details/search-visibility/ | Public HTTP or HTTPS URL to score. |
| strategy | string | false | desktop | desktop or mobile. |
| locale | string | false | en | Language preference for the result. |
| categories | string | false | performance,accessibility,best-practices,seo | Comma-separated score categories. |
| forceRefresh | boolean | false | false | Set to true to bypass a cached result and run a fresh audit. |
## API Response Parameters
| Name | Type | Remark |
| --- | --- | --- |
| url | string | Scored URL. |
| strategy | string | desktop or mobile. |
| checkedAt | string | Scoring timestamp. |
| coreMetrics | object | Status, response time, content size, compression, image count, and script count. |
| scores | object | Requested score categories from 0 to 100. |
| audits | array<object> | Audit checks and pass/fail values. |
| opportunities | array<object> | Recommended improvements for failed audits. |
## API Response Status Codes
| Status Code | Explanation of Status Code | Remarks |
| --- | --- | --- |
| 200 | Request processed successfully. | Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`. |
| 400 | Invalid request parameters or request format. | Check required fields, data types, and request body format. |
| 401 | Missing or unknown application key. | Provide a valid `appkey` with the request. |
| 403 | The application key is recognized but access is not allowed. | The key may be expired, inactive, or not permitted for the requested API. |
| 429 | Request rate or trial usage limit exceeded. | Reduce request frequency and retry with backoff. If a trial allowance is exhausted, check Trial Keys for remaining requests and subscribe to continue. |
| 500 | Internal service error. | Retry later or contact support if the error persists. |
| 503 | Upstream service unavailable. | Retry later; the requested upstream dependency is temporarily unavailable. |
## cURL Example
```bash
curl --location 'https://api.gugudata.io/v1/websitetools/pagespeed-score?appkey=YOUR_APPKEY&url=https%3A%2F%2Fwww.gugudata.io%2Fdetails%2Fsearch-visibility%2F&strategy=desktop&locale=en&categories=performance%2Caccessibility%2Cbest-practices%2Cseo&forceRefresh=false'
```