API features
Scanned PDF recognition
Recognize printed text in scanned PDFs. Results depend on scan quality; handwriting recognition is not guaranteed.
Editable Word documents
Download recognized text as a DOCX file for editing and correction. Save your result; permanent hosting is not guaranteed.
Source-page organization
Keep source page order, line breaks, and blank-page positions with page breaks. Original layout, images, and table structure are not restored.
English and Chinese options
Choose English, Simplified Chinese, Traditional Chinese, or English combined with either Chinese option.
Upload or PDF link
Upload a PDF or submit a public PDF link, up to 20 MiB and 50 pages per request.
Document review workflows
Send editable text to review queues, archive cleanup projects, and document intake workflows.
API Document
HTTP Protocol:HTTPS
HTTP Method:POST
HTTP Endpoint:https://api.gugudata.io/v1/imagerecognition/pdf2word
Response Type:application/json; charset=utf-8
DEMO Endpoint:https://api.gugudata.io/v1/imagerecognition/pdf2word/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. |
| file | file | false | Upload a PDF. Provide exactly one of file or file_url. Maximum 20 MiB and 50 pages. | |
| file_url | string | false | Public HTTP(S) PDF URL, up to 2048 characters. Provide exactly one of file or file_url. | |
| lang | string | false | en | en, zh-CN, zh-TW, en+zh-CN, or en+zh-TW. Recognition quality depends on the scan. |
| filename | string | false | result.docx | Optional safe download filename, at most 128 Unicode characters including the normalized.docx suffix. Paths are not accepted. |
API Response Parameters
| Name | Type | Remark |
|---|---|---|
| wordPath | string | Public HTTPS DOCX download URL. Save the file in your own storage; permanent hosting is not guaranteed. |
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. |
| 413 | PDF exceeds the size or page limit. | Use a PDF of at most 20 MiB and 50 pages. |
| 422 | PDF cannot be recognized. | Use an unencrypted PDF with legible printed text. |
| 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. |
| 502 | PDF download or recognition failed. | Check the PDF link and try again later. |
| 503 | Recognition is temporarily unavailable. | Try again later. |
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
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.
Service terms
Read our service terms and privacy policy before subscribing.




