We are currently building something exciting and will be launching soon. Registration is temporarily closed. Launching soon — registration temporarily closed.

EMOTIONS REFERENCE

Emotion Analysis Emotions

Emotion Analysis covers 20 emotions across 20 emotion groups. Each signal has a stable slug and code for programmatic access. Representative signals are shown publicly; the complete reference is available to customers.

20
Emotions
20
Emotion Groups
16
Languages
1
Avg / Group
10 results

Showing 10 representative emotions of 20. The complete taxonomy is available to customers.

Request access
# Indicator Slug code Emotion Group
001 joy joy joy.joy Joy
002 sadness sadness sadness.sadness Sadness
003 anger anger anger.anger Anger
004 fear fear fear.fear Fear
005 surprise surprise surprise.surprise Surprise
006 disgust disgust disgust.disgust Disgust
007 love love love.love Love
008 pride pride pride.pride Pride
009 shame shame shame.shame Shame
010 hope hope hope.hope Hope

Browse by Emotion Group

Alternatively, explore emotions grouped by their parent emotion group:

1

Joy

joy
1 Emotions

The complete signal list for this emotion group is available to customers. Request access to view it.

2

Sadness

sadness
1 Emotions

The complete signal list for this emotion group is available to customers. Request access to view it.

3

Anger

anger
1 Emotions

The complete signal list for this emotion group is available to customers. Request access to view it.

4

Fear

fear
1 Emotions

The complete signal list for this emotion group is available to customers. Request access to view it.

5

Surprise

surprise
1 Emotions

The complete signal list for this emotion group is available to customers. Request access to view it.

6

Disgust

disgust
1 Emotions

The complete signal list for this emotion group is available to customers. Request access to view it.

7

Love

love
1 Emotions

The complete signal list for this emotion group is available to customers. Request access to view it.

8

Pride

pride
1 Emotions

The complete signal list for this emotion group is available to customers. Request access to view it.

9

Shame

shame
1 Emotions

The complete signal list for this emotion group is available to customers. Request access to view it.

10

Hope

hope
1 Emotions

The complete signal list for this emotion group is available to customers. Request access to view it.

Reading Emotion Analysis output

What you can safely infer from a result - and what you must not.

Intended task

Rank which of the 20 documented emotions a piece of text expresses - the emotional register of the writing.

Input requirements

  • text - the only field analyzed; up to 4,096 Unicode code points. Over the limit is rejected with input_too_long, never truncated.
  • language - must be a language this analyzer supports. Unsupported codes are rejected with 400 unsupported_language, never analyzed as a different language.
  • analyzers - include "emotions"; up to 2 analyzers per request, one billed run each.
  • No context beyond text - no user IDs, history, profiles, or attachments are read or inferred.
  • Short text works, but single words and fragments carry little signal - very thin input can return an empty result.

Ordinary positive

“I was dreading this release all week, but seeing it finally live - I am honestly so proud of the team.”

pride very high
relief high
excitement medium

Safe inference: The text expresses pride and relief with an excitement undertone - a ranked mix, not a single verdict.

Confusing negative · Reported speech

“The customer sounded angry. You must be furious about the delay.”

What happens: Anger signals can fire - the text describes and attributes emotion rather than expressing it. Signals reflect the emotional language in the text, which may belong to a described third party rather than the author.

Why it's tricky: Secondhand emotion, quoted feelings, and hypothetical phrasing ("you must be furious") share vocabulary with felt emotion. Read emotion signals as the register of the text, not a measurement of any person's actual state.

What you can safely infer

  • The emotional register of the text as written, ranked across the documented emotion set.
  • That mixed emotions are a normal result - consume the ranked list, not just the top label.

What you must not infer

  • ✕The author's actual mental or emotional state - text is evidence of language, not feeling.
  • ✕That a described emotion belongs to the author rather than someone they describe.
  • ✕That a flat or empty result means the author feels nothing - thin text is thin evidence.

Boundary: Emotion signals describe the emotional language in a text. They are not a mental-health assessment and say nothing about any person's actual state.

Using Emotions in API Responses

When you call /v1/analyze, the response includes matched emotions with signal-match scores. Each signal is identified by its code and includes a level field (“category” or “label”). A score expresses signal-match strength under a particular analyzer configuration. It is not a probability that the signal or a downstream action is correct. Validate action thresholds on representative labeled data.

{
    "language": "en",
    "language_source": "declared",
    "signals": [
        {
            "analyzer": "emotions",
            "code": "negative_emotion",
            "label": "Negative Emotion",
            "score": 0.95,
            "level": "category"
        },
        {
            "analyzer": "emotions",
            "code": "frustration",
            "label": "Frustration",
            "score": 0.93,
            "level": "label",
            "parent": "negative_emotion"
        },
        {
            "analyzer": "emotions",
            "code": "disappointment",
            "label": "Disappointment",
            "score": 0.87,
            "level": "label",
            "parent": "negative_emotion"
        }
    ],
    "meta": {
        "analyzers": [
            {
                "name": "emotions",
                "status": "completed",
                "applicability": "analyzable",
                "assessment": "signals_detected",
                "signal_count": 3,
                "billed": true
            }
        ]
    },
    "usage": {
        "analyzer_runs": 1
    },
    "verification": {
        "configuration": "sqcfg_3WTVYJV6",
        "fingerprint": "fp_8a72...19f",
        "input_commitment": "ic_31bd...a42",
        "signature": "sig_ed25519_4c1f...e2a",
        "key_id": "edk_af4f218e"
    }
}