HCU & E-E-A-T Quality Rating
Content Quality
Score a page’s content quality against Google Helpful Content (HCU) and E-E-A-T signals for a target keyword — and optionally compare two URLs head to head.
POSThttps://ai.seovendor.co/api/content-quality/
Authenticate every request by passing your secret key as
k in the JSON body. Requests are POST with Content-Type: application/json.01Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
| action | string | optional | analyze Get HCU/EEAT content quality rating for a URL. |
| kw | string | required | Keyword text, 4 to 300 characters. |
| url1 | string | required | Website URL, max 300 characters. |
| url2 | string | optional | Website URL, max 300 characters. |
| k | string | required | API key sent as k in query string, POST body, JSON body; api_key is also accepted, 11 to 120 characters. |
02Response
Every response uses the standard envelope (success, application, action, data, meta, error). The data field for this endpoint is documented below.
successaction: analyze · HTTP 200
200 response example
{
"success": true,
"application": "content-quality",
"action": "analyze",
"data": [
{
"Webpage": 0,
"URL": "https://seovendor.co",
"Question": "string",
"Score": 0.92,
"Reason": "string"
}
],
"meta": {
"request_id": "req_3f9a7c2e8b41",
"duration_ms": 1284,
"upstream_http_code": 200
},
"error": null
}Response schema
success
application
action
dataHCU/EEAT quality rating scores. Each entry is one question evaluated per URL. Up to 15 questions per URL (30 total when url2 is provided).
└─WebpageWhich URL was evaluated. 1 = url1, 2 = url2.
└─URLThe URL that was evaluated.
└─QuestionE-E-A-T question number (1 through 15).
└─ScoreScore for this question, 0 to 100.
└─ReasonExplanation for the score.
meta
└─request_id
└─duration_ms
└─upstream_http_code
error
errorHTTP 400, 401, 502, 503, or 504
error response example
{
"success": false,
"application": "content-quality",
"action": "string",
"data": null,
"meta": {
"request_id": "req_3f9a7c2e8b41"
},
"error": {
"code": "invalid_request",
"message": "The kw field is required.",
"field": "kw",
"details": [],
"apidefinitions": "https://ai.seovendor.co/api/content-quality/definitions"
}
}Response schema
success
application
action
data
meta
└─request_id
error
└─codeError code returned by the API.
└─messageHuman-readable error message.
└─fieldInput field associated with the error.
└─detailsAdditional error details.
└─apidefinitionsPublic API definitions URL.
POST /api/content-quality/
curl -X POST "https://ai.seovendor.co/api/content-quality/" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"k": "[API KEY]",
"action": "analyze",
"kw": "white label seo",
"url1": "https://seovendor.co"
}'<?php
$ch = curl_init("https://ai.seovendor.co/api/content-quality/");
$payload = [
"k" => "[API KEY]",
"action" => "analyze",
"kw" => "white label seo",
"url1" => "https://seovendor.co",
];
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Accept: application/json",
],
CURLOPT_POSTFIELDS => json_encode($payload),
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const response = await fetch("https://ai.seovendor.co/api/content-quality/", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Accept": "application/json"
},
body: JSON.stringify({
k: "[API KEY]",
action: "analyze",
kw: "white label seo",
url1: "https://seovendor.co",
})
});
const data = await response.json();
console.log(data);import requests
url = "https://ai.seovendor.co/api/content-quality/"
payload = {
"k": "[API KEY]",
"action": "analyze",
"kw": "white label seo",
"url1": "https://seovendor.co",
}
headers = {
"Content-Type": "application/json",
"Accept": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
data = response.json()
print(data)SV API
Base URL
https://ai.seovendor.co/api · All requests are POST · JSON in, JSON out · © 2026 SEO Vendor. Built for agencies since 2004.