Sentiment Analysis: Text API

AlchemyAPI provides easy-to-use facilities for extracting positive / negative sentiment from any textual content: Post (upload) any content directly to our service for analysis.

Posted content is analyzed to detect the primary document language, and text sentiment is extracted automatically.

These API calls may be utilized to process posted (uploaded) textual content. If you are processing content hosted on a publicly accessible website, consider using our URL processing calls.

API Call: TextGetTextSentiment

Description: The TextGetTextSentiment call is utilized to extract positive / negative sentiment from within a posted text document.

Endpoint: http://access.alchemyapi.com/calls/text/TextGetTextSentiment

Parameters:

http argument parameter description
apikey your private api key

(required parameter)
text Text document content (must be uri-argument encoded)

(required parameter)
url Text document URL (must be uri-argument encoded)

(optional parameter, for response tracking purposes.)
outputMode desired API output format

Possible values:
xml (default)
json
rdf


(optional parameter)
jsonp desired JSONP callback

(optional parameter, requires "outputMode" to be set to json)
showSourceText whether to include the original 'source text' the sentiment was extracted from within the API response.

Possible values:
1 - enabled
0 - disabled (default)

(optional parameter)

Response Format (XML):

<results>
    <status>REQUEST_STATUS</status>
    <url>REQUESTED_URL</url>
    <language>DOCUMENT_LANGUAGE</language>
    <text>DOCUMENT_TEXT</text>
    <docSentiment>
        <type>SENTIMENT_LABEL</type>
        <score>DOCUMENT_SENTIMENT</score>
    </docSentiment>
</results>

Response Format (JSON):

{
    "status": "REQUEST_STATUS",
    "url": "REQUESTED_URL",
    "language": "DOCUMENT_LANGUAGE",
    "text": "DOCUMENT_TEXT",
    "docSentiment": {
        "type": "SENTIMENT_LABEL",
        "score": "DOCUMENT_SENTIMENT"
    }
}

Response Format (RDF):

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
                 xmlns:aapi="http://rdf.alchemyapi.com/rdf/v1/s/aapi-schema#"
                 xml:base="http://rdf.alchemyapi.com/rdf/v1/r/response.rdf">
    <rdf:Description rdf:ID="DOCUMENT_HASH">
        <rdf:type rdf:resource="http://rdf.alchemyapi.com/rdf/v1/s/aapi-schema#DocInfo"/>
        <aapi:ResultStatus>REQUEST_STATUS</aapi:ResultStatus>
        <aapi:URL>DOCUMENT_URL</aapi:URL>
        <aapi:Language>DOCUMENT_LANGUAGE</aapi:Language>
        <aapi:DocText>DOCUMENT_TEXT</aapi:DocText>
        <aapi:Sentiment>
            <rdf:Description rdf:ID="DOCUMENT_HASH">
                <rdf:type rdf:resource="http://rdf.alchemyapi.com/rdf/v1/s/aapi-schema#Sentiment"/>
                <aapi:Doc>DOCUMENT_HASH</aapi:Doc>
                <aapi:SentimentType>SENTIMENT_LABEL</aapi:SentimentType>
                <aapi:SentimentScore>DOCUMENT_SENTIMENT</aapi:SentimentScore>
            </rdf:Description>
        </aapi:Sentiment>
    </rdf:Description>
</rdf:RDF>

Response Fields:

field name field description
status success / failure status indicating whether the request was processed.

Possible values:
OK
ERROR
language the detected language that the source text was written in.
url http url information was requested for.
statusInfo failure status information (sent only if "status" == "ERROR").

Possible values:
invalid-api-key

API Notes:

  • 1. Calls to TextGetTextSentiment should be made using HTTP POST.
  • 2. HTTP POST calls should include the Content-Type header: application/x-www-form-urlencoded
  • 3. Posted text documents can be a maximum of 150 kilobytes. Larger documents will result in a "content-exceeds-size-limit" error response.
  • 4. Language detection is performed on the retrieved document before attempting sentiment analysis. A minimum of 15 characters of text must exist within the requested HTTP document to perform language detection.
  • 5. Documents containing less than 15 characters of text are assumed to be English-language content.


 - return to top of page -