InsightEra Nlp API
The nlp API from InsightEra — 15 operation(s) for nlp.
Operations 15
Documentation
APIReference
https://nlp.insightera.co.th/docs/v1.0/
Documentation
https://nlp.insightera.co.th/docs/v1.0/
The nlp API from InsightEra — 15 operation(s) for nlp.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/insightera-nlp-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: NLP APIs available on InsightEra NLP Platform
title: Platform Nlp API
termsOfService: http://swagger.io/terms/
contact:
name: API Support
email: dev@insightera.co.th
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: '1.0'
servers:
- url: https://nlp.insightera.co.th/api
tags:
- name: nlp
paths:
/nlp/address-extractor:
post:
description: 'A service for converting a plain text address to a structural address where each part of the address are extracted and labeled. A complete list of parts which will be extracted are as follow:
1. Name
2. Phone number
3. Tambol
4. Amphoe
5. Province
6. Postcode
7. Probability of an input text being an address (0.0 to 1.0)'
tags:
- nlp
summary: Address extractor
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagAddr'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagAddrInput'
description: Address
required: true
/nlp/cleaning:
post:
description: 'A service for normalizing texts, especially texts from social media and chat which tend to be informal and purposely misspelled (or slang), into a cleaner version to ease further analysis:
* ''keep_alphabet'' If set, tokenization result which contains only one alphabet will be preserved (default: false).
* ''keep_rt'' if set, @RT from Twitter will be preserved (default: false).
* ''keep_stopwords'' if set, stopwords will be preserved (default: false).
* ''keep_url'' if set, urls will be preserved (default: false).
* ''keep_emoji'' if set, emoji will be preserved (default: true).
* ''normalize'' if set, misspelled words will be auto-corrected or transformed into a cleaner form (default: false).
* ''only_vocab'' If set, words that are not in a dictionary will be removed (default: false).'
tags:
- nlp
summary: Text cleaning
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagCleaningResult'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagCleaningInput'
description: Input
required: true
/nlp/clustering:
post:
description: 'A service for organizing random texts into multiple groups. The service will try grouping them into a number of group defined by a user (<i>k</i>).
* <i>engine</i>: machine learning algorithm: k-mean (default), hierarchy
* <i>feature_engine</i>: feature extraction method: bag-of-word (default), word-vector
* <i>max_k</i>: maximum cluster (optional)
* <i>k</i>: number of cluster (optional). If k is not provided, the service will try to find the least k that makes good cluster automatically.'
tags:
- nlp
summary: Text clustering
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagClusteringOutput'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagClusteringInput'
description: Input
required: true
/nlp/common-phrase:
post:
description: 'A clustering service specifically customized for chat log.
<i>k</i>: a number of cluster (group) to separate texts into.'
tags:
- nlp
summary: Common phrase
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagCommonPhraseOutput'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagCommonPhraseInput'
description: Input
required: true
/nlp/country:
post:
description: 'A service for finding a destination country in an address. The service will return the official name of the country and ISO country code.
* User can provide additional aliases for each countries using <i>extra_dict</i> option.
* By default, the service will only return one country. If <i>multiple</i> is set, it will return all countries found in an input text.'
tags:
- nlp
summary: Country detection
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagCountryResult'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagCountryInput'
description: Input
required: true
/nlp/datetime-parser-new:
post:
description: 'A service for converting date and time entities in a plain text, e.g. 17 มกราคม 2020, today, tomorrow, 2 hrs ago to a timestamp. A service supports both Thai and English, and supports both absolute time (24 มิถุนายน 2563) and relative time (เมื่อวาน).
'
tags:
- nlp
summary: Datetime parser
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagDucklingNResult'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagDucklingInput'
description: Input
required: true
/nlp/extract-email:
post:
description: A service for detect emamil(s) in plain text.
tags:
- nlp
summary: Email extractor
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagEmail'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagEmailInput'
description: Email
required: true
/nlp/ner:
post:
description: A service which locate and classify named entities into pre-defined categories such as name, locaton and time.
tags:
- nlp
summary: Named Entity Recognition
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagNEROutput'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagNERInput'
description: Input
required: true
/nlp/ocr:
post:
description: A servie for extracting text from an image such as a printed paper or a photograph which contains texts.
tags:
- nlp
summary: OCR
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagOCROutput'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
image:
type: string
description: ImagePath
format: binary
required:
- image
/nlp/pos:
post:
description: A service which classify words in a given sentence into a paricular part-of-speech (Noun, Verb, Pronoun)
tags:
- nlp
summary: POS
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagPOSOutput'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagPOSInput'
description: Input
required: true
/nlp/qa:
post:
description: A service for answering questions based on a given story. A user must provide both story and questions in single request.
tags:
- nlp
summary: QA (coming soon)
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagQAOutput'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagQAInput'
description: Input
required: true
/nlp/sentiment-new:
post:
description: A service for identifying and categorizing opinions expressed in a given text. The result ranges between -1 (negative) and 1 (positive).
tags:
- nlp
summary: Sentiment analysis
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagSentimentNOutput'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagSentimentNInput'
description: Input
required: true
/nlp/similar:
post:
description: 'A service for finding semantically related words for a given word. Example use cases are recommendation, clustering and word normalization.
* ''top'' is a number of expecting words in the result.'
tags:
- nlp
summary: Similar words
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagSimilarNResult'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagSimilarNInput'
description: Input
required: true
/nlp/spell-correction:
post:
description: A service which auto-correct and recommends correct words for misspelling words in a sentence.
tags:
- nlp
summary: Spell correction
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagSpellResult'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagSpellInput'
description: Input
required: true
/nlp/tokenize:
post:
description: 'A service for breaking (tokenize) a sentence into a sequence of words. Only support Thai and English.
<i>engine</i>: specify tokenization algorithm to be used, available choices are:
* <i>longest_match</i>: Simple longest matching
* <i>longest_inse</i>: Add some rule-based improvement to ''longest_match''
* <i>longest_tcc</i>: Apply TCC after ''longest_match''
* <i>deep</i>: LSTM with one character context
* <i>deep_context_10</i>: LSTM with 10 (front) + 10 (back) characters context
* <i>deep_context_dict</i>: Apply dictionary cross-check to ''deep_context_10'''
tags:
- nlp
summary: Thai text tokenization
parameters:
- description: Token
name: token
in: query
required: true
schema:
type: string
default: 97051ade29a61c860f57dc9443128464
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/record.SwagTokenizeResult'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'408':
description: Request Timeout
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/record.SwagTokenizeInput'
description: Input
required: true
components:
schemas:
record.SwagNEROutput:
type: object
properties:
message:
type: object
properties:
description:
type: string
ner:
type: array
items:
type: '&{%!s(token.Pos=1066) <nil> %!s(*ast.StructType=&{1068 0xc00044fdd0 false})}'
status:
type: string
record.SwagSpellResult:
type: object
properties:
result:
type: object
properties:
spell:
description: Description string `json:"description"`
type: array
items:
type: object
properties:
index:
type: array
items:
type: integer
example:
- 3
- 7
spell:
type: boolean
example: false
suggestion:
type: array
items:
type: object
properties:
สนทนา:
type: number
example: 0.11273138225078583
สนาน:
type: number
example: 0.11190706491470337
token:
type: string
example: สนทน
text:
type: string
example: การสนทนนี้น่าสนใใจ มากๆๆๆ +++
record.SwagTokenizeInput:
type: object
properties:
engine:
type: string
example: deep_context_10
text:
type: string
example: เรามาตัดคำไทยกันเถอะ
record.SwagAddrInput:
type: object
properties:
text:
type: string
example: นายปุญญพัฒน์ เศรษฐ์สมบูรณ์ 081-234-5678 110/1 อาคาร KX (ใกล้ๆ BTS วงเวียนใหญ่) ชั้น 14 ถ.กรุงธนบุรี แขวงบางลำภูล่าง เขตคลองสาน กรุงเทพมหานคร 10600 จ-ศ 10:00-19:00
record.SwagDucklingInput:
type: object
properties:
text:
type: string
example: today
record.SwagSentimentNOutput:
type: object
properties:
message:
type: object
properties:
description:
type: string
sentiments:
type: array
items:
type: object
properties:
score:
type: number
example: 0.07
text:
type: string
example: อากาศดีๆจะมีในยามเช้า เหงาาาาสักเท่าไหร่
status:
type: string
example: ok
record.SwagClusteringOutput:
type: object
properties:
result:
type: object
properties:
message:
type: object
properties:
cluster:
type: array
items:
type: integer
example:
- 0
- 0
- 0
description:
type: string
example: k-mean model with bag-of-word. Maximum number of clusters is 1, result have 1 cluster.
result:
type: string
example: ok
record.SwagEmailInput:
type: object
properties:
texts:
type: array
items:
type: string
example:
- สอบถามเพิ่มเติมได้ที่ contact@insightera.co.th ครับ
record.SwagSimilarNResult:
type: object
properties:
message:
type: object
properties:
desc:
type: string
example: Used 'skipgram-5' engine. Choose the top 5 similar words.
word:
type: string
example: สวย
word-similarity:
type: array
items:
type: object
properties:
score:
type: number
example: 0.59
word:
type: string
example: น่ารัก
status:
type: string
record.SwagPOSInput:
type: object
properties:
texts:
type: array
items:
type: string
example:
- นายแดงกินข้าวแกง
- มดแดงกินมะม่วง
record.SwagQAInput:
type: object
properties:
context:
type: string
example: จังหวัดแค็วม์โปแลนด์ wojewdztwochemskie เป็นหน่วยการปกครองท้องถิ่นของประเทศโปแลนด์ในช่วงปี ค.ศ.1975 - ค.ศ.1998 จังหวัดได้รับการรวมเข้ากับจังหวัดลูบลินมีเมืองหลักคือแค็วม์ใน ปี ค.ศ.1998 มีพื้นที่ประมาณ 3865 ตารางกิโลเมตรและมีประชากร 248800 คน
questions:
type: array
items:
type: string
example:
- จังหวัดแค็วม์ก่อตั้งขึ้นในปีอะไร
- แค็วม์มีพื้นที่เท่าไร
- แค็วม์มีจำนวนประชากรกี่คน
record.SwagDucklingNResult:
type: object
properties:
status:
type: string
example: ok
timestamp:
type: integer
example: 1577811600
record.SwagEmail:
type: object
properties:
results:
type: array
items:
type: object
properties:
emails:
type: array
items:
type: object
properties:
domain_name:
type: string
example: insightera.co.th
email:
type: string
example: contact@insightera.co.th
scope:
type: array
items:
type: integer
example:
- 22
- 46
username:
type: string
example: contact
text:
type: string
example: สอบถามเพิ่มเติมได้ที่ contact@insightera.co.th ครับ
status:
type: string
example: ok
record.SwagNERInput:
type: object
properties:
texts:
type: array
items:
type: string
example:
- นายแดงหิวข้าว
- ผมเจอนายแดงตอนเช้า
record.SwagQAOutput:
type: object
properties:
result:
type: object
properties:
description:
type: string
question-answer:
type
# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/insightera/refs/heads/main/openapi/insightera-nlp-api-openapi.yml