text-processing.com Sentiment API
Free sentiment analysis API with no key: POST a block of text, get back a positive, negative or neutral label with probabilities for each class. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the text-processing.com Sentiment API?
text-processing.com exposes a free sentiment classifier that needs no API key. POST text as a form field and it returns a `label` of `pos`, `neg` or `neutral`, together with the probability it assigned to each of the three classes.
Free sentiment endpoints that do not want a key are close to extinct, which is why this one — built on NLTK by the author of the Python text-processing books — is still in circulation years after it appeared. It is a classical Naive Bayes classifier rather than a transformer, and knowing that shapes what you should expect: fast, cheap, entirely deterministic, and easily fooled by sarcasm, distant negation and domain jargon.
The probabilities are the part worth using. A `label` on its own hides how close the call was, whereas the captured sample shows 0.92 positive against 0.08 negative — a confident classification. When the top two probabilities sit near each other, the sensible move is to treat the result as unclassified rather than accepting a coin flip. One quirk to plan for: the response declares `text/html` in its Content-Type header while the body is genuine JSON, so a strict client that trusts the header will refuse to parse a perfectly good response.
Quick facts
- Base URL
https://text-processing.com/api- Authentication
- No API key and no account. An unpublished per-day request cap applies per IP address.
- Rate limit
- An unpublished daily cap applies per IP. Batch where you can and cache results for identical text.
- Pricing
- Free.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the text-processing.com Sentiment API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Classify the sentiment of a sentence
POST https://text-processing.com/api/sentiment/
curl -X POST 'https://text-processing.com/api/sentiment/' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'text=great+movie+loved+it'const res = await fetch("https://text-processing.com/api/sentiment/", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
body: JSON.stringify(text=great+movie+loved+it),
});
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
headers = {
"Content-Type": "application/x-www-form-urlencoded",
}
payload = text=great+movie+loved+it
res = requests.post("https://text-processing.com/api/sentiment/", headers=headers, json=payload, timeout=20)
res.raise_for_status()
print(res.json()){
"label": "pos",
"probability": {
"neg": 0.08046427245907817,
"pos": 0.9195357275409218,
"neutral": 0.0025818434561060725
}
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
text | form field | Required | The text to classify, sent as `application/x-www-form-urlencoded` in the POST body. There is no GET form. great movie loved it |
language | form field | Optional | Language of the text. English is the default and by far the best supported. english |
Response fields
labelstring- The winning class: `pos`, `neg` or `neutral`.
probability.posfloat- Probability the text is positive, 0 to 1.
probability.negfloat- Probability the text is negative.
probability.neutralfloat- Probability the text carries no strong polarity. This is scored separately, so the three values do not neatly sum to 1.
What you can build with the text-processing.com Sentiment API
- Score inbound support tickets so angry ones surface first
- Flag negative product reviews for manual follow-up
- Add a rough mood indicator to a feedback dashboard
- Teach text classification without provisioning API keys for a class
Common errors and how to fix them
Client refuses to parse the response
The Content-Type header says `text/html` although the body is JSON.
Fix: Parse the body as JSON explicitly rather than letting your HTTP client decide from the header.
405 Method Not Allowed
The request was sent as GET.
Fix: This endpoint is POST-only, with the text as a urlencoded form field — not JSON, and not a query string.
Confidently wrong on sarcasm
It is a bag-of-words Naive Bayes classifier with no understanding of context.
Fix: Use the probabilities: treat near-ties as unclassified, and do not put it in charge of anything consequential on its own.
Requests start failing
You have hit the unpublished daily cap for your IP.
Fix: Cache by text hash, deduplicate before sending, and spread bulk jobs across days.
text-processing.com Sentiment API — frequently asked questions
Is this sentiment API really free with no key?
Yes. There is no key and no account, though an unpublished daily cap applies per IP, so it is not suited to bulk classification.
Why does the response say text/html?
The service sets that header even though the body is valid JSON. Parse the body explicitly rather than trusting the declared content type.
How accurate is it?
It is a classical Naive Bayes classifier trained on general text. On plain, clearly worded opinions it does well; sarcasm, negation and domain jargon defeat it regularly. The per-class probabilities are your guide to when to trust a call.
Can I send a batch of texts?
No. One text per request. Deduplicate and cache aggressively, because the daily cap makes repeated calls for identical text expensive.
Tools that pair with this API
Extractive Text Summarizer
Summarise long text by picking out its most significant sentences using Luhn's classic algorithm. Statistical only, and it runs in your browser.
Keyword Extractor (RAKE)
Pull the key phrases out of any text with the RAKE algorithm. Ranks multi-word phrases by co-occurrence score, entirely in your browser.
Readability Score Checker
Check readability with Flesch Reading Ease and Flesch–Kincaid Grade Level. See word, sentence and syllable counts plus a plain-English interpretation band.
Word Counter
Count words, characters, sentences, paragraphs and estimated reading time instantly. Free online word counter for essays, blogs and social media.
text-processing.com Sentiment is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.