CiteTrue vs Grok

Grok is where a lot of citation problems begin, and also where many people try to fix them. Asking it "is this reference real?" sometimes works — especially with web search turned on. The trouble is that you cannot tell the difference between a checked answer and a confident guess, because both come back in the same tone.

Why our verdicts hold up

Most citation checkers hand the whole judgement to a language model and show you what it says. Models hallucinate — that is the very problem this category exists to solve — so we put the model last, not first.

  1. 01

    1. Parse, don’t guess

    Every reference is split into its parts — authors, title, year, journal, DOI — by a parser built for citation formats, not by asking a model what it thinks the title is.

  2. 02

    2. Look it up in the authorities

    The parsed reference is queried against Crossref and OpenAlex, and against the open web when a reference has no DOI. What comes back are real records with real identifiers.

  3. 03

    3. Score the match deterministically

    Candidate records are scored with a Sørensen-Dice similarity over title tokens. A record counts as a match only if the title score clears 0.7 and the author list agrees — a year mismatch is reported as a notice, never quietly accepted. The same reference always produces the same score.

  4. 04

    4. Only then, ask a model

    A language model is called only when the deterministic pass finds no authentic match — to read the candidates and the source text and decide whether anything fits. It is the fallback, not the judge. That ordering is why a hallucinated verdict has nowhere to enter: by the time a model is involved, the evidence is already on the table.

The practical consequence: a reference marked authentic here matched a real record on title and authors, and you can open that record. It is not a model's impression of whether the citation looks plausible.

How fast it gets through a bibliography

Checking one reference means several lookups across different sources. Doing that one reference at a time is what makes a tool feel slow on a long bibliography, so we run them in parallel and stream the results back.

References checked in parallel
20 at a time in the app, 100 through the API
A 50-reference bibliography
Goes out as three waves of parallel lookups, not fifty queued ones
Results as they land
Streamed per reference — you read the first verdicts while the rest are still running
Bulk work
A supervisor’s stack of theses runs through the API at five times the app’s concurrency

Different jobs, compared

What you are comparingCiteTrueGrok
What it is built forChecking whether references exist and support what cites themAnswering questions and writing text
Can it invent a reference?No — every result points at a database record you can openYes. This is the problem the category exists to solve
Where the answer comes fromCrossref, OpenAlex and web sources, shown per referenceModel output, sometimes with search results attached
A 50-reference bibliographyPaste it once, get a per-reference verdictNeeds splitting, and results drift as the context fills up
RepeatabilitySame reference, same verdict, with a stored reportAsk twice, get two different answers
CostFree for 30 references a day; $9.99/mo for 1,000Free tier or about $20/mo, but not per reference
ConvenienceBrowser extension, macOS app, API and MCP — including inside your AI workflowChat window, copy and paste
Worth knowingFast and current, weakest of the four on scholarly metadata such as DOIs and journal names.

So which should you use?

Keep using Grok to write and to think. Just do not let it be the last thing that checks your citations — run the bibliography through CiteTrue before you submit, and you will have a per-reference record instead of a reassuring sentence. CiteTrue also runs as an MCP server, so Grok can call it and stop guessing.

Check your references now

30 references a day, free, no card. Paste a bibliography and see for yourself.

Other comparisons