This document offers a comprehensive guide to the technical functions and capabilities of our API service. Whether you are a developer looking to integrate our API into your application or a business aiming to leverage our NLP functionalities, this documentation provides the necessary details to get started.
Our API is designed to be robust, scalable, and user-friendly, catering to a wide range of text processing and analysis needs. From individual developers to large enterprises, we have crafted subscription plans to match varied requirements. The following sections will delve into the specifics of our endpoints, authentication procedures, and rate limits, among other technical facets.
Plan Name | Target Audience | Requests | RPS |
---|---|---|---|
Free Plan | Tailored for students, and developers in the initial stages. | Up to 20,000 per month | Max. 2 |
Starter Plan | Geared for medium-scale applications and burgeoning businesses. | Up to 200,000 per month | Max. 5 |
Pro Plan | Suited for businesses that are expanding; intermediate between Starter & Enterprise. | Up to 1,000,000 per month | Max. 10 |
Enterprise Plan | Customized for major corporations and high traffic applications. | Up to 4,000,000 per month | Max. 15 |
Custom Plan | Tailored solutions for special projects beyond predefined tiers. | Contact for details | Custom |
Cortical.io Natural Language API – Free Tier is designed for light users and developers who are just getting started. Ideal for initial testing and small-scale projects, this plan allows for less than 20,000 requests per month.
The Starter Plan of the Cortical.io Natural Language API caters to medium-scale projects and businesses, accommodating up to 200,000 requests per month. It is a perfect choice for developers and businesses that require a bit more power and support than the Free Tier offers.
Suited for businesses that are expanding and need an intermediate solution between the Starter and Enterprise Plans. Up to 1,000,000 requests per month.
Aimed at large enterprises and high-demand applications, the Enterprise Plan of the Cortical.io Natural Language API supports an impressive 4,000,000 requests per month. This plan is tailored for businesses that need high throughput and premium support.
For users or businesses with needs exceeding the plans described here, please contact api-sales@cortical.io for a customized solution and pricing.
To select a plan, navigate to the product page on the Cortical.io Developer Portal.
Choose the desired Plan and click the 'Start With This Plan' button. This will add the product subscription to your shopping cart, where you will pair the product with an application and submit a request. In the cart, ensure you have selected the correct product and plan. Then, either create a new app or choose an existing app for your product.
Click ‘Submit Request.’ For paid plans, the system will then redirect you to the payment page where you can enter payment information and confirm your subscription.
On the ‘My Apps’ page, click on the name of the app you paired with the product in the previous section. If your request has been approved, it will appear under the ‘Approved access’ section. Your subscription plan details, including the product quota (maximum number of API calls per month), rate (maximum throughput speed), and Token ID will be listed under ‘Access and Credentials info.'
Token ID: This unique ID is required for every API request you make. Use the ‘Rotate’ button if you wish to substitute the current token with a new Token ID.
Click on the ‘NLP API Product’ link under ‘Access and Credentials info’ (you can also use the ‘NLP API’ link at the top of the Developer Portal). Then, select the ‘API Specifications’ tab and the NLP API product will be displayed. As the NLP API initializes, the available endpoints will be displayed on the left. Select any endpoint to delve into its details, such as description, parameters, response codes, example requests, responses, and to initiate a new request.
For code examples in your chosen programming language, utilize the drop-down menu under ‘Example Requests/Responses.’
Inline Panel: Each endpoint page contains a panel on the right that provides sections for Authorization (Auth), Parameters (where applicable) and Body. Once all fields are complete, click 'Send API Request' to generate the request.
Third-party API Client: You can also employ any third-party API client compatible with the supported programming languages to send a request to a Cortical.io NLP API endpoint URL.
Important: For every request, it is imperative to include the Token ID, whether you are using the Parameters section or a third-party API client.
The latest API documentation is always available on the developer portal by logging into your registered account and navigating to: https://api.cortical.io/portal/catalogue-products/nlp-api-product#/
When using our API, it is essential to know how errors are handled. Please refer to our error code guide in the Appendix to understand the different HTTP status codes and their meanings. Additional information can be provided by the JSON response containing further details about the error.
If the error persists for an extended period, contact our support team at api-support@cortical.io.
We value your feedback. If you have any questions, encounter any issues, or have suggestions to improve our service, please contact our support team.
This section describes the expected responses and possible error codes that may be observed when using the individual endpoints in the NLP API product. The range of codes is as follows:
The possible response codes for each endpoint are described below:
Description: This endpoint returns the list of supported languages. The two letter language codes can then be used as input for other endpoints. The service supports semantic operations for these languages.
Code | Description/Example |
---|---|
200 |
Successful response{ "supported_languages": [ "en", "de" ] } |
Description: This endpoint extracts the semantically most relevant words from a given text. The number of keywords parameter can ideally be selected in proportion to the length of the text (the default is 10 terms).
Code | Description/Example |
---|---|
200 |
Successful response{ "supported_languages": [ "en", "de" ] } |
400 |
The specified language is not supported{ "keywords": [ { "word": "string", "document_frequency": 0, "pos_tags": [ "NOUN" ], "score": 0 } ], "language": "en" } |
422 | Validation error |
Description: This endpoint computes the semantic similarity between two texts, and returns the value in a range between 0 and 1.
Code | Description/Example |
---|---|
200 |
Successful response{ "similarity": 0.7, "languages": [ "en", "en" ] } |
400 |
The specified language is not supported{ "message": "Language 'zh' is not supported." } |
422 | Validation error |
Description: This endpoint detects the language of a given text by using using a fastText language detection model. The model is not precise on very short texts (a few words are needed). If the input text contains multiple languages, the endpoint will only return the language with the highest confidence level.
Code | Description/Example |
---|---|
200 |
Successful response{ "language": "en" } |
422 | Validation error |
Description: This endpoint identifies the most similar words for a submitted text. The text-fingerprint is compared to all known word-fingerprints and the words with the highest similarities are returned.
Code | Description/Example |
---|---|
200 |
Successful response{ "labels": [ { "word": "string", "document_frequency": 0, "pos_tags": [ "NOUN" ] } ], "language": "en" } |
400 |
The specified language is not supported{ "message": "Language 'zh' is not supported." } |
422 | Validation error |
Description: This endpoint breaks down a given text into smaller segments, referred to as 'topical paragraphs.’ These 'topical paragraphs' are computed by combining adjacent segments until a shift in linguistic cues or topics is identified.
Code | Description/Example |
---|---|
200 |
Successful response{ "segments": [ "string" ], "language": "en" } |
400 |
The specified language is not supported{ "message": "Language 'zh' is not supported." } |
422 | Validation error |