The most comprehensive free on-page SEO API
Send any public URL and get a complete on-page SEO breakdown back as JSON. 40 authenticated endpoints, 100+ on-page checks — titles, meta tags, headings, content, links, redirect chains, indexability, duplicate content, structured data, images & alt text, Core Web Vitals, Lighthouse, AI-readiness and AI citability. Everything you'd normally pay an enterprise crawler for — free (100 requests/day), with an OpenAPI 3 spec and an MCP server so AI agents like ChatGPT and Claude can call it directly. 12 of the 40 are new and marked Beta below.
Every on-page signal, one API
RankNibbler turns a full technical SEO audit into a clean JSON API. Instead of stitching together a dozen tools, you hit one endpoint and get scored, structured data you can act on. Across its 40 authenticated endpoints it checks:
- Titles & meta — title tags, meta descriptions, meta robots and length checks.
- Headings & content — the full H1–H6 outline, word count, readability and content quality.
- Links — every internal and external link with anchor text and rel attributes.
- Redirect chains — the full hop-by-hop path and final status for any URL.
- Indexability — what's noindex, blocked by robots.txt, or canonicalised away, and why.
- Duplicate tags & content — repeated titles, meta descriptions and near-duplicate pages.
- Structured data — JSON-LD, microdata, Open Graph and Twitter cards, parsed.
- Images & resources — alt-text coverage and every script, style and image the page loads, with status and size.
- Keyword density & raw HTML — 1–5-gram frequency and the exact fetched markup.
- Performance — page timing (DNS/TCP/TLS/TTFB), Core Web Vitals, Lighthouse scores and mobile readiness.
- AI & agent readiness — agent-discovery standards and AI-search content checks, unique to RankNibbler.
- AI citability — how likely an answer engine is to quote a live page, or an unpublished draft, across seven weighted dimensions.
- Change detection — a page fingerprint you can store, and a field-level diff between two live URLs that names which links and images moved.
- Cookies & availability — the cookies a page sets in its response headers, classified by provider and purpose, plus an uptime and response-time check.
- Discovery & account — harvest every URL from a site's sitemaps, and read the plan matrix and your own live quota.
What this API does not do. It is an on-page and technical SEO API. It returns no backlink data, no keyword search volume, no SERP positions and no competitor rankings. Only /api/v1/lighthouse, /api/v1/screenshot and /api/v1/waterfall involve a real browser — everything else is a static analysis of the served HTML.
Every audit returns a 0–100 score, a letter grade and a prioritised issue list, so you fix what matters first.
40 endpoints
Endpoints marked Beta are new: live and callable on every plan, but their response shape may still change while we take feedback.
On-page analysis
Every endpoint below is a single GET that takes a url and returns JSON:
- /api/v1/audit — full on-page SEO audit: score, grade, issues and every check.
- /api/v1/links — all links on a page (internal/external, dofollow, anchor, canonical, hreflang).
- /api/v1/meta-tags — full head-metadata dump: title, meta, Open Graph, Twitter, link rels.
- /api/v1/content — readability, word count and heading outline.
- /api/v1/keyword-density — word & phrase frequency / density (1–5-gram).
- /api/v1/structured-data — extract JSON-LD and microdata structured data.
- /api/v1/indexability — robots, canonical, noindex and crawl directives.
- /api/v1/redirect-chains — trace the full redirect chain for a URL.
- /api/v1/resources — page resources (images/scripts/styles) with status & size.
- /api/v1/raw-html — raw fetched HTML with status and headers.
- /api/v1/page-timing — DNS/TCP/TLS/TTFB/download timing and transfer size.
- /api/v1/ai-readiness — AI & agent readiness: agent-discovery standards + AI-search content checks.
- /api/v1/security-headers — security-header grade and mixed-content analysis.
- /api/v1/accessibility — WCAG / axe accessibility audit.
- /api/v1/robots-txt — robots.txt parsing, including AI-bot rules.
- /api/v1/sitemap — XML sitemap discovery and parsing.
Page intelligence
- /api/v1/page-metrics Beta — one-call roll-up: SEO score, accessibility, security grade, AI-search signals and indexability.
- /api/v1/keyword-analysis Beta — score a page against up to 5 target keywords, placement by placement.
- /api/v1/citability Beta — how quotable a page is for AI answer engines (GET), or score an unpublished draft (POST).
- /api/v1/page-signals Beta — the change-detection fingerprint of a page: hashes, link and image lists, prices.
- /api/v1/page-diff Beta — field-level diff between two live URLs, naming the links and images that changed.
- /api/v1/cookies Beta — response-header cookies, classified by provider, purpose, category and retention.
Performance & availability
- /api/v1/lighthouse — Lighthouse scores and Core Web Vitals (rendered).
- /api/v1/screenshot — rendered full-page screenshot.
- /api/v1/waterfall — network request waterfall (rendered).
- /api/v1/core-web-vitals Beta — six months of weekly real-user (Chrome UX Report) field data.
- /api/v1/uptime Beta — up/down and true response time, without mistaking a bot challenge for an outage.
Lighthouse, screenshot, waterfall and Core Web Vitals depend on Google upstream services and can return 503 or 429.
Site crawl
- /api/v1/crawl — full-site crawl: queue a crawl (POST) and pull the results from seven views — summary, pages, duplicate tags, duplicate content, link graph, orphan pages and broken links.
Discovery & account
- /api/v1/sitemap-urls Beta — every URL from a site's XML sitemaps, sitemap-index aware.
- /api/v1/countries Beta — supported country, currency and language codes.
- /api/v1/plans Beta — the public plan matrix: prices and every per-plan limit.
- /api/v1/usage Beta — your own tier, daily quota and requests used today.
No daily caps on the data and no enterprise contract — a free account and an API key is all it takes, with 100 requests/day on the free tier. There is no per-endpoint plan gating: every plan, Free included, can call every endpoint, and plans differ only in requests per day.
Built for
- AI agents & assistants — give ChatGPT, Claude or your own agent live on-page SEO data via the MCP server or OpenAPI actions.
- SEO SaaS & audit tools — power a website grader, audit dashboard or lead-gen tool without building a crawler.
- CI/CD & monitoring — fail a build or alert when a page loses its title, goes noindex or drops Core Web Vitals.
- Agencies & freelancers — automated client reporting straight from JSON.
A first request
Every endpoint is relative to https://www.ranknibbler.com and returns JSON. Authenticate with your API key (an X-API-Key header), pass a url, and read the score:
- curl -H "X-API-Key: YOUR_KEY" \
- "https://www.ranknibbler.com/api/v1/audit?url=https://example.com"
- $ch = curl_init("https://www.ranknibbler.com/api/v1/audit?url=" . urlencode("https://example.com"));
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: YOUR_KEY"]);
- $audit = json_decode(curl_exec($ch), true);
- echo $audit["score"];
- const res = await fetch(
- "https://www.ranknibbler.com/api/v1/audit?url=" + encodeURIComponent("https://example.com"),
- { headers: { "X-API-Key": "YOUR_KEY" } }
- );
- const audit = await res.json();
- console.log(audit.score);
- import requests
- res = requests.get(
- "https://www.ranknibbler.com/api/v1/audit",
- params={"url": "https://example.com"},
- headers={"X-API-Key": "YOUR_KEY"},
- )
- print(res.json()["score"])
- using var http = new HttpClient();
- http.DefaultRequestHeaders.Add("X-API-Key", "YOUR_KEY");
- var url = "https://www.ranknibbler.com/api/v1/audit?url="
- + Uri.EscapeDataString("https://example.com");
- var json = await http.GetStringAsync(url);
- Console.WriteLine(json);
- {
- "url": "https://example.com",
- "score": 82,
- "grade": "B",
- "issueCount": 3,
- "issues": ["Missing meta description", "2 images missing alt text"],
- "usage": { "used": 7, "dailyLimit": 100, "tier": "free" }
- }
Why RankNibbler
- Comprehensive — 40 authenticated endpoints and 100+ on-page checks in one API: the checks a paid crawler charges for, free.
- Developer-first — clean JSON, an OpenAPI 3 spec, and copy-paste samples in five languages (cURL, PHP, Node.js, Python, C#).
- AI-ready — an MCP server and OpenAPI actions let ChatGPT, Claude and custom agents call it directly, plus a dedicated AI-readiness endpoint that scores agent-discovery and AI-search signals.
- Free — 100 requests/day on the free tier, no credit card and no enterprise contract.
Frequently asked questions
Is the RankNibbler SEO API free?
Yes. Every account includes a free tier with 100 API requests per day — no credit card and no enterprise contract. Create a free account and generate a key from your dashboard.
What does the on-page SEO API check?
40 authenticated endpoints covering 100+ on-page signals: title tags, meta descriptions, headings, content and readability, internal and external links, redirect chains, indexability (robots, canonical, noindex), structured data (JSON-LD, microdata, Open Graph, Twitter cards), images and alt text, keyword density and keyword placement, page timing, real-user Core Web Vitals, Lighthouse scores, AI & agent readiness, AI citability, page fingerprints and diffs, response-header cookies, uptime, sitemap URL harvesting, and a full-site crawl with duplicate tags, duplicate content, orphan pages, broken links and an internal link graph. It does not return backlink data, keyword search volume, SERP positions or competitor rankings.
Can AI agents like ChatGPT or Claude use the API?
Yes. RankNibbler ships an MCP server and OpenAPI 3 actions, so ChatGPT, Claude and custom agents can call it directly. There's also a dedicated /api/v1/ai-readiness endpoint that scores agent-discovery standards and AI-search content signals.
What format does the API return?
Clean JSON on every endpoint, documented by an OpenAPI 3 spec, with copy-paste samples in cURL, PHP, Node.js, Python and C#.
How do I authenticate?
Pass your API key in an X-API-Key header (or a ?key= query parameter). Keys are created from your free RankNibbler dashboard.
Is there a rate limit?
The free tier allows 100 requests per day, shared across every API key on the account, with burst protection (60 requests/10s per IP and 30 per key) to keep responses fast. Need a higher limit? Get in touch.
Get an API key
API keys are created from your free RankNibbler account. Create an account, then generate a key from your dashboard.