In a nutshell, language detection is based on probability. As a first step the languagelayer checks the requested query text against a number of known tri-grams for each supported (and for the particular request relevant) language. Let's take "What language is this?" as an example query text. In this case the first tri-gram is "Wha", the second tri-gram is "hat", the third tri-gram is "at", and so on, looping through the entire text until a general idea about which type of language we are dealing with is establshed.
In the next step, each word and word sequence contained in the query text will be processed separately, checked against known common words (confidence words) and cross-referenced with a number of language-specific word sequences.
Finally, each word is broken down into bits and checked against an constantly improving probability matrix containing rules about how one bit follows another bit in each particular language and language family.
Each step adds to the overall probability value for each language, and the language presenting the highest probability value is most likely the language the query text is written in. One last thing worth mentioning: The more words provided, the more accurate language detection results will be.
Each API request allows the languagelayer API to learn more about words, word sequences and linguistic contexts, which makes it the most reliable and consistent tool for automating language detection currently on the market.
At the current stage, the languagelayer API is capable of detecting 173 world languages, including accents and dialects. Feel free to take a look at a list of all currently supported languages.
Both. The languagelayer API can be called via both GET and POST. However, for large query texts we highly recommend using POST.
Learn more by taking a look at our API documentation.
Yes. Customers subscribed to the Basic Plan (or higher) may perform batch language detection requests, using multiple query texts within a single API request.
Learn more by taking a look at the Batch Detection section of our API documentation.
A key factor to this API's pricing model is the number of monthly API Requests offered for each individual Subscription Plan. Making a standard language detection request using the API's detect endpoint will increment your API usage by 1. A batch request will increment your API usage by the number of query[] parameters you are using.
Users will be automatically notified via e-mail and on their Account Dashboard once at least 75%, 90%, and 100% of their monthly API Request allowance has been reached. After reaching 100% of the allowance, API access will be disabled.
The languagelayer API's system status is being closely monitored around the clock. Since every effort is made to ensure the highest possible level of consistency, we are happy to announce that our API's uptime is at around 99.9%. At the current stage we are not offering any public statistics, but we will be happy to provide you with recent uptime reports - ask us »
The Free Plan is set out to be a "trial version" without a time limit, offering a volume of 1,000 monthly API requests.
Paid Subscription Plans feature significantly higher API request volumes, ensure secure datastreams via 256-bit HTTPS Encryption, include unlimited and prioritised technical support, and offer a variety of must-have API functionalities.
In order to test the API and to get an idea of the product, you can simply sign up for the Free Plan.
As soon as you or your application requires more than 1,000 API requests per month and more professional API functionality, you would be well-advised to sign up for one of the paid Subscription Plans, starting at only USD 4.99 per month, or at up to 20% Discount - if you decide to pay anually.
Payments can be made via Credit Card (Visa, MasterCard, Discover, Diner's Club). You can change your payment method at any given time in the Payment section of your Account Dashboard.
Yes. If you choose annual billing, the total price of your subscription plan will be up to 20% lower than the total amount you would pay with a monthly payment frequency.