Free SEO Checker

Get a score from fixed technical checks, strengths and fixes ranked by weight. We read one page without running its JavaScript.

60 free checks per IP per UTC hour. HTTP/HTTPS on ports 80/443 only; private addresses are refused. URLs and page contents are not stored.

SEO checker API

This check also runs as a free JSON API: one GET request returns the score out of 100, what the page does well, fixes ranked by weight and the raw facts.

curl "https://apitoolcalls.com/api/seo-check?url=https://example.com/"

The real response for https://example.com/ on 17 Oct 2026:

// Trimmed: 3 of 10 does_well, 2 of 8 fixes and 6 of 22 facts are shown.
{"schema": 1, "url": "https://example.com/", "score": 61,
 "does_well": ["One descriptive title within 10–60 characters",
   "No indexing block found", "Every image has an alt attribute"],
 "fixes": [
  {"id": "description", "title": "Write one meta description (50–160 characters)",
   "why": "A useful description can help people decide to visit.",
   "how": "Add one meta name=\"description\" with a specific 50–160 character summary.", "weight": 7},
  {"id": "h1", "title": "Use one clear H1", "why": "One main heading makes the page topic clear.",
   "how": "Give the page one nonempty <h1>.", "weight": 7}],
 "facts": {"title": ["Example Domain"], "description": [], "headings": [],
   "response_time_ms": 206, "redirects": 0, "status": 200},
 "via": "API Tool Calls",
 "link": "https://apitoolcalls.com/seo-checker/?utm_source=api&utm_medium=api"}

No key is needed: 20 free calls a day per IP, within a daily ceiling shared by all callers; both reset at midnight UTC. Past a limit the API answers HTTP 429 with a JSON error. URL-encode the address if it has its own ? or &.

The same check is the MCP tool seo_check at https://apitoolcalls.com/mcp.

How to use this tool

Enter a public page URL and press Check SEO to see what works and what to fix.

Frequently asked questions

How do I check my website?

Enter a public HTTP or HTTPS page URL and press Check SEO. We read its HTML, robots.txt, the first sitemap named there and up to 20 links. JavaScript is not rendered.

How is the score calculated?

Start at 100 and subtract failed checks: title 8, description 7, H1 7, heading order 3, canonical 5, indexability 12, robots.txt 4, sitemap 4, image alt 5, social tags 4, structured data 5, viewport 4, language 3, HTTPS 8, redirects 3, response time 5, HTML weight 3 and broken links 10. The minimum score is 0.

What are the fixed thresholds and limits?

Titles should have 10–60 characters and descriptions 50–160. Aim for at most one redirect, a response within 2 seconds and uncompressed HTML within 500 KB. Fetches have a 10-second overall deadline, a 2 MB HTML cap and 512 KB caps for robots.txt and the sitemap. Each link gets at most 3 seconds; unchecked links are listed separately and never counted as broken.

Is the SEO checker free?

Yes. The web page allows 60 checks per IP per UTC hour without an account. MCP and API calls share the agents’ 20 free calls per IP per UTC day and the global free ceiling. No model or paid API is used.

Is there an SEO checker API?

Yes. GET /api/seo-check?url= with a public page URL runs the same check and returns JSON: the score out of 100, what the page does well, fixes ranked by weight and the raw facts. No key is needed, and the same check is the MCP tool seo_check.

Does a high score guarantee search rankings?

No. This checks technical signals on one page using fixed rules. It does not assess the whole site, content quality, backlinks or search rankings. A missing alt attribute fails; an empty alt attribute is allowed for decorative images.

API Tool Calls MCP

Use it from an AI agent

This tool is also an MCP tool named seo_check at https://apitoolcalls.com/mcp.

Plain JSON: GET /api/seo-check?url=.

Agent tools are free: 20 calls a day per IP, no key needed.

tools/call

Example tools/call arguments:

{"name":"seo_check","arguments":{"url":"https://example.com/"}}