Score pages for E-E-A-T
https://seolyticize.com /api/v1/tools/score_eeat Scores pages of the client's site (urls, up to 20, or the topPages by Search Console clicks) for Experience (20), Expertise (25), Authoritativeness (25) and Trust (30), each from sub-criteria graded Strong, Moderate, Weak or None with the evidence and the fix: first-hand method and results, figures, original images, a byline and author page, Person markup with jobTitle and sameAs, credentials, citations to outside and primary sources and the share of uncited claims, visible dates, about, contact, privacy and terms pages, HTTPS, reviews, a returns policy on shops, specialised vocabulary, awards and accreditations, 'featured in' media coverage, professional affiliations, a history of publishing on the topic (other crawled pages on it), visible corrections and update history, no deceptive practices (undisclosed affiliate links, clickbait headlines, false urgency), secure payments on shops, and for the site referring domains and brand mentions from our index and a Wikidata entity. Flags pages weak on who, how and why (atRisk), YMYL pages (health, finance, legal, news, civic, groups) with no credentials (Expertise capped at Weak), generic AI-style pages (one heading template, no author, stock phrasing), stale pages on fast-moving topics, and reading ease outside 60–70 (information only). Bands at 90/70/50/30, each page and the sample with the next steps for its band. A heuristic. judge: true regrades Experience with one metered Claude call (quote it with estimate_cost). Answers 'does our content show E-E-A-T' and 'which pages look untrustworthy'. Free without judge.
Parameters
Idempotency-KeystringheaderRequest body
application/json
clientIdstringrequiredurlsstring[]topPagesintegerjudgebooleanmaxCostMicrosintegerdryRunboolean{
"clientId": "string",
"urls": [],
"topPages": 10,
"judge": false,
"maxCostMicros": 0,
"dryRun": true
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/score_eeat" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","urls":[],"topPages":10,"judge":false,"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_eeat
WWW-AuthenticatestringSame as 400 · POST /api/v1/tools/score_eeat
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/score_eeat
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/score_eeat
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/score_eeat
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/score_eeat
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerRetry-AfterintegerSame as 400 · POST /api/v1/tools/score_eeat
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-Resetinteger