Eden AI Sentiment Analysis API

The Sentiment Analysis API from Eden AI — 1 operation(s) for sentiment analysis.

Operations 1

POST /text/sentiment_analysis/ Sentiment Analysis #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eden-ai-sentiment-analysis-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eden-ai-sentiment-analysis-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Text Features Sentiment Analysis API
  version: '2.0'
  description: Your project description
servers:
- url: https://api.edenai.run/v2
tags:
- name: Sentiment Analysis
paths:
  /text/sentiment_analysis/:
    post:
      operationId: text_sentiment_analysis_create
      description: 'Available Providers


        |Provider|Model|Version|Price|Billing unit|

        |----|----|-------|-----|------------|

        |**amazon**|-|`boto3 (v1.15.18)`|1.0 (per 1000000 char)|300 char

        |**google**|**gemini-live-2.5-flash-preview-native-audio-09-2025**|`v1`|2e-06 (per 1 token)|1 token

        |**google**|**gemini-1.5-flash-001**|`v1`|3e-07 (per 1 token)|1 token

        |**google**|**gemini-1.5-flash-002**|`v1`|3e-07 (per 1 token)|1 token

        |**google**|**gemini-1.5-flash**|`v1`|3e-07 (per 1 token)|1 token

        |**google**|**gemini-1.5-flash-latest**|`v1`|3e-07 (per 1 token)|1 token

        |**google**|**gemini-1.5-pro**|`v1`|1.05e-05 (per 1 token)|1 token

        |**google**|**gemini-1.5-pro-latest**|`v1`|1.05e-06 (per 1 token)|1 token

        |**google**|**gemini-1.5-flash-8b**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-1.5-flash-8b-exp-0827**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-1.5-flash-8b-exp-0924**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-1.5-flash-exp-0827**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-1.5-pro-001**|`v1`|1.05e-05 (per 1 token)|1 token

        |**google**|**gemini-1.5-pro-002**|`v1`|1.05e-05 (per 1 token)|1 token

        |**google**|**gemini-1.5-pro-exp-0801**|`v1`|1.05e-05 (per 1 token)|1 token

        |**google**|**gemini-1.5-pro-exp-0827**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-2.0-flash**|`v1`|4e-07 (per 1 token)|1 token

        |**google**|**gemini-2.0-flash-001**|`v1`|4e-07 (per 1 token)|1 token

        |**google**|**gemini-2.0-flash-exp**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-2.0-flash-lite**|`v1`|3e-07 (per 1 token)|1 token

        |**google**|**gemini-2.0-flash-lite-preview-02-05**|`v1`|3e-07 (per 1 token)|1 token

        |**google**|**gemini-2.0-flash-live-001**|`v1`|1.5e-06 (per 1 token)|1 token

        |**google**|**gemini-2.0-flash-preview-image-generation**|`v1`|4e-07 (per 1 token)|1 token

        |**google**|**gemini-2.0-flash-thinking-exp**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-2.0-flash-thinking-exp-01-21**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-2.0-pro-exp-02-05**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-2.5-flash**|`v1`|2.5e-06 (per 1 token)|1 token

        |**google**|**gemini-2.5-flash-lite**|`v1`|4e-07 (per 1 token)|1 token

        |**google**|**gemini-2.5-flash-lite-preview-09-2025**|`v1`|4e-07 (per 1 token)|1 token

        |**google**|**gemini-2.5-flash-preview-09-2025**|`v1`|2.5e-06 (per 1 token)|1 token

        |**google**|**gemini-flash-latest**|`v1`|2.5e-06 (per 1 token)|1 token

        |**google**|**gemini-flash-lite-latest**|`v1`|4e-07 (per 1 token)|1 token

        |**google**|**gemini-2.5-flash-lite-preview-06-17**|`v1`|4e-07 (per 1 token)|1 token

        |**google**|**gemini-2.5-flash-preview-04-17**|`v1`|6e-07 (per 1 token)|1 token

        |**google**|**gemini-2.5-flash-preview-05-20**|`v1`|2.5e-06 (per 1 token)|1 token

        |**google**|**gemini-2.5-flash-preview-tts**|`v1`|6e-07 (per 1 token)|1 token

        |**google**|**gemini-2.5-pro**|`v1`|1e-05 (per 1 token)|1 token

        |**google**|**gemini-2.5-computer-use-preview-10-2025**|`v1`|1e-05 (per 1 token)|1 token

        |**google**|**gemini-3-pro-preview**|`v1`|1.2e-05 (per 1 token)|1 token

        |**google**|**gemini-3-flash-preview**|`v1`|3e-06 (per 1 token)|1 token

        |**google**|**gemini-2.5-pro-exp-03-25**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-2.5-pro-preview-03-25**|`v1`|1e-05 (per 1 token)|1 token

        |**google**|**gemini-2.5-pro-preview-05-06**|`v1`|1e-05 (per 1 token)|1 token

        |**google**|**gemini-2.5-pro-preview-06-05**|`v1`|1e-05 (per 1 token)|1 token

        |**google**|**gemini-2.5-pro-preview-tts**|`v1`|1e-05 (per 1 token)|1 token

        |**google**|**gemini-exp-1114**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-exp-1206**|`v1`|0.0 (per 1 token)|1 token

        |**google**|**gemini-gemma-2-27b-it**|`v1`|1.05e-06 (per 1 token)|1 token

        |**google**|**gemini-gemma-2-9b-it**|`v1`|1.05e-06 (per 1 token)|1 token

        |**google**|**gemini-pro**|`v1`|1.05e-06 (per 1 token)|1 token

        |**google**|**gemini-pro-vision**|`v1`|1.05e-06 (per 1 token)|1 token

        |**google**|**gemma-3-27b-it**|`v1`|0.0 (per 1 token)|1…'
      summary: Sentiment Analysis
      tags:
      - Sentiment Analysis
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/texttopic_extractiontextanonymizationtextmoderationtextnamed_entity_recognitiontextkeyword_extractiontextsyntax_analysistextsentiment_analysisTextAnalysisRequest'
            examples:
              RequestExample:
                value:
                  providers: sapling,xai,microsoft,tenstorrent,openai,amazon,google
                  language: en
                  text: Overall I am satisfied with my experience at Amazon, but two areas of major improvement needed. First is the product reviews and pricing. There are thousands of positive reviews for so many items, and it's clear that the reviews are bogus or not really associated with that product. There needs to be a way to only view products sold by Amazon directly, because many market sellers way overprice items that can be purchased cheaper elsewhere (like Walmart, Target, etc). The second issue is they make it too difficult to get help when there's an issue with an order.
                summary: Request Example
        required: true
      security:
      - FeatureApiAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textsentiment_analysisResponseModel'
              examples:
                ResponseExample:
                  value:
                    sapling:
                      general_sentiment: Negative
                      general_sentiment_rate: 0.51
                      items:
                      - segment: Overall I am satisfied with my experience at Amazon, but two areas of major improvement needed.
                        sentiment: Positive
                        sentiment_rate: 0.96
                      - segment: First is the product reviews and pricing.
                        sentiment: Neutral
                        sentiment_rate: 1.0
                      - segment: There are thousands of positive reviews for so many items, and it's clear that the reviews are bogus or not really associated with that product.
                        sentiment: Positive
                        sentiment_rate: 0.67
                      - segment: There needs to be a way to only view products sold by Amazon directly, because many market sellers way overprice items that can be purchased cheaper elsewhere (like Walmart, Target, etc).
                        sentiment: Neutral
                        sentiment_rate: 0.61
                      - segment: The second issue is they make it too difficult to get help when there's an issue with an order.
                        sentiment: Negative
                        sentiment_rate: 0.96
                      cost: 0.0
                    xai:
                      general_sentiment: Negative
                      general_sentiment_rate: 0.3
                      items: []
                      cost: 0.0
                    microsoft:
                      general_sentiment: Negative
                      general_sentiment_rate: 0.67
                      items:
                      - segment: 'Overall I am satisfied with my experience at Amazon, but two areas of major improvement needed. '
                        sentiment: Positive
                        sentiment_rate: 0.98
                      - segment: 'First is the product reviews and pricing. '
                        sentiment: Neutral
                        sentiment_rate: 0.99
                      - segment: 'There are thousands of positive reviews for so many items, and it''s clear that the reviews are bogus or not really associated with that product. '
                        sentiment: Negative
                        sentiment_rate: 1.0
                      - segment: 'There needs to be a way to only view products sold by Amazon directly, because many market sellers way overprice items that can be purchased cheaper elsewhere (like Walmart, Target, etc). '
                        sentiment: Neutral
                        sentiment_rate: 0.7
                      - segment: The second issue is they make it too difficult to get help when there's an issue with an order.
                        sentiment: Negative
                        sentiment_rate: 1.0
                      cost: 0.0
                    tenstorrent:
                      general_sentiment: Negative
                      general_sentiment_rate: 0.38
                      items: []
                      cost: 0.0
                    openai:
                      general_sentiment: Negative
                      general_sentiment_rate: 0.3
                      items: []
                      cost: 0.0
                    amazon:
                      general_sentiment: Negative
                      general_sentiment_rate: 0.4
                      items: []
                      cost: 0.0
                    google:
                      general_sentiment: Negative
                      general_sentiment_rate: 0.4
                      items:
                      - segment: Overall I am satisfied with my experience at Amazon, but two areas of major improvement needed.
                        sentiment: Neutral
                        sentiment_rate: 0.0
                      - segment: First is the product reviews and pricing.
                        sentiment: Neutral
                        sentiment_rate: 0.0
                      - segment: There are thousands of positive reviews for so many items, and it's clear that the reviews are bogus or not really associated with that product.
                        sentiment: Negative
                        sentiment_rate: 0.5
                      - segment: There needs to be a way to only view products sold by Amazon directly, because many market sellers way overprice items that can be purchased cheaper elsewhere (like Walmart, Target, etc).
                        sentiment: Negative
                        sentiment_rate: 0.6
                      - segment: The second issue is they make it too difficult to get help when there's an issue with an order.
                        sentiment: Negative
                        sentiment_rate: 0.8
                      cost: 0.0
                  summary: Response Example
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: ''
components:
  schemas:
    textsentiment_analysisResponseModel:
      properties:
        sapling:
          $ref: '#/components/schemas/textsentiment_analysisSentimentAnalysisDataClass'
          default: null
        xai:
          $ref: '#/components/schemas/textsentiment_analysisSentimentAnalysisDataClass'
          default: null
        openai:
          $ref: '#/components/schemas/textsentiment_analysisSentimentAnalysisDataClass'
          default: null
        ibm:
          $ref: '#/components/schemas/textsentiment_analysisSentimentAnalysisDataClass'
          default: null
        oneai:
          $ref: '#/components/schemas/textsentiment_analysisSentimentAnalysisDataClass'
          default: null
        microsoft:
          $ref: '#/components/schemas/textsentiment_analysisSentimentAnalysisDataClass'
          default: null
        amazon:
          $ref: '#/components/schemas/textsentiment_analysisSentimentAnalysisDataClass'
          default: null
        emvista:
          $ref: '#/components/schemas/textsentiment_analysisSentimentAnalysisDataClass'
          default: null
        google:
          $ref: '#/components/schemas/textsentiment_analysisSentimentAnalysisDataClass'
          default: null
        tenstorrent:
          $ref: '#/components/schemas/textsentiment_analysisSentimentAnalysisDataClass'
          default: null
      title: textsentiment_analysisResponseModel
      type: object
    BadRequest:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/NestedBadRequest'
      required:
      - error
    SegmentSentimentAnalysisDataClass:
      description: "This class is used in SentimentAnalysisDataClass to describe each segment analyzed.\n\nArgs:\n    - segment (str): The segment analyzed\n    - sentiment (Literal['Positve', 'Negative', 'Neutral']) (Case is ignore): Sentiment of segment\n    - sentiment_rate (float between 0 and 1): Rate of sentiment"
      properties:
        segment:
          title: Segment
          type: string
        sentiment:
          allOf:
          - $ref: '#/components/schemas/SentimentEbfEnum'
          title: Sentiment
        sentiment_rate:
          maximum: 1
          minimum: 0
          title: Sentiment Rate
          type: integer
      required:
      - segment
      - sentiment
      - sentiment_rate
      title: SegmentSentimentAnalysisDataClass
      type: object
    NotFoundResponse:
      type: object
      properties:
        details:
          type: string
          default: Not Found
    FieldError:
      type: object
      properties:
        <parameter_name>:
          type: array
          items:
            type: string
      required:
      - <parameter_name>
    textsentiment_analysisSentimentAnalysisDataClass:
      properties:
        general_sentiment:
          allOf:
          - $ref: '#/components/schemas/GeneralSentimentEnum'
          title: General Sentiment
        general_sentiment_rate:
          maximum: 1
          minimum: 0
          title: General Sentiment Rate
          type: integer
        items:
          items:
            $ref: '#/components/schemas/SegmentSentimentAnalysisDataClass'
          title: Items
          type: array
        original_response:
          default: null
          description: original response sent by the provider, hidden by default, show it by passing the `show_original_response` field to `true` in your request
          title: Original Response
        status:
          allOf:
          - $ref: '#/components/schemas/StatusEnum'
          title: Status
      required:
      - general_sentiment
      - general_sentiment_rate
      - status
      title: textsentiment_analysisSentimentAnalysisDataClass
      type: object
    Error:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/NestedError'
      required:
      - error
    SentimentEbfEnum:
      enum:
      - Positive
      - Negative
      - Neutral
      type: string
    GeneralSentimentEnum:
      enum:
      - Positive
      - Negative
      - Neutral
      type: string
    StatusEnum:
      enum:
      - sucess
      - fail
      type: string
    NestedBadRequest:
      type: object
      properties:
        type:
          type: string
        message:
          $ref: '#/components/schemas/FieldError'
      required:
      - message
      - type
    NestedError:
      type: object
      properties:
        type:
          type: string
        message:
          type: string
      required:
      - message
      - type
    ? texttopic_extractiontextanonymizationtextmoderationtextnamed_entity_recognitiontextkeyword_extractiontextsyntax_analysistextsentiment_analysisTextAnalysisRequest
    : type: object
      properties:
        settings:
          type: string
          default: {}
          description: "A dictionnary or a json object to specify specific models to use for some providers. <br>                     It can be in the following format: {\"google\" : \"google_model\", \"ibm\": \"ibm_model\"...}.\n                     "
        providers:
          type: array
          items:
            type: string
            minLength: 1
          description: 'It can be one (ex: **''amazon''** or **''google''**) or multiple provider(s) (ex: **''amazon,microsoft,google''**)             that the data will be redirected to in order to get the processed results.<br>             Providers can also be invoked with specific models (ex: providers: **''amazon/model1, amazon/model2, google/model3''**)'
        fallback_providers:
          type: array
          items:
            type: string
          default: []
          description: "Providers in this list will be used as fallback if the call to provider in `providers` parameter fails.\n    To use this feature, you must input **only one** provider in the `providers` parameter. but you can put up to 5 fallbacks.\n\nThey will be tried in the same order they are input, and it will stop to the first provider who doesn't fail.\n\n\n*Doesn't work with async subfeatures.*\n    "
          maxItems: 5
        response_as_dict:
          type: boolean
          default: true
          description: "Optional : When set to **true** (default), the response is an object of responses with providers names as keys : <br> \n                  ``` {\"google\" : { \"status\": \"success\", ... }, } ``` <br>\n                When set to **false** the response structure is a list of response objects : <br> \n                   ``` [{\"status\": \"success\", \"provider\": \"google\" ... }, ] ```. <br>\n                  "
        attributes_as_list:
          type: boolean
          default: false
          description: "Optional : When set to **false** (default) the structure of the extracted items is list of objects having different attributes : <br>\n     ```{'items': [{\"attribute_1\": \"x1\",\"attribute_2\": \"y2\"}, ... ]}``` <br>\n     When it is set to **true**, the response contains an object with each attribute as a list : <br>\n     ```{ \"attribute_1\": [\"x1\",\"x2\", ...], \"attribute_2\": [y1, y2, ...]}``` "
        show_base_64:
          type: boolean
          default: true
        show_original_response:
          type: boolean
          default: false
          description: "Optional : Shows the original response of the provider.<br>\n        When set to **true**, a new attribute *original_response* will appear in the response object."
        text:
          type: string
          minLength: 1
          description: Text to analyze
        language:
          type:
          - string
          - 'null'
          description: 'Language code for the language the input text is written in (eg: en, fr).'
      required:
      - providers
      - text
  securitySchemes:
    FeatureApiAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT