Score a draft before publishing
https://seolyticize.com /api/v1/tools/score_content Scores a draft (a URL, HTML or Markdown) 0–100 against the pages that rank for its keyword: term coverage, outline coverage, questions answered, length and structure — with the missing terms (and how often to use them), missing sections, unanswered questions and a fix list, most important first — factConflicts, sentences stating a price, limit or date that contradicts the client's registered facts; uncitedClaims, the percentages, money and large numbers, 'according to X', 'by 2030' and '3x' figures with no link, footnote or source line within 200 characters (uncitedRatio, a warning above 0.4; a heuristic); invisibleChars, zero-width, bidi and tag characters by codepoint; draftQuality, which only detects and never rewrites: 26 filler and 46 stock AI phrases scored per 1,000 tokens, information density, bigram repetition, flags (filler 50+, AI phrasing 40+, density under 0.20, repetition 30+, under 300 tokens) and a weighted overall; and placement, the keyword in the first 100 words, the URL slug and the front of the title, heading stuffing (more than two subheadings repeating it), average sentence length against 15–20 words, internal links per 1,000 words against 3–5, and a table of contents on pages of 1,500 words or more. Answers 'is this ready to publish' and 'what should I add'. Run it after each revision until it is at par with the results page. Same cost as get_serp_content_profile; a results page bought for the brief is reused free for a day.
Parameters
Idempotency-KeystringheaderRequest body
application/json
clientIdstringrequiredkeywordstringrequiredurlstringhtmlstringmarkdownstringlocationCodeintegerlanguageCodestringmaxCostMicrosintegerdryRunboolean{
"clientId": "string",
"keyword": "string",
"url": "string",
"html": "string",
"markdown": "string",
"locationCode": null,
"languageCode": null,
"maxCostMicros": 0,
"dryRun": true
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/score_content" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","keyword":"string","url":"string","html":"string","markdown":"string","locationCode":null,"languageCode":null,"maxCostMicros":0,"dryRun":true}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
data, and its meta.Example
{
"data": {},
"meta": {
"requestId": "string",
"costMicros": 0,
"cached": true,
"cachedFrom": "string",
"dataAsOf": "string",
"sources": [
"string"
],
"partial": true,
"next": [
{
"tool": "string",
"args": {},
"why": "string"
}
],
"nextCursor": "string",
"dryRun": true
}
}Schema
datarequiredmetaobjectrequiredShow child parameters
requestIdstringrequiredcostMicrosintegerrequiredcachedbooleanrequiredcachedFromstringdataAsOfstringsourcesstring[]partialbooleanrequirednextobject[]requiredShow child parameters
toolstringargsobjectwhystringnextCursorstringdryRunbooleanX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerX-Request-IdstringExample
{
"error": "string",
"code": "string",
"next": "string",
"requestId": "string"
}Schema
errorstringrequiredcodestringnextstringrequestIdstringX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/score_content
WWW-AuthenticatestringSame as 400 · POST /api/v1/tools/score_content
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/score_content
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/score_content
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/score_content
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/score_content
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerRetry-AfterintegerSame as 400 · POST /api/v1/tools/score_content
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-Resetinteger