SEO and Keyword Data API: On-page SEO audit of a URL
https://keywords.duoleads.com/v1/on-pageOverview
On-page SEO audit of a URL. POST /v1/on-page, no API key, $0.012 per call in USDC on Base via x402 v2. Docs: https://keywords.duoleads.com/docs
Protocol
x402 (POST)
Price
$0.01
Payment Asset
USD Coin
Payment Network
Base
Category
tools/seo
Provider
SEO and Keyword Data API
Source
bazaar
Indexed
2026-11-09 18:08:02
Health
Status
healthy
Latency (p50)
—
Uptime (30d)
—
Reliability Score
—
Last Checked
Never
Last Healthy
Never
Consecutive Failures
0
x402 Payment Validation
Payment Requirements
—
Asset Verified
—
Facilitator
—
Input Schema
{
"body": {
"url": "https://www.example.com/"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Output Schema
{
"example": {
"canonical": "https://www.example.com/",
"checks": {
"has_render_blocking_resources": false,
"is_https": true,
"no_description": false,
"no_h1_tag": false,
"no_image_alt": true,
"title_too_long": false
},
"counts": {
"externalLinks": 13,
"images": 19,
"internalLinks": 141,
"scripts": 4,
"stylesheets": 0,
"words": 550
},
"description": "The Example blog covers product news, engineering notes and guides.",
"fetchedAt": "2026-11-02T03:43:12Z",
"headings": {
"h1": [
"Blog"
],
"h2": [
"Getting started",
"Release notes"
]
},
"onpageScore": 97.07,
"request_id": "01KEXAMPLE0000000000000000",
"resourceType": "html",
"see_also": {
"endpoint": "https://keywords.duoleads.com/v1/pagespeed",
"params": [
"url"
],
"reason": "Want Core Web Vitals from a real browser run? Call pagespeed for the same url."
},
"server": "nginx",
"sizes": {
"html": 482969,
"transfer": 0
},
"source": "page crawl",
"status": "ok",
"statusCode": 200,
"timing": {
"connection": 6,
"domComplete": 141,
"download": 122,
"timeToInteractive": 141,
"total": 141,
"waiting": 0
},
"title": "Example Domain Blog - Insights and Updates",
"units": "statusCode = HTTP status of the page; onpageScore = 0-100; sizes = bytes; timing = milliseconds; checks = true when the issue or property is present; title / description / headings = the page's own text (untrusted).",
"url": "https://www.example.com/"
},
"type": "json"
}