What is Text Analytics?

The Text Analytics service provides advanced natural language processing for raw unstructured text. It includes four main functions: sentiment analysis, key phrase extraction, language detection, and entity linking.

Analyze sentiment

Find out what customers think of your brand or topic by analyzing raw text for clues about positive or negative sentiment. This API returns a sentiment score between 0 and 1 for each document, where 1 is the most positive.
The analysis models are pretrained using an extensive body of text and natural language technologies from Microsoft. For selected languages, the API can analyze and score any raw text that you provide.

Extract key phrases

Automatically extract key phrases to quickly identify the main points. For example, given the input text "The food was delicious and there were wonderful staff", the Text Analytics service returns the main talking points: "food" and "wonderful staff".

Detect language

For up to 120 languages, detect which language the input text is written in and report a single language code for every document submitted on the request. The language code is paired with a score indicating the strength of the score.

Identify linked entities (Preview)

Identify well-known entities in your text and link to more information on the web. Entity linking recognizes and disambiguates when a term is used as one of separately distinguishable entities, verbs, and other word forms.

Typical workflow

The workflow is simple: you submit data for analysis and handle outputs in your code. Analyzers are consumed as-is, with no additional configuration or customization.

  1. Sign up for an access key. The key must be passed on each request.

  2. Create a request in JSON that contains your data as raw unstructured text.

  3. Post the request to the endpoint established during sign-up, appending the API you want to call: sentiment analysis, key phrase extraction, language detection, or entity identification.

  4. Stream or store the response locally. Depending on the request, results are either a sentiment score, a collection of extracted key phrases, or a language code.

Output is returned as a single JSON document, with results for each text document you posted, based on ID. You can then analyze, visualize, or categorize the results into actionable insights.

Operations done by the Text Analytics service are stateless. Data is not stored in your account.


Supported languages

See Supported languages in Text Analytics.

Data limits

All of the Text Analytics service endpoints accept raw text data. The current limit is 5,000 characters for each document; if you need to analyze larger documents, you can break them up into smaller chunks. If you still require a higher limit, contact us so that we can discuss your requirements.

Limit Value
Maximum size of a single document 5,000 characters as measured by String.Length.
Maximum size of entire request 1 MB
Maximum number of documents in a request 1,000 documents

The rate limit is 100 calls per minute. Note you can submit a large quantity of documents in a single call (up to 1000 documents).

Unicode encoding

The Text Analytics service uses Unicode encoding for text representation and character count calculations. You can submit requests in either UTF-8 or UTF-16, with no measurable differences in the character count. If you use String.Length to get the character count, you're using the same method we use to measure data size.

Next steps

First, try the interactive demo. You can paste a text input (5,000 character maximum) to detect the language (up to 120), calculate a sentiment score, extract key phrases, or identify linked entities. No sign-up is necessary.

When you're ready to call the Text Analytics service directly:

  • Sign up for an access key and review the steps for calling the API.

  • Quickstart is a walkthrough of the REST API calls written in C#. Learn how to submit text, choose an analysis, and view results with minimal code.

  • API reference documentation provides the technical documentation for the REST APIs. The documentation supports embedded calls, so you can call the API from each documentation page.

  • External & Community Content provides a list of blog posts and videos demonstrating how to use Text Analytics with other tools and technologies.

See also

Cognitive Services Documentation page