Chinese Classical Poetry Database

Search nearly 400,000 works of classical Chinese poetry

Chinese Poetry Tang Poetry Song Poetry Classical Literature

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

NameTypeIs RequiredDefault ValueRemark
appkey string trueYOUR_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 false10 Number of records returned per page.
pagenumber integer false1 One-based page number for pagination.
type string false Poetry type filter. Accepted values are `唐诗`, `宋诗`, and `宋词`.
searchtype string falseall Search scope accepted by the upstream contract. The demo uses `all`.

API Response Parameters

NameTypeRemark
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 CodeExplanation of Status CodeRemarks
200Request processed successfully.Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`.
400Invalid request parameters or request format.Check required fields, data types, and request body format.
401Missing or unknown application key.Provide a valid `appkey` with the request.
403The application key is recognized but access is not allowed.The key may be expired, inactive, or not permitted for the requested API.
429Request 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.
500Internal service error.Retry later or contact support if the error persists.
503Upstream service unavailable.Retry later; the requested upstream dependency is temporarily unavailable.

Remote MCP

AI client access

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.

Endpoint https://mcp.gugudata.io/mcp
Open MCP Guide
Generic MCP configuration
{
  "mcpServers": {
    "gugudata": {
      "url": "https://mcp.gugudata.io/mcp",
      "transportType": "streamable-http"
    }
  }
}

Code Snippets

Frequently asked questions

Common questions about request limits, trials, renewal, and cancellation.

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.

Technical support

Need help choosing an API or getting started?

[email protected]

Service terms

Read our service terms and privacy policy before subscribing.