$API_TOKEN=<YOUR_API_TOKEN>
$cat > input.json << 'EOF'
<{
< "items": [
< {
< "input": "https://www.bbc.com/",
< "sourceUrl": "https://www.googleapis.com/pagespeedonline/v5/runPagespeed",
< "found": true,
< "status": "ok",
< "resultCount": 1,
< "partial": false,
< "error": "",
< "warnings": [],
< "checkedAt": "2026-09-23T05:03:23.591Z",
< "schemaVersion": "1.0",
< "url": "https://www.bbc.com/",
< "strategy": "mobile",
< "finalUrl": "https://www.bbc.com/",
< "performanceScore": 0.56,
< "LCP": 7170.740664599693,
< "CLS": 0.11022084164631413,
< "TBT": 315,
< "FCP": 3021.000657027039,
< "SI": 6007.5946841464975,
< "metricSource": "lab",
< "metricUnits": {
< "LCP": "ms",
< "CLS": "unitless",
< "TBT": "ms",
< "FCP": "ms",
< "SI": "ms"
< },
< "fetchTime": "2026-09-23T05:03:03.710Z",
< "lighthouseVersion": "13.5.0",
< "topOpportunities": [
< {
< "id": "bootup-time",
< "title": "Reduce JavaScript execution time",
< "description": "Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to reduce Javascript execution time](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/).",
< "displayValue": "1.5 s",
< "estimatedSavingsMs": 550,
< "estimatedSavingsBytes": 0,
< "metricSavings": {
< "TBT": 550
< }
< },
< {
< "id": "unused-javascript",
< "title": "Reduce unused JavaScript",
< "description": "Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).",
< "displayValue": "Est savings of 494 KiB",
< "estimatedSavingsMs": 450,
< "estimatedSavingsBytes": 505401,
< "metricSavings": {
< "LCP": 450,
< "FCP": 0
< }
< },
< {
< "id": "cache-insight",
< "title": "Use efficient cache lifetimes",
< "description": "A long cache lifetime can speed up repeat visits to your page. [Learn more about caching](https://developer.chrome.com/docs/performance/insights/cache).",
< "displayValue": "Est savings of 664 KiB",
< "estimatedSavingsMs": 450,
< "estimatedSavingsBytes": 0,
< "metricSavings": {
< "LCP": 450,
< "FCP": 0
< }
< },
< {
< "id": "mainthread-work-breakdown",
< "title": "Minimize main-thread work",
< "description": "Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to minimize main-thread work](https://developer.chrome.com/docs/lighthouse/performance/mainthread-work-breakdown/)",
< "displayValue": "2.4 s",
< "estimatedSavingsMs": 300,
< "estimatedSavingsBytes": 0,
< "metricSavings": {
< "TBT": 300
< }
< },
< {
< "id": "font-display-insight",
< "title": "Font display",
< "description": "Consider setting [`font-display`](https://developer.chrome.com/docs/performance/insights/font-display) to `swap` or `optional` to ensure text is consistently visible. `swap` can be further optimized to mitigate layout shifts with [font metric overrides](https://developer.chrome.com/blog/font-fallbacks).",
< "displayValue": "Est savings of 50 ms",
< "estimatedSavingsMs": 50,
< "estimatedSavingsBytes": 0,
< "metricSavings": {
< "FCP": 50,
< "INP": 0
< }
< }
< ],
< "categoryScores": {
< "performance": 0.56
< }
< }
< ]
<}
<EOF
$curl "https://api.apify.com/v2/actors/zinin~pagespeed-remediation-backlog/runs?token=$API_TOKEN" \
< -X POST \
< -d @input.json \
< -H 'Content-Type: application/json'