Saltar al contenido
Woodander Documentación
ES

PageSpeed

Lab and field performance for one URL from PageSpeed Insights.

1 endpoint. Each one is a REST endpoint under https://woodander.com/api/v1 and an MCP tool with the same name and arguments. See the overview for authentication, rate limits and errors.

pagespeed_check

GET /api/v1/pagespeed

Run Google PageSpeed on one page of your own sites and get everything needed to fix the code: score, lab and field (Chrome UX Report) metrics and, for each failing audit, the resources to change (render-blocking scripts and styles, unused JS and CSS with URLs and bytes, oversized images, fonts, LCP element, layout-shift elements, long tasks, third parties, cache lifetimes, redirects, server response time). Needs the site-audit plan feature; 30 fresh runs an hour and 100 a day (answers are cached 10 minutes and do not count).

MCP tool pagespeed_check Scope read:seo Plan Pro and above

Parameters

NameInTypeRequiredDescription
url query string Yes Full page address on one of your sites (see list_sites), e.g. https://example.com/pricing.
strategy query string No Device: mobile (default) or desktop. One of: mobile, desktop.

Example request

bash
curl "https://woodander.com/api/v1/pagespeed?url=https%3A%2F%2Fexample.com%2F" \
  -H "Authorization: Bearer wdr_..."
tools/call
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "pagespeed_check",
        "arguments": {
            "url": "https://example.com/"
        }
    }
}

Example response Example

json
{
    "data": {
        "url": "https://example.com/",
        "fetched_at": "2026-10-19T09:00:00.000Z",
        "final_url": "https://example.com/",
        "strategy": "mobile",
        "score": 62,
        "lab": [
            {
                "id": "largest-contentful-paint",
                "label": "Largest Contentful Paint",
                "value": "4.1 s",
                "score": 0.4,
                "numeric_value": 4100
            }
        ],
        "field": null,
        "truncated": false,
        "audits": [
            {
                "id": "render-blocking-resources",
                "title": "Eliminate render-blocking resources",
                "description": "Resources are blocking the first paint of your page.",
                "score": 0.3,
                "display_value": "Potential savings of 1,200 ms",
                "savings_ms": 1200,
                "savings_bytes": 0,
                "items_total": 1,
                "items": [
                    {
                        "url": "https://example.com/assets/app.css",
                        "totalBytes": 48000,
                        "wastedMs": 1200
                    }
                ]
            }
        ]
    },
    "meta": {
        "site": "example.com",
        "strategy": "mobile",
        "cached": false
    }
}

Errors

HTTPCodeMeaning
401unauthenticatedMissing, invalid, expired or revoked token.
403insufficient_scopeThe token does not have the read:seo scope.
403plan_requiredThe plan does not include API access.
422invalid_requestA parameter is not valid (range, type, cursor).
429rate_limitedToo many requests. See the Retry-After header.