# Can ChatGPT Check Backlinks? We Tested 3 LLMs (2026)

> Same stripe.com backlink question to ChatGPT, Claude, and Gemini: hedge, refuse, or hallucinate. Then the live engine — method and dates.

- Canonical page: https://backlinkmcp.com/articles/can-llms-check-backlinks
- Last updated: 2026-10-15
- MCP endpoint: `POST https://backlinkmcp.com/api/mcp` (JSON-RPC 2.0, streamable HTTP, no install, 13 tools)
- REST: `GET https://backlinkmcp.com/api/v1/authority?domain=example.com`, `/api/v1/backlinks?domain=example.com` ([docs](https://backlinkmcp.com/docs.md))
- Pricing: Free = 10 lookups/day per IP, 25 backlink rows, no signup. Pro = $19/mo, unlimited daily lookups, 100 rows, `ai_visibility_report` (operator-issued; self-serve checkout is not live)
- Data limits: the index is domain-level (referring domains with authority + outbound counts). No per-link URLs, anchor text or rel/dofollow. `domain_rating` is not Moz DA and not a Google factor
- Site index for agents: https://backlinkmcp.com/llms.txt

---

[← Articles](https://backlinkmcp.com/articles)

# Can ChatGPT Check Backlinks? We Tested 3 LLMs

By John Smalls, Founder · Published 2026-07-06 · Updated 2026-10-15

<img class="hero-img" src="/og/backlinkmcp-llm-backlink-test-hero.jpg" width="1200" height="630" fetchpriority="high"
alt="Three chat panels with empty answers versus a structured backlink result from the live engine">

A chatbot cannot query a live link graph unless you give it a tool. On 2026-07-06 we sent one stripe.com question to ChatGPT, Claude, and Gemini: count, ranked list, live check. Hedge, refuse, or hallucinate. We did not re-prompt those three models on 2026-08-19; we re-queried our engine. For scale: on 2026-10-15 our public API reported 702,082 referring domains for stripe.com (`GET https://backlinkmcp.com/api/v1/authority?domain=stripe.com`), a live count no chatbot can produce from memory.

Ask an AI chatbot for backlink data and you'd expect a straight answer — these models sound confident about almost everything else. The 2026-07-06 test was deliberately specific. It asks for three separate facts, and it's the kind of thing an SEO or an AI agent genuinely needs to know:

How many referring domains does stripe.com have right now? List its top 10 backlinks ranked by the linking domain's authority, and tell me which of those links are currently live.

Three facts are bundled in there: a **count** (referring domains), a **ranked list** (top 10 by authority), and a **live check** (which links still exist today). The results split cleanly — and not in the way you'd expect. The three chatbots produced three *different* kinds of failure. Here's each one, verbatim, then the same query run through [BacklinkMCP](https://backlinkmcp.com/).

## The three answers, verbatim

ChatGPT
logged-out · no tools/web
Hedged & declined

ChatGPT was honest about its limits. It gave one caveated number and then declined the rest:

"There isn't a public, real-time index of backlinks that I can query directly… Referring domains to stripe.com: approximately 609,490 (Semrush, May 2026 snapshot)."

"Without access to a proprietary backlink index, I can't accurately identify or verify the current top 10 live backlinks to stripe.com."

It even spelled out why: the top-backlink reports live behind paywalls, verifying a link is live "requires crawling each linking page in real time," and any authority ranking depends on the specific tool. All true. It just can't do any of it.

Claude
Opus 4.8 · web search ON
Searched, then refused to fabricate

This is the interesting one, because Claude actually *searched the web* first — and still concluded it couldn't answer:

"I searched, and here's the honest situation: none of the publicly indexable sources give verifiable, current backlink figures for stripe.com."

"Top 10 backlinks ranked by domain authority. This is the part I genuinely cannot produce without fabricating. I could easily generate a plausible-looking list — wikipedia.org, github.com, and so on — but it would be invented… I won't do that."

Claude gave no number at all, called the live-status question impossible "without the underlying list from a tool," and pointed the user to Ahrefs, Semrush, Moz, and Majestic — all paid. That's the right, careful answer. It also happens to describe exactly the gap this product fills.

Gemini
Flash · logged in, native web access
Confidently hallucinated

Gemini did the one thing Claude explicitly refused to do. It produced a clean, confident, ranked top-10 table — with invented domains, invented authority scores, and a "live status" column for every row:

| # | Linking domain (as returned) | "DA" | Claimed status |
| --- | --- | --- | --- |
| 1 | front.com/legal/privacy-notice | 84 | "Live" |
| 2 | kuula.co | 72 | "Live" |
| 3 | front.com/legal/cookie-policy | 71 | "Live" |
| 4 | elitelawyer.com/profile | 69 | "Live" |
| 5 | help.roll20.net | 67 | "Live" |
| … | passslot.com, brawlify.com, gardengrow.co.nz… | 60+ | "Live" |

Then it justified the fabrication:

"The vast majority of Stripe's high-authority backlinks are permanently live… they are built directly into the infrastructural plumbing of the internet."

None of those "top linkers" appear anywhere near the top of a real view of stripe.com's link graph (you'll see the actual ones below). Gemini asserted "Live" on ten links it never fetched. If you piped that into a report or an agent workflow, you'd be acting on numbers that don't exist.

## Why all three struggle — it's the same root cause

The failures look different, but they trace to one fact: **a language model has no backlink index and no live crawler.** Backlink data isn't sitting in the model's weights, and it isn't reliably reconstructable from a few web searches. That leaves three ways to respond to "list stripe.com's top backlinks and tell me which are live":

- **Hedge and decline** (ChatGPT) — honest, but you leave empty-handed.

- **Refuse to fabricate** (Claude) — the most rigorous answer, and still no data.

- **Fabricate confidently** (Gemini) — you get a table, but it's fiction, including the "live" column that no chatbot can actually check.

The honest models are telling you the truth: this is a data problem, not a reasoning problem. It needs a real index for the counts and ranking, and a real-time fetch for the live check. That's a tool's job, not a chatbot's.

A fair caveat: this was one query, on one day, to one model each (ChatGPT logged-out, Claude Opus 4.8 with web search, Gemini Flash) — and LLMs are non-deterministic, so re-running could shuffle who hedges and who invents. The point isn't a leaderboard; it's the structural gap. None of these models has a backlink index or a live crawler, so "list the top backlinks and tell me which are live" will always be a guess unless you hand them a tool that actually has the data.

## The same question, run through BacklinkMCP

BacklinkMCP is that tool — reachable as a REST API or as an [MCP server](https://backlinkmcp.com/docs) an AI agent can call directly. Here's the same three-part question, answered from the live engine on the same day we ran the test above.

### 1. The count

Referring domains for stripe.com: **702,082**, at a `domain_rating` of **80.9** out of 100 — same figures on the 2026-07-06 test day and when we re-queried the authority path on 2026-08-19. Note this isn't "the truth" that ChatGPT's 609,490 got wrong — every backlink index crawls differently. The difference is that we return the number instead of declining. Listing/backlinks were 502 on 2026-08-19, so we did not refresh the ranked-linker table below; it stays the July snapshot.

As of 2026-08-19 we also coded r/DigitalMarketing threads arguing ChatGPT does not “check DA” — it reads pages. We did not re-prompt the three chatbots this day. July answers stay labeled July.

### 2. The ranked list

Top linkers to stripe.com by the linking domain's own authority, straight from the engine:

| Linking domain (`source`) | authority | links_out |
| --- | --- | --- |
| googleapis.com | 17,683,579 | 2,570 |
| cloudflare.com | 4,071,700 | 4,755 |
| jsdelivr.net | 2,627,074 | 392 |
| vimeo.com | 1,741,033 | 160 |
| fontawesome.com | 1,714,943 | 234 |
| x.com | 1,662,293 | 374 |
| paypal.com | 669,447 | 1,270 |

Read this list honestly: this is stripe.com's **link-graph footprint**, not a curated list of editorial backlinks. The top of it is dominated by developer infrastructure — Google APIs, Cloudflare, jsDelivr, Font Awesome — because Stripe's SDKs, fonts, and CDN assets are referenced across the web. Those are real linking domains, but "site loads a shared CDN that also serves Stripe" is a very different thing from "an editor wrote about Stripe and linked to it." A link graph tells you who links, at what scale, and how authoritative they are. It does not tell you a human vouched for the target.

One more field to read carefully: the `authority` column above is **not** the same scale as the `domain_rating` of 80.9. `domain_rating` is normalized 0–100. `authority` is a large raw integer from the underlying graph-ranking calculation, used only to rank the linkers against each other. A linker showing `authority: 1,741,033` is not "17,410 out of 100." Never compare the two numbers directly.

### 3. The live check — the part no chatbot can do

This is the fact ChatGPT declined, Claude called impossible without a tool, and Gemini simply invented. BacklinkMCP's `verify_link_live` tool does the thing all three lack: it fetches the linking domains' homepages **right now** and reports whether an actual `<a href>` to the target exists, with the evidence URL. We asked it whether five well-known developer sites still link to github.com on their homepages:

| Linker checked | Status | Evidence href found live |
| --- | --- | --- |
| tailwindcss.com | confirmed | github.com/tailwindlabs/tailwindcss |
| astro.build | confirmed | github.com/withastro/astro |
| prettier.io | confirmed | github.com/prettier/prettier |
| svelte.dev | confirmed | github.com/sveltejs |
| vitejs.dev | confirmed | github.com/vitejs/awesome-vite |

Five out of five confirmed, each with the exact URL the tool found on the page. That's a claim you can independently re-check by opening those homepages yourself — the opposite of Gemini's uncheckable "permanently live."

And here's where our own honesty contract matters. Run the *same* tool against stripe.com's default top linkers and it returns **0 of 8 confirmed** — googleapis.com 404s, jsdelivr.net times out, and Cloudflare, Vimeo, and PayPal show no link on their homepage. That's not a bug and it doesn't mean the links are gone. `verify_link_live` only fetches **homepages**, and those giant infrastructure domains don't carry a plain-HTML link to Stripe on their front page. So the tool reports `not_found`, meaning "no link on the homepage today" — never "the link was removed." A tool that told you those were "Live" would be doing exactly what Gemini did.

## Try the live lookup yourself

Static tables go stale. This runs against the same cached engine the REST API and MCP tools use — type any domain and read the real `source`, `authority`, and `links_out` fields for its top linkers:

## Why this belongs in an MCP tool, not a prompt

The point of this test isn't that chatbots are bad. Two of the three were admirably honest about not knowing. The point is that backlink data is a *tool call*, not a text-generation task — and the cleanest way to give an AI agent that tool is over MCP — the Model Context Protocol ([MCP vs a plain REST API](https://backlinkmcp.com/articles/mcp-vs-rest-api)). Wire BacklinkMCP into Claude, Cursor, or your own agent and the model stops guessing: it calls `domain_authority_score` for the count, `backlinks_for_domain` for the ranked list, and `verify_link_live` for the part it could never do on its own — and gets structured data back instead of a plausible-sounding paragraph. See [what each field actually means](https://backlinkmcp.com/articles/anatomy-of-a-backlink) for how to read that data once it's flowing.

## Try it yourself

The free tier runs 10 lookups a day per IP, with linker lists capped at 25 rows — enough to reproduce this whole test on any domain, no signup. The [free backlink checker](https://backlinkmcp.com/free-backlink-checker) is the fastest way to try a single domain in a browser; the [domain authority API](https://backlinkmcp.com/domain-authority-api) page has the exact request and response shapes for wiring it into code or an agent. Pro, at $19/mo, removes the daily cap and raises `backlinks_for_domain` to 100 rows. Full rate limits and error shapes are on the [docs page](https://backlinkmcp.com/docs) and [pricing page](https://backlinkmcp.com/pricing), or browse the rest of the write-ups on [the articles page](https://backlinkmcp.com/articles).

## Related

[Article hub](https://backlinkmcp.com/articles)
[MCP vs REST](https://backlinkmcp.com/articles/mcp-vs-rest-api)
[MCP + REST docs](https://backlinkmcp.com/docs)
[Free checker](https://backlinkmcp.com/free-backlink-checker)
[MCP for SEO](https://backlinkmcp.com/mcp-server-for-seo)
[AI-search playbook](https://backlinkmcp.com/articles/how-to-rank-in-ai-search)

## FAQ

**Did you re-test the three chatbots on 2026-08-19?**

No. July 2026 answers stay labeled July. We re-queried our engine’s authority path; listing/backlinks were 502 that day.

**Why didn’t verify_link_live confirm Stripe’s top infra linkers?**

It only fetches homepages. googleapis.com and similar rarely put a Stripe href on the front page. `not_found` means “not on the homepage today,” not “the link was removed.”
