API features
Semantic comparison
Compare the meaning of two texts beyond exact word matches.
Normalized score
Receive a compact similarity score for each submitted text pair.
Multilingual text
Compare supported text in English, Chinese, and other languages.
Duplicate review
Prioritize potentially similar records for editorial or manual review.
Content matching
Compare descriptions, questions, documents, or search results in your workflow.
Simple JSON integration
Submit two text fields and use the returned score in downstream applications.
API Document
HTTP Protocol:HTTPS
HTTP Method:POST
HTTP Endpoint:https://api.gugudata.io/v1/text/similarity
Response Type:application/json; charset=utf-8
DEMO Endpoint:https://api.gugudata.io/v1/text/similarity/demo
Live Demo:Try Interactive Demo
Postman Collection:Run in Postman
API Request Parameters
| Name | Type | Is Required | Default Value | Remark |
|---|---|---|---|---|
| appkey | string | true | YOUR_APPKEY | API key used to authenticate the request. |
| content1 | string | true | First nonblank text to compare. | |
| content2 | string | true | Second nonblank text to compare. |
API Response Parameters
| Name | Type | Remark |
|---|---|---|
| dataStatus | object | Legacy response metadata. `dataStatus.statusCode` is not the HTTP status code for this endpoint family. |
| dataStatus.requestParameter | string | Privacy-safe summary of the normalized request. |
| dataStatus.statusCode | integer | Application-level status code. |
| dataStatus.statusDescription | string | Human-readable application status message. |
| dataStatus.responseDateTime | string | Time at which the response was generated. |
| dataStatus.dataTotalCount | integer | Number of matching or returned records for this request. |
| data | object | Object containing the semantic similarity result. |
| data.similarity | string | Similarity score returned as a decimal string by the current v1 contract. |
API Response Status Codes
| Status Code | Explanation of Status Code | Remarks |
|---|---|---|
| 200 | Request processed successfully. | Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`. |
| 400 | Invalid request parameters or request format. | Check required fields, data types, and request body format. |
| 401 | Missing or unknown application key. | Provide a valid `appkey` with the request. |
| 403 | The application key is recognized but access is not allowed. | The key may be expired, inactive, or not permitted for the requested API. |
| 429 | Request rate or trial usage limit exceeded. | Reduce request frequency and retry with backoff. If a trial allowance is exhausted, check Trial Keys for remaining requests and subscribe to continue. |
| 500 | Internal service error. | Retry later or contact support if the error persists. |
| 503 | Upstream service unavailable. | Retry later; the requested upstream dependency is temporarily unavailable. |
Remote MCP
Use this API through GuGuData Remote MCP
Connect your AI client once, authorize in the browser, and the client can use the GuGuData API tools available to your account. You do not need to paste an appkey into the MCP client.
https://mcp.gugudata.io/mcp{
"mcpServers": {
"gugudata": {
"url": "https://mcp.gugudata.io/mcp",
"transportType": "streamable-http"
}
}
}Code Snippets
Frequently asked questions
Does the API compare meaning or only identical words?
It compares the semantic similarity of two submitted texts. This can help rank related descriptions or questions, but it is different from an exact string-equality check.
How do I submit a text pair?
Send two nonblank fields, content1 and content2, in one request. The result describes that pair; the endpoint does not accept a searchable document collection.
Is the similarity value a JSON number?
The current v1 contract returns data.similarity as a decimal string. Parse it explicitly when your code needs numeric comparisons, and handle conversion errors rather than relying on string ordering.
What score should I use to mark two records as duplicates?
Choose a threshold using representative examples from your application. A semantic score is not a universal duplicate rule, plagiarism percentage, or probability that two records are interchangeable.
Can I compare supported texts in different languages?
The product documents multilingual comparison, including English and Chinese. Evaluate your language pairs and domain vocabulary before relying on a shared threshold across different datasets.
What does the 5 requests per second limit mean?
It is a request-rate limit, not a concurrency allowance. Keep your request rate at or below 5 per second. If the service returns a rate-limit response, reduce the frequency and retry with backoff.
Is total paid usage limited?
There is no total request cap during an active paid subscription and no usage-based overage charge.
How does the free trial work?
Each account can receive a limited trial key. Requests are shared across APIs in the same category. Check Trial Keys for the exact allowance and remaining requests.
How do renewal and cancellation work?
The plan renews annually until canceled. Manage or cancel the renewal from Dashboard → Orders & Billing. Access continues through the paid period after cancellation. See the Terms of Service for the current refund policy. If the billing portal is unavailable, contact support.
Service terms
Read our service terms and privacy policy before subscribing.




