Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including languagetool-api with all npm packages installed. Try it out:

var languagetoolApi = require("languagetool-api")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

languagetool-api v1.1.2

Node.JS wrapper for LanguageTool HTTP JSON API

LanguageTool is the best choice, for your grammar/spell checking apps, check it out here.

INSTALLATION:

$ npm install languagetool-api

After you install package, make sure to require it in your application!

const languagetool = require("languagetool-api");

USAGE:

languagetool.check() takes 2 arguments:

  1. Object with request parameters (for more details see: check() object params)
  2. Callback function

Here's an example:

const languagetool = require("languagetool-api");

var params = {
  language: "pl-PL", // This is required! You can get list of language codes with languagetool.codes
  text: "Piekasz", // This is required too!
};

languagetool.check(params, function(err, res){
    if(err){
       console.log(err);
    } else{
       console.log(res);
    }
});

res can be used with other functions provided by wrapper. These functions are listed below check() object params section.

check() object params

As you know, check() function needs object with parameters. They're listed and compared below:

NameRequired?TypeDescriptionExample
languageyesstringCode of language"pl-PL"
textyesstringText to check"Piekarz"
disabledRulesnoarrayArray of rule IDs["MORFOLOGIK_RULE_PL_PL"]
enabledRulesnoarrayArray of rule IDs["MORFOLOGIK_RULE_PL_PL"]
enabledCategoriesnoarrayArray of category IDs["TYPOS"]
disabledCategoriesnoarrayArray of category IDs["TYPOS"]
preferredVariantsnoarrayArray of language codes["en-GB", "de-AT"]
enabledOnlynobooleanIf true, only enabledCategories array is checkedfalse

languagetool.showMistakes(res, callback)

languagetool.showMistakes should take res from langaugetool.check and give you access to array of mistakes (as strings).

Here's an example:

languagetool.check(params, function(err, res){
    if(err){
       console.log(err);
    } else{
       languagetool.showMistakes(res, function(arr){
         arr.forEach(function(item){
           console.log(item);
         });
       });
    };
});

languagetool.bestSuggestion(res, callback)

This function should also take res from languagetool.check, and give you access to array of objects with properties: mistake (string), and bestSuggestion (also string).

Here's an example:

languagetool.check(params, function(err, res){
    if(err){
       console.log(err);
    } else{
       languagetool.bestSuggestion(res, function(arr){
         arr.forEach(function(item){
           console.log("Best suggestion for " + item.mistake + " is " + item.bestSuggestion);
         });
       });
    };
});

NOTE: This wrapper utilizes other packages, that are required for languagetool-api to work properly. Github repository doesn't provide them, but package on npmjs.com does. If you got this package from Github, make sure to install them. Packages are listed in package.json file (see: "dependencies").

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free