SV APIDeveloper Referencev1
All systems operational
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

FieldTypeRequiredDescription
actionstringoptional
analyze Get HCU/EEAT content quality rating for a URL.
kwstringrequiredKeyword text, 4 to 300 characters.
url1stringrequiredWebsite URL, max 300 characters.
url2stringoptionalWebsite URL, max 300 characters.
kstringrequiredAPI 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
successboolean= true
applicationstring= "content-quality"
actionstring= "analyze"
dataarrayHCU/EEAT quality rating scores. Each entry is one question evaluated per URL. Up to 15 questions per URL (30 total when url2 is provided).
└─WebpageintegerWhich URL was evaluated. 1 = url1, 2 = url2.
└─URLstringThe URL that was evaluated.
└─QuestionstringE-E-A-T question number (1 through 15).
└─ScorestringScore for this question, 0 to 100.
└─ReasonstringExplanation for the score.
metaobject
└─request_idstring
└─duration_msinteger
└─upstream_http_codeinteger
errornull

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
successboolean= false
applicationstring= "content-quality"
actionstring
datanull
metaobject
└─request_idstring
errorobject
└─codestringError code returned by the API.
└─messagestringHuman-readable error message.
└─fieldstringInput field associated with the error.
└─detailsarrayAdditional error details.
└─apidefinitionsstringPublic 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.