Text Sentiment & NLP Insights API

Analyze sentiment, emotions, polarity, subjectivity, named entities, and keywords from any text with a single API call.

Hosted on RapidAPI. Bring your own RapidAPI key and start analyzing text in seconds.

What you get

  • Overall sentiment: positive, neutral, negative
  • Polarity and subjectivity scores
  • Emotion scoring (joy, trust, etc.)
  • Keyword extraction and NER
  • Reconstructed and normalized text

Live Text Analyzer

Paste any text below, choose the endpoint, add your RapidAPI key, and see the raw JSON response in real time.

Your key is only used in your browser to call RapidAPI directly. No keys are stored or logged by this page.


        

Core Capabilities

  • Basic Sentiment – quick positive / neutral / negative label with scores.
  • Advanced Insights – emotions, entities, keywords, reconstructed text, and more.
  • Simple JSON – predictable, flat JSON objects designed for dashboards and automations.
  • Fast integration – fetch, Axios, cURL, Python requests, or any HTTP client.

Great for

  • Monitoring customer feedback and reviews.
  • Enriching chat transcripts and support tickets.
  • Ranking social posts by sentiment or emotion.
  • Building internal tooling or analytics dashboards.

Quickstart in Three Steps

  1. Subscribe on RapidAPI and copy your API key.
  2. Make a POST request to /v1/basic or /v1/advanced with a JSON body containing a text field.
  3. Use the JSON response in your app, dashboard, or automation flow.

Code Examples

Plug the API into your stack using one of these minimal examples. Replace YOUR_KEY with your RapidAPI key.

Basic Sentiment (JavaScript Fetch)

fetch("https://text-sentiment-nlp-insights-api.p.rapidapi.com/v1/basic", {
  method: "POST",
  headers: {
    "content-type": "application/json",
    "X-RapidAPI-Key": "YOUR_KEY",
    "X-RapidAPI-Host": "text-sentiment-nlp-insights-api.p.rapidapi.com"
  },
  body: JSON.stringify({
    text: "This API works incredibly well. Highly recommended."
  })
})
  .then(res => res.json())
  .then(console.log);

Advanced Insights (Python Requests)

import requests

url = "https://text-sentiment-nlp-insights-api.p.rapidapi.com/v1/advanced"

payload = {
    "text": "The service was slow at first, but the support team was very helpful."
}

headers = {
    "content-type": "application/json",
    "X-RapidAPI-Key": "YOUR_KEY",
    "X-RapidAPI-Host": "text-sentiment-nlp-insights-api.p.rapidapi.com"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())

cURL (Basic Sentiment)

curl --request POST \
  --url https://text-sentiment-nlp-insights-api.p.rapidapi.com/v1/basic \
  --header 'content-type: application/json' \
  --header 'X-RapidAPI-Key: YOUR_KEY' \
  --header 'X-RapidAPI-Host: text-sentiment-nlp-insights-api.p.rapidapi.com' \
  --data '{"text":"Great product, but delivery was slow."}'

Node.js (Axios – Advanced)

import axios from "axios";

const options = {
  method: "POST",
  url: "https://text-sentiment-nlp-insights-api.p.rapidapi.com/v1/advanced",
  headers: {
    "content-type": "application/json",
    "X-RapidAPI-Key": "YOUR_KEY",
    "X-RapidAPI-Host": "text-sentiment-nlp-insights-api.p.rapidapi.com"
  },
  data: {
    text: "The pricing was fair and the support team did a great job."
  }
};

axios.request(options)
  .then(res => console.log(res.data))
  .catch(console.error);

Response Examples

Basic Sentiment Response

{
  "sentiment": "positive",
  "polarity": 0.82,
  "subjectivity": 0.65
}

Advanced NLP Response

{
  "overall_sentiment": "positive",
  "overall_polarity": 0.42,
  "overall_subjectivity": 0.63,
  "emotions": {
    "joy": 0.70,
    "trust": 0.50
  },
  "keywords": ["service", "support team"],
  "entities": [
    { "text": "support team", "label": "ORG" }
  ],
  "input_text": "The service was slow at first, but the support team was very helpful."
}