SEO Check API

Audit the on-page SEO of a URL: title, description, headings, canonical, noindex, hreflang, Open Graph, alt text, structured data, robots.txt and sitemap, with a score.

GETPOSThttps://apibox.io.vn/v1/seo-check

The SEO check API fetches a page like a crawler and reviews what search engines and social networks read: HTTP status and redirects, HTTPS, response time, the length of the title and meta description, the number of H1 headings and skipped heading levels, the canonical URL, noindex in meta robots or the X-Robots-Tag header, hreflang alternates, the lang attribute, the mobile viewport, Open Graph and Twitter tags for link previews, images without alt text, links without text, the amount of text, JSON-LD structured data and the HTML size.

It also reads the site’s robots.txt to tell whether the page is blocked for crawlers and whether a sitemap is declared (robots=false skips it). Each item is a check with a status (pass, info, warn, fail) and a message in English or Vietnamese (lang=vi); the score (0–100) and grade weigh the items that matter most, such as indexability, status and title.

The page object gives the extracted values (title, description, H1s, canonical, Open Graph, link counts, word count, structured data types) for your own rules. Results are cached for 10 minutes (fresh=true to re-check). It analyses the HTML as served, without running JavaScript; Core Web Vitals and backlinks are out of scope.

Parameters

NameInTypeRequiredDefault
urlbody|querystringyesPage URL (http or https).
langbody|querystringnoenLanguage of the messages: en or vi.
robotsbody|querybooleannotruefalse: skip the robots.txt / sitemap checks.
freshbody|querybooleannofalseBypass the 10-minute cache.

Example

curl "https://apibox.io.vn/v1/seo-check?url=https://vnexpress.net/&lang=vi" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "url": "https://vnexpress.net/",
  "final_url": "https://vnexpress.net/",
  "status": 200,
  "response_ms": 146,
  "score": 76,
  "grade": "C",
  "summary": {
    "passed": 14,
    "info": 2,
    "warnings": 1,
    "errors": 1
  },
  "page": {
    "title": "Báo VnExpress - Báo tiếng Việt nhiều người xem nhất",
    "h1": [],
    "headings": {
      "h1": 0,
      "h2": 1,
      "h3": 27,
      "h4": 0,
      "h5": 0,
      "h6": 0
    },
    "lang": "vi",
    "canonical": "https://vnexpress.net/",
    "word_count": 1257,
    "structured_data": [
      "WebSite",
      "Organization"
    ],
    "…": "…"
  },
  "robots_txt": {
    "url": "https://vnexpress.net/robots.txt",
    "found": true,
    "sitemaps": [
      "…"
    ],
    "blocked": false
  },
  "checks": [
    {
      "id": "title",
      "status": "pass",
      "message": "Tiêu đề dài 51 ký tự",
      "value": "Báo VnExpress - Báo tiếng Việt nhiều người xem nhất"
    },
    {
      "id": "description",
      "status": "warn",
      "message": "Meta description dài 192 ký tự (nên khoảng 70–160)",
      "value": "…"
    },
    {
      "id": "h1",
      "status": "fail",
      "message": "Không có thẻ <h1>"
    },
    "…"
  ]
}

Use cases

  • SEO checks in CMS, website builders and agency dashboards
  • Pre-launch checklists in CI for landing pages
  • Monitor key pages for accidental noindex or missing titles
  • Teach on-page SEO with concrete feedback

FAQ

Does it run JavaScript?

No. It analyses the HTML returned by the server, like most crawlers on their first pass. Pages that build their content only in the browser will look empty; server-side rendering fixes that.

What title length is best?

About 30–60 characters, so it is descriptive and not cut in search results. Meta descriptions: about 70–160 characters.

Why is my score low with only warnings?

Warnings cost 5 points each and errors 15, multiplied for important checks (indexability, status, HTTPS, title). Fix the fail items first.

Related APIs

Start with 1,000 free requests every month. Get free API key →