Multilingual Sentiment Analysis API

Emotion detection from text, priced per request. Sign in with your wallet, top up USDC on Base, and classify text across 28 emotions in 6 languages — no account required.

Try it

joy91.0%positive (0.82)
admiration
91.0
amusement
74.0
disappointment
9.8
sadness
9.7
grief
9.7
desire
9.2
nervousness
9.1
confusion
8.8
disgust
8.3
joy
8.2
curiosity
8.1
excitement
7.5
optimism
7.2
surprise
6.8
relief
6.7
realization
6.3
fear
5.2
anger
5.0
disapproval
4.8
caring
4.4
remorse
3.9
approval
3.0
gratitude
2.2
annoyance
2.0
embarrassment
1.4
love
0.5
neutral
0.4
pride
0.3

Why Sentiment for emotion detection

Pay per message

Top up USDC on Base and spend it one request at a time. No subscriptions, no API keys.

Base USDC top-ups

x402 payments settle on-chain. Credit lasts a year, debited FIFO across tranches.

28 emotions + valence

Multilingual multi-label emotion detection with a continuous valence score in [-1, 1].

6 languages

Arabic, English, French, Spanish, German, Turkish via an mBERT-based model.

Serverless GPU

Inference runs on RunPod serverless GPUs; dynamic pricing tracks GPU cost + margin.

Wallet-native

Sign in with Ethereum. Your address is your account; balances are keyed to it.

How it works

  1. 1

    Sign in

    Connect a wallet and sign a SIWE message. Your EVM address becomes your account.

  2. 2

    Top up

    Choose a USD amount, sign the USDC authorization, settle on Base. Credit lasts a year.

  3. 3

    Call the API

    POST /api/analyze with an EIP-191 signature; we debit your balance and return 28 emotions.

Emotion detection from text — what the API returns

Every request runs a multilingual transformer model (mBERT fine-tuned on the Go Emotions taxonomy) and returns a full multi-label score vector — not just "positive or negative". You get all 28 emotion scores (joy, gratitude, anger, disappointment, curiosity, fear, surprise and more), the top emotion, and a continuous valence score in [-1, 1] you can aggregate, chart or threshold. Sigmoid scoring means several emotions can be present at once, exactly like real text.

Need volume? Batch analysis accepts up to 1,000 messages in a single request — reviews, support tickets, survey answers or social posts in one call, one debit.

Frequently asked questions

What is a sentiment analysis API?

A sentiment analysis API takes raw text and returns machine-readable scores describing the feelings it expresses. Sentiment goes beyond positive/negative: each request returns scores for 28 distinct emotions (the Go Emotions taxonomy — joy, anger, gratitude, disappointment and more) plus a single valence score from -1 (negative) to +1 (positive).

Which languages does the emotion detection support?

The API performs multilingual sentiment analysis in six languages: Arabic, English, French, Spanish, German and Turkish, using an mBERT-based multilingual model. You do not need to declare the language — send the text and the model handles it.

How much does the API cost?

Pricing is pay-per-request with no subscription and no minimum. Each message costs a fraction of a cent, priced dynamically from real GPU cost. You top up a USDC credit balance on Base and each request debits it. GET /api/pricing returns the live per-message price.

How is this different from free sentiment analysis libraries?

Libraries like VADER or TextBlob run rule-based polarity scoring in English only. This API runs a GPU-hosted transformer model that detects 28 fine-grained emotions across 6 languages, returns calibrated multi-label scores, and scales to batches of 1000 messages per request — with no infrastructure for you to run.

Do I need an account or API key?

No. Identity is an Ethereum wallet address on Base. You sign in with your wallet (SIWE), top up USDC, and sign each API request with an EIP-191 signature. There is nothing to register and no key to leak.