API features
Nearly 400,000 poetry records
Explore a large structured collection of Chinese classical poetry for products, research, and content discovery.
Tang and Song collections
Search Tang poems, Song poems, and Song lyrics through one consistent interface.
Title, author, and content search
Find works by matching keywords across the poem title, author name, or full text.
Poetry type filters
Limit results to the literary collection that best fits the learning or research experience.
Structured paginated results
Browse large result sets predictably with titles, authors, content, types, and result totals.
Education and cultural applications
Power reading tools, language-learning products, classroom resources, and digital humanities projects.
API Document
HTTP Protocol:HTTPS
HTTP Method:GET
HTTP Endpoint:https://api.gugudata.io/v1/text/chinese-poem
Response Type:application/json; charset=utf-8
DEMO Endpoint:https://api.gugudata.io/v1/text/chinese-poem/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. |
| keywords | string | false | Keyword used for fuzzy matching against the searchable text fields supported by this endpoint. | |
| pagesize | integer | false | 10 | Number of records returned per page. |
| pagenumber | integer | false | 1 | One-based page number for pagination. |
| type | string | false | Poetry type filter. Accepted values are `唐诗`, `宋诗`, and `宋词`. | |
| searchtype | string | false | all | Search scope accepted by the upstream contract. The demo uses `all`. |
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 | array<string> | Primary response payload returned by the endpoint. |
| data[].title | string | Title of the poem or lyric. |
| data[].author | string | Author name. |
| data[].content | array<string> | Array of strings containing the poem/lyric content, each element is one line. |
| data[].type | string | Poetry type returned by the upstream dataset, such as `唐诗`, `宋诗`, or `宋词`. |
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
Which types of classical Chinese poetry can I search?
The documented type filter accepts 唐诗, 宋诗, and 宋词. Use these values to narrow the collection rather than assuming that all Chinese literary genres share the same endpoint.
Can I search for a poem using keywords?
Yes. keywords supports fuzzy matching against the endpoint’s searchable text fields. Combine it with the documented type and searchtype settings when narrowing results.
How is a poem’s text represented?
Each record includes title, author, type, and a content array. Each content element is one line, which lets your application display the poem without flattening its original line structure.
Does the API include English translations or pinyin?
The documented response provides Chinese poem or lyric records. It does not expose English translations, pinyin, detailed annotations, or teaching exercises.
How do I page through matching poems?
Use pagesize and the one-based pagenumber parameter. Read the response’s matching-record total rather than treating the number of items on one page as the size of the whole result set.
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.




