Fact-check the draft before it goes out.
Lenz is a fact-checking service for newsletters, briefs and posts. It identifies factual statements it can check against independent public sources and returns a result for each.
Example: a newsletter paragraph
“Spotify reported 696 million monthly active users in the second quarter of 2025, up 11% from a year earlier. The company was founded in Stockholm in 2006 and launched in the United States in July 2009. Its premium subscriber count passed 276 million in the same quarter.”
Full verification
- Spotify reported 696 million monthly active users in the second quarter of 2025, an 11% increase from the second quarter of 2024. True high confidence 10/10 sec.govnewsroom.spotify.coms29.q4cdn.com+14 more
- Spotify had more than 276 million premium subscribers in the second quarter of 2025. Mostly True high confidence 7/10 sec.govnewsroom.spotify.combusinesswire.com+13 more
- Spotify was founded in Stockholm in 2006. True high confidence 10/10 allabolag.sesec.govlei.report+15 more
- Spotify launched in the United States in July 2009. False high confidence 1/10 techcrunch.comtheverge.comengadget.com+15 more Spotify did not launch in the United States in July 2009. Contemporaneous reporting and launch announcements establish that the service arrived in the U.S. on July 14, 2011, following years of anticipation. The limited 2009 material either predicted a future launch or carries inconsistent dating.
Checked 7 September 2026. Open a row for the sources it used and the reasoning that weighed them.
Fact-check AI-generated newsletters, briefs, posts and reports before publishing.
-
The draft is ready
An issue, a brief, a post, a report — whether a model wrote the first pass or you did.
-
Lenz finds the checkable statements
You hand over the whole piece rather than a list. Lenz picks out the factual statements it can check against independent public sources and leaves the opinions and the recommendations alone.
-
Each one comes back with a result
An assessment gives you a verdict and a confidence level per statement in about 10 seconds, which is how you sort a whole issue; it does not hand back the sources. Send the statements that matter to a full verification, where the verdict comes from sources Lenz went and found rather than from a reading of the statement alone.
-
You decide what to publish
Read the results, and the statements Lenz could not substantiate, before the issue goes out. Cut a line, fix a figure, or run a full verification on the one you are least sure of. Lenz returns results — the editorial call is yours.
-
Publish, with the checks behind it
Each full verification keeps a record you can reopen: the statement as framed, the verdict and its score, every source with its date, and the reasoning that weighed them. A figure questioned after publication has a check behind it rather than a memory of one.
Market briefs, news digests and articles
Paste the whole piece. Lenz returns a result for each statement it finds, not one verdict for the document, so a wrong figure is named on its own with its own sources rather than leaving you to re-read the draft.
Blog posts, press releases and social media posts: the statistics in them
A statistic is checked like any other statement: Lenz looks for where the number was published and reports what it found, including when that is nothing.
Check ChatGPT-drafted content and X or LinkedIn posts inside Claude or Cursor.
Connect Lenz to Claude with one sign-in, no key to paste; Cursor and Claude Code take one command with your key. Then paste the content — a post, a thread, a whole draft, whether ChatGPT wrote it or you did — and ask for a check in the same window. The results come back in the conversation you are already working in.
Automate checks on recurring LLM output: briefs, digests, documents.
For a daily brief, a scheduled digest or a batch of documents a model drafts, a short Python script: extract the statements, submit them together for assessment, and route False, Mostly False, Mixed and low-confidence results to your reviewer. That routing is your policy; Lenz returns the results.
Python pip install lenz-io
# a recurring draft: extract the statements, assess them together, route the flagged ones from lenz_io import Lenz client = Lenz(api_key="lenz_...") extracted = client.extract(text=draft) # identified_claims is empty when the text yields a single statement claims = extracted.identified_claims or [extracted.claim] r = client.assess(claims=claims) # one row per statement, same order # your routing policy. "Error" means the item was not checked — never read it as clean flagged = [c for c in r.claims if c.verdict in ("False", "Mostly False", "Mixed", "Error") or c.confidence == "low"] send_to_reviewer(draft, flagged) # your own function: an email, a ticket, a Slack message
The full sequence is extract → assess → verify → ask. Pipelines, webhooks and the TypeScript SDK are on the developer page.
What a full verification looks like.
A full verification is the investigation, not a longer assessment: Lenz searches independent public sources for the statement, reads them, has models argue both sides on what it found and a panel review the arguments, then returns the verdict with those sources and the reasoning, the arguments for and against kept rather than averaged away. About 90 seconds per statement.
Pricing
Free tier, no card: 100 assessments or 10 full verifications a month, in any combination. Developer is $99 a month for 5,000 assessments or 500 full verifications, the same way, and Scale is $399 a month for production volumes. Every plan includes 1,000 extractions a day, an extraction being one call however long the text.
Frequently asked questions
They are two different checks. An assessment is a judgement: a panel of models reads the statement and returns a result with a confidence level, in about 10 seconds, so you can sort a whole issue quickly. A full verification is an investigation: Lenz searches independent public sources, weighs them and returns the verdict with those sources and the reasoning, in about 90 seconds per statement.
No. Connecting Lenz to Claude is one sign-in and needs no key. Cursor and Claude Code take one command with your key. You can also use a script to automate checks.
Nothing is invented to fill the gap. When Lenz finds no public evidence for a statement, the finding says so and the result scores low. Treat that statement as unverified.
Submissions through the API and the connectors are private to your account.