Get actionable data from text using Machine Learning

Integrate with your app within minutes.



  • Easy to use

    No NLP or Machine Learning knowledge is required. Just play with our elegant UI and our Patent Pending Algorithm creation Engine.

  • Customized for your needs

    Pick a pre-trained module or create your own text mining module from scratch. Upload your text data and train your custom machine learning model.

  • Instant Integration

    Integrate with your project within minutes, MonkeyLearn is compatible with all major programming languages.

Next section

Simple and Modern User Interface

Taste the power of Machine Learning in your hands!

Interface image
  • This is a Category Tree
  • These are your project statistics
  • These are your project samples
Next section

How it works

Use MonkeyLearn in 3 simple steps!

  • Select or Create a Module

    1. Select or Create a Module

    You can select ready to use modules or create your own with a simple and elegant UX!

  • Test

    2. Test

    Use our web interface to test your module and improve the results.

  • Integrate

    3. Integrate

    Integrate with any programming language through an API that will be instantly published.

Next section

Use Cases

  • MonkeyLearn is a match made in heaven for advertising companies.

    MonkeyLearn is a match made in heaven for advertising companies.

    Examples Ad Classifier: show ads in the optimal context and improve CTR. Affinity Profiler: classify users into affinity groups and match users with ads to increase ad revenue. In-market audiences: connect with those users most interested in what you have to offer and improve campaigns ROI.
  • MonkeyLearn is a match made in heaven for advertising companies.

    Machine learning is the future of media, newspapers and blogging.

    Examples News Classification: unify classification criteria and automate news categorization. Content Personalization: show readers relevant content that they are likely interested. News Recommendation: while reading an article, recommend more articles related to his personalized interests.
  • MonkeyLearn is a match made in heaven for advertising companies.

    MonkeyLearn allows developers and startups understand and process social media data.

    Examples Sentiment Analysis: understand if a tweet is talking positively or negatively about a brand or user. Follower Profiling: classify your Twitter followers by their interests. Profanity & Abuse Detection: detect bullying on social networks.
  • MonkeyLearn is a match made in heaven for advertising companies.

    Boost sales by integrating Machine Learning to your ecommerce.

    Examples Product Recommendation: show your customers relevant products they are likely interested in. Customer Profiling: classify customer profiles by what they tweet and use it for personalizing your email campaigns. Product Classification: classify products by their description.

Check out MonkeyLearn 101 applications and use cases here

Next section


Companies using MonkeyLearn

  • "MonkeyLearn is one of the most innovative and compelling platforms I've used. I've also loved working with MonkeyLearn's team - their amiable, supportive, and relentless willingness to help me build great products to help our community have put them among my favorite new companies."

    Jack Dorsey

    Rand Fishkin

    Cofounder at Moz.
    Seattle, WA

  • “MonkeyLearn is my go-to machine learning API when I want to do sentiment analysis and topic detection over web scraped data. Easy to use, fast to set up and accurate results.”

    Jack Dorsey

    Ignacio Elola Villar

    Data Scientist at

  • "We use MonkeyLearn API for Twitter Sentiment Analysis. We found in MonkeyLearn a key technology partner for our social media monitoring platform. We always felt supported by the great customer service they give."

    Jack Dorsey

    Andrés Mesa

    Product Manager at Karma Pulse

Next section

Super Easy Integration

Libraries & Documentation are provided to easily integrate MonkeyLearn with your favorite programming language.

  • Python

    import requests
    import json
    data = {
        'text_list': ["This is a text to try language detection.",
            "This is some more text"]
    response =
        headers={'Authorization': 'Token <YOUR TOKEN GOES HERE>',
                'Content-Type': 'application/json'})
    print json.loads(response.text)
  • Ruby

    require "net/http"
    require "uri"
    require 'json'
    uri = URI.parse("")
    http =, uri.port)
    http.use_ssl = true
    request =
    # Set POST data
    request.body = {text_list: ["This is a text to try language detection.", "some more text"]}.to_json
    # Set headers
    request.add_field("Content-Type", "application/json")
    request.add_field("Authorization", "token <YOUR TOKEN GOES HERE>")
  • PHP

    $url = '';
    $data = array('text_list' => array('some text to test', 'some more text'));
    $options = array(
        'http' => array(
            'header'  => "Content-type: application/json\r\n".
                "Authorization:token <YOUR TOKEN GOES HERE>\r\n",
            'method'  => 'POST',
            'content' => json_encode($data),
    $context  = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
  • JavaScript

    <!DOCTYPE html>
    <meta charset="UTF-8">
    <title>MonkeyLearn Javascript Integration</title>
    <script src=""
    <script type="text/javascript">
        url : "",
        type : "POST",
        headers: {
            "Authorization": "token <YOUR TOKEN GOES HERE>",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        data : JSON.stringify({
          text_list: ["This is a text to try language detection.", "some more text"]
        success : function(result) {
        error : function(e) {
          alert('Error: ' + e);
  • Java

    import java.lang.StringBuffer;
    public class App
        public static void main( String[] args )
            URL url;
            HttpURLConnection connection = null;
            try {
                //Create connection
                url = new URL("");
                connection = (HttpURLConnection)url.openConnection();
                    "token <YOUR TOKEN GOES HERE>");
                connection.setUseCaches (false);
                //Send request
                OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream());
                wr.write ("{\"text_list\": [\"This is a text to try language detection.\", \"some more text\"]}");
                wr.flush ();
                wr.close ();
                //Get Response
                InputStream is = connection.getInputStream();
                BufferedReader rd = new BufferedReader(new InputStreamReader(is));
                String line;
                StringBuffer response = new StringBuffer();
                while((line = rd.readLine()) != null) {
            } catch (Exception e) {
            } finally {
                if(connection != null) {
  • .NET

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Net.Http;
    using System.Net.Http.Headers;
    namespace dotnet_integration
        class Program
            static void Main(string[] args)
                using (var client = new HttpClient())
                    client.BaseAddress = new Uri("");
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("token", "<YOUR TOKEN GOES HERE>");
                    var content = new FormUrlEncodedContent(new[]
                        new KeyValuePair("text_list", "This is a text to test the API.")
                    var response = client.PostAsync("/v2/classifiers/cl_oJNMkt2V/classify/", content).Result;
                    if (response.IsSuccessStatusCode)
                        var responseBody = response.Content.ReadAsStringAsync().Result;
Next section

Featured in the Press

News about MonkeyLearn

Back to top