Try the RankNibbler SEO API

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:

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:

Page intelligence

Performance & availability

Lighthouse, screenshot, waterfall and Core Web Vitals depend on Google upstream services and can return 503 or 429.

Site crawl

Discovery & account

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

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:

  1. curl -H "X-API-Key: YOUR_KEY" \
  2. "https://www.ranknibbler.com/api/v1/audit?url=https://example.com"
  1. $ch = curl_init("https://www.ranknibbler.com/api/v1/audit?url=" . urlencode("https://example.com"));
  2. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  3. curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: YOUR_KEY"]);
  4. $audit = json_decode(curl_exec($ch), true);
  5. echo $audit["score"];
  1. const res = await fetch(
  2. "https://www.ranknibbler.com/api/v1/audit?url=" + encodeURIComponent("https://example.com"),
  3. { headers: { "X-API-Key": "YOUR_KEY" } }
  4. );
  5. const audit = await res.json();
  6. console.log(audit.score);
  1. import requests
  2. res = requests.get(
  3. "https://www.ranknibbler.com/api/v1/audit",
  4. params={"url": "https://example.com"},
  5. headers={"X-API-Key": "YOUR_KEY"},
  6. )
  7. print(res.json()["score"])
  1. using var http = new HttpClient();
  2. http.DefaultRequestHeaders.Add("X-API-Key", "YOUR_KEY");
  3. var url = "https://www.ranknibbler.com/api/v1/audit?url="
  4. + Uri.EscapeDataString("https://example.com");
  5. var json = await http.GetStringAsync(url);
  6. Console.WriteLine(json);
Response
  1. {
  2. "url": "https://example.com",
  3. "score": 82,
  4. "grade": "B",
  5. "issueCount": 3,
  6. "issues": ["Missing meta description", "2 images missing alt text"],
  7. "usage": { "used": 7, "dailyLimit": 100, "tier": "free" }
  8. }

Why RankNibbler

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.

Create a free account   or sign in