"method": "POST", "content_type": "application/json",
"price_usd": 0.0503, // 50300 atomic USDC (6 decimals)
"network": "eip155:8453", // Base mainnet
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC
"payTo": "0xc22f9CAEBAc37fE72D5142f35f21f6696Ea9Ef69",
"you_get": { // HTTP 200 application/json after payment
"output_schema":
{
"type": "object",
"properties": {
"skill": {
"type": "string"
},
"you": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"final_url": {
"type": "string"
},
"score": {
"type": "number"
},
"grade": {
"type": "string"
},
"subscores": {
"type": "object",
"properties": {
"technical": {
"type": "integer"
},
"content": {
"type": "integer"
},
"metadata": {
"type": "integer"
},
"structured_data": {
"type": "integer"
},
"aeo": {
"type": "integer"
}
}
},
"reason": {
"type": "null"
}
}
},
"competitors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"final_url": {
"type": "string"
},
"score": {
"type": "number"
},
"grade": {
"type": "string"
},
"subscores": {
"type": "object"
},
"reason": {
"type": "null"
}
}
}
},
"gaps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"check_id": {
"type": "string"
},
"category": {
"type": "string"
},
"max": {
"type": "integer"
},
"yours": {
"type": "number"
},
"competitors": {
"type": "array"
},
"gap_points": {
"type": "number"
},
"fix": {
"type": "string"
}
}
}
},
"disclaimer": {
"type": "string"
}
},
"required": [
"skill"
]
}
"example":
{
"skill": "seo_compare",
"you": {
"url": "https://www.python.org/",
"final_url": "https://www.python.org/",
"score": 78.0,
"grade": "C",
"subscores": {
"technical": 80,
"content": 90,
"metadata": 62,
"structured_data": 83,
"aeo": 73
},
"reason": null
},
"competitors": [
{
"url": "https://www.ruby-lang.org/en/",
"final_url": "https://www.ruby-lang.org/en/",
"score": 68.8,
"grade": "C",
"subscores": {
"technical": 100,
"content": 75,
"metadata": 72,
"structured_data": 0,
"aeo": 73
},
"reason": null
}
],
"gaps": [
{
"check_id": "canonical",
"category": "technical",
"max": 5,
"yours": 0.0,
"competitors": [
5.0
],
"gap_points": 5.0,
"fix": "Use exactly one absolute, self-referencing canonical on the same host."
},
{
"check_id": "twitter_card",
"category": "metadata",
"max": 2,
"yours": 0.0,
"competitors": [
2.0
],
"gap_points": 2.0,
"fix": "Add a twitter:card type; X reuses your Open Graph tags for the rest."
},
{
"check_id": "qa_structure",
"category": "aeo",
"max": 3,
"yours": 2.0,
"competitors": [
3.0
],
"gap_points": 1.0,
"fix": "Break content into question headings with short direct answers, or into lists/steps."
}
],
"disclaimer": "Scores reflect technical checks only; no ranking or citation is guaranteed."
}
},