Find the AI‑written sentences in any text.
One API call returns a score, a verdict and the exact sentences that read as machine-written. 26 languages, and it catches text that has been through a humanizer.
curl https://textguard-web-production-vqffnu.laravel.cloud/v1/analyze \ -H "Authorization: Bearer $LOOKAI_KEY" \ -H "Content-Type: application/json" \ -d '{"text": "My grandfather used to say the crash started in the farms…"}'
import os, requests r = requests.post( "https://textguard-web-production-vqffnu.laravel.cloud/v1/analyze", headers={"Authorization": f"Bearer {os.environ['LOOKAI_KEY']}"}, json={"text": essay}, timeout=180, ) result = r.json() print(result["predicted_class"], result["score"])
const r = await fetch("https://textguard-web-production-vqffnu.laravel.cloud/v1/analyze", { method: "POST", headers: { Authorization: `Bearer ${process.env.LOOKAI_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ text: essay }), }); const result = await r.json();
$result = Http::withToken(env('LOOKAI_KEY')) ->timeout(180) ->post('https://textguard-web-production-vqffnu.laravel.cloud/v1/analyze', ['text' => $essay]) ->json();
{
"predicted_class": "inconclusive",
"score": 52.4,
"ai_fraction": 0.31,
"confidence": "medium",
"language": "en",
"words": 612,
"sentences": [
{
"index": 2, "start": 226, "end": 437,
"score": 96.1, "label": "ai",
"highlight": true
},
…
],
"usage": {
"words_charged": 612,
"words_this_period": 157690
}
}
From sign-up to your first result in a few minutes
- 1
Create a key
Sign up, open the dashboard and create an API key. The first 10,000 words of every month are free.
- 2
Send a text or a file
POST plain text, or a PDF, DOCX, TXT or Markdown file. The result comes back in the same request, usually in 1 to 5 seconds.
- 3
Show the verdict
Display the class, the score and the highlighted passages. You pay only for the words analysed.
A verdict you can act on, not just a number
Every response carries one of three classes. When the evidence is weak the API says so instead of guessing, and points to the passages that moved the score, so a person can look before anyone is accused.
- human
- Written by a person. Nothing is highlighted, even if a sentence on its own looks suspicious.
- ai
- Generated by a language model, including text passed through a humanizer or a paraphraser.
- inconclusive
- Not enough evidence either way, often a human text with an AI-written passage, which is highlighted for review.
In our held-out tests, fewer than 1 in 100 human-written texts reach the AI band. Single sentences are never highlighted on their own: a passage needs at least two.
-
My grandfather used to say the crash started in the farms, years before Wall Street noticed.
6 -
Prices for wheat and cotton fell through the twenties.
11 -
Furthermore, the stock market crash of 1929 was the result of a complex interplay of factors.
96 -
These elements combined to create an environment in which a sudden loss of confidence could trigger collapse.
93 -
When I read the newspaper archive for October 24, what struck me was how calm the first reports sound.
4 -
One columnist blamed "nervous women investors," which says more about 1929 than about the market.
41
Built for teams that review a lot of writing
Education
Check essays and assignments inside your LMS, with the passages to discuss highlighted.
Legal and compliance
Screen statements, submissions and reports before they enter a case file.
Publishing
Review pitches, freelance copy and reader submissions at the volume they arrive.
Hiring
See which parts of a cover letter or a written test the candidate wrote themselves.
26 languages, each calibrated on its own
The same writing lands differently in every language, so each one has its own calibration. Other languages still get a score, marked as low confidence.
- English
- Spanish
- French
- German
- Portuguese
- Italian
- Dutch
- Polish
- Russian
- Ukrainian
- Turkish
- Arabic
- Hindi
- Chinese
- Japanese
- Korean
- Bulgarian
- Catalan
- Czech
- Croatian
- Slovak
- Slovenian
- Greek
- Indonesian
- Romanian
- Vietnamese
Pay for the words you analyse
One price, billed monthly. No subscription and no minimum.
That is €0.050 per 1,000 words, the same rate at any volume.
- The first 10,000 words of every month are free, without a card.
- Add a card when you need more. On the 1st we charge it for the words you used the month before.
- Failed requests are never billed, and you can see the bill so far in your dashboard at any time.
Your texts stay yours
Built for schools, law firms and publishers that handle other people's writing.
How we handle data- Never stored
- Texts and files are analysed in memory and discarded. They are not logged and never used for training.
- Only what you need for billing
- Each request keeps its date, word count, language and verdict, for your history and invoices.
- Keys you can revoke
- Keys are stored as a one-way hash, and revoking one stops it immediately.
- Payments by Stripe
- We never see or store card details. Everything is served over HTTPS.
Questions
Do you store the texts I send?
No. Texts are analysed in memory and discarded. We keep the date, word count, language and verdict of each request for your usage history and invoices, never the text itself, and nothing is used for training.
Which AI models does it detect?
Text from current models such as GPT, Claude, Gemini, DeepSeek, Mistral, Grok and Kimi, including text rewritten by humanizer tools and paraphrasers.
How accurate is it?
In our held-out tests fewer than 1 in 100 human texts reach the AI band. No detector is perfect, so treat a result as evidence for a person to weigh, especially for short texts or low-confidence results.
How are words counted?
Words are separated by spaces. In Chinese and Japanese, two characters count as one word. Failed requests are never billed.
How does billing work?
The first 10,000 words of every month are free. After that you need a card on file, and on the 1st we charge it for the words you used the month before, at €50 per million words plus VAT. Stripe emails you the invoice.
What are the limits?
From 30 to 15,000 words per request and 60 requests a minute per key. Ask us if you need more.
Try it on your own texts
10,000 words free every month, and an API key in under a minute.