Citation & Link Verifier - Check AI Sources, Dead Links, Quotes avatar

Citation & Link Verifier - Check AI Sources, Dead Links, Quotes

Pricing

from $2.00 / 1,000 citation checkeds

Go to Apify Store
Citation & Link Verifier - Check AI Sources, Dead Links, Quotes

Citation & Link Verifier - Check AI Sources, Dead Links, Quotes

Verify the links and citations in any text (AI answers, articles, reports): does the URL exist, where does it really go, what is the page's real title, date and author, and is the quoted passage actually there? Finds dead links, soft-404s, mismatched quotes; suggests Wayback copies. Pay per URL.

Pricing

from $2.00 / 1,000 citation checkeds

Rating

0.0

(0)

Developer

Luca Pietrini

Luca Pietrini

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Citation & Link Verifier — check that the sources in a text really exist and say what is claimed

Paste an AI answer, an article draft, a research note or a report. Every link in it is fetched live and the Actor tells you, per URL:

  • does it exist, and where does it really lead (404, soft-404, redirect chain, redirect to the homepage, blocked, unreachable);
  • what is actually on the page — real title, canonical URL, publication date, author, site name, word count;
  • if you provide the quoted passage, whether that text is really on the page;
  • if you provide a title, author or date, whether they match;
  • for dead links, the last Internet Archive snapshot so the reference can be repaired.

Language models are confident about sources they have never opened. This Actor is the independent check that turns "the AI cited something" into "the citation holds".

Verdicts

verdictMeaning
verifiedReachable, and every claim you provided (quote / title / author / date) matches the page
reachableReachable HTML page; you gave no claim to check beyond the URL
mismatchReachable, but a claim fails: the quote is not on the page, the title is unrelated, the date is off
unverifiedReachable but not inspectable (PDF, binary, non-HTML)
paywalledReachable, the page shows paywall markers and the quote is not visible
not-foundHTTP 404/410, or a "page not found" page served with HTTP 200 (soft-404)
redirected-homeThe URL now redirects to the site's homepage: the original page is gone
blockedHTTP 401/403/429 — the site refuses automated access; check by hand or with a proxy
error5xx or an unexpected failure
unreachableDNS, connection, SSL or timeout failure

Each row carries confidence (0–1), reasons in plain English, the redirect chain, and the evidence used (claims.quote.coverage, claims.title.similarity, claims.date.deltaDays).

Input

Three ways, combinable:

OptionUse
Text to verifyFree text or Markdown; all http(s) links are extracted
URLs to verifyOne per line
Structured citations[{ "label": "[1]", "url": "…", "quote": "…", "title": "…", "author": "…", "date": "2026-09-01" }] — the fields you provide become claims to check

Options: Internet Archive lookup for dead links (on), date tolerance (2 days), maximum URLs, concurrency (≤ 4 requests per host), optional proxy for publishers that block datacenter traffic.

Output

{
"label": "[3]",
"url": "https://peps.python.org/pep-0008/",
"verdict": "verified",
"ok": true,
"confidence": 0.9,
"reasons": ["reachable; all provided claims match the page"],
"status": 200,
"finalUrl": null,
"redirects": 0,
"page": {
"title": "PEP 8 – Style Guide for Python Code | peps.python.org",
"canonical": "https://peps.python.org/pep-0008/",
"published": null,
"author": null,
"siteName": null,
"wordCount": 7094,
"isHtml": true
},
"claims": {
"quote": { "checked": true, "found": true, "coverage": 1.0, "method": "exact" },
"title": { "expected": "PEP 8 – Style Guide for Python Code", "actual": "PEP 8 – Style Guide for Python Code | peps.python.org", "similarity": 0.83 }
},
"archive": null,
"checkedAt": "2026-09-21T07:10:00+00:00"
}

A SUMMARY record in the run's key-value store counts verdicts.

How claims are checked

  • Quote — exact match first; otherwise word 4-gram coverage of the quote in the page text (≥ 60% counts as found, tolerant to small edits and whitespace). Scripts, styles and navigation are excluded from the page text.
  • Title — token Jaccard similarity between your title and the page's <title> / h1, stop words removed; below 0.3 is a mismatch.
  • Date — compared with article:published_time, JSON-LD datePublished or common meta tags, normalised to UTC.
  • Author — against author meta tags and JSON-LD author.name.
  • Soft-404 — HTTP 200 pages with fewer than 400 words whose title or text says "not found" (in several languages).

Pricing

Pay per event: one event per URL checked, plus a smaller one per Internet Archive lookup made for a dead link. No subscription. Set a maximum charge on the run to cap the cost.

Try it — three inputs

  1. An AI answer, pasted as text — every link is extracted and checked; you learn which exist, which moved, which are dead.
  2. A bibliography with quotes — structured citations {url, quote, title, date}; you learn whether each quoted passage is really on the page and whether title/date match.
  3. The links of an old article — URLs one per line with Internet Archive lookup on; dead ones come back with an archived copy to relink.

Inside an agent conversation, the same check is the verify_citations tool of the Web Hygiene MCP server (Claude Code plugin: /plugin marketplace add Luca-003/web-hygiene-claude-plugin).

Use cases

  • AI output QA — verify every source an assistant cited before publishing or acting on it.
  • Editorial — check the links in an article or newsletter before it goes out; get archive links for the dead ones.
  • Research and legal — confirm that quoted passages appear in the cited documents.
  • Link rot audits — pass the bibliography of an old page and see what still holds.
  • Agents — call it as a tool (also available inside the Web Hygiene MCP server as verify_citations).

Limits

  • JavaScript-rendered pages are read as served (no browser). PDFs are reported as reachable but not inspected.
  • Bodies are read up to 1.5 MB.
  • Sites that block automated access return blocked; a residential proxy usually helps.

Public pages are fetched with a clear User-Agent, once, read-only. No personal data is collected or stored.

Feedback

A page misread, or a check you need? Open an issue on the Issues tab. If it saved you time, a review helps others find it.

Changelog

  • 0.1 — initial release.