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.
- 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.
- 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.
- 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.
- 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 comparing | CiteTrue | Grok |
|---|---|---|
| What it is built for | Checking whether references exist and support what cites them | Answering questions and writing text |
| Can it invent a reference? | No — every result points at a database record you can open | Yes. This is the problem the category exists to solve |
| Where the answer comes from | Crossref, OpenAlex and web sources, shown per reference | Model output, sometimes with search results attached |
| A 50-reference bibliography | Paste it once, get a per-reference verdict | Needs splitting, and results drift as the context fills up |
| Repeatability | Same reference, same verdict, with a stored report | Ask twice, get two different answers |
| Cost | Free for 30 references a day; $9.99/mo for 1,000 | Free tier or about $20/mo, but not per reference |
| Convenience | Browser extension, macOS app, API and MCP — including inside your AI workflow | Chat window, copy and paste |
| Worth knowing | — | Fast 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.