
HTML/URL to PDF
Convert HTML or a public webpage into a downloadable PDF
Split PDFs by page count with public or private downloads
This PDF Splitting feature is available through the documented endpoint and can be used in application, automation, or data workflows.
This PDF Splitting feature is available through the documented endpoint and can be used in application, automation, or data workflows.
This PDF Splitting feature is available through the documented endpoint and can be used in application, automation, or data workflows.
This PDF Splitting feature is available through the documented endpoint and can be used in application, automation, or data workflows.
This PDF Splitting feature is available through the documented endpoint and can be used in application, automation, or data workflows.
This PDF Splitting feature is available through the documented endpoint and can be used in application, automation, or data workflows.

HTTP Protocol:HTTPS
HTTP Method:POST
HTTP Endpoint:https://api.gugudata.io/v1/imagerecognition/pdf-splitter
Response Type:application/json; charset=utf-8
DEMO Endpoint:https://api.gugudata.io/v1/imagerecognition/pdf-splitter/demo
Live Demo:Try Interactive Demo
Full API Docs:developers.gugudata.io
| Name | Type | Is Required | Default Value | Remark |
|---|---|---|---|---|
| appkey | string | true | YOUR_APPKEY | Your API credential. Keep it on the server and out of public code or logs. |
| file | file | false | A PDF upload. Provide exactly one of file or file_url. Maximum 20 MiB and 100 pages. | |
| file_url | string | false | https://storage.gugudata.io/pdf/demo.pdf | A public HTTP or HTTPS PDF URL. Provide exactly one of file or file_url. |
| page_size | integer | false | 100 | Pages per output PDF, from 1 to 100. |
| is_zip | boolean | false | true | Return one ZIP archive when true, or individual PDF files when false. |
| storage | string | false | public | Use public for direct download URLs or private for controlled downloads. |
| Name | Type | Remark |
|---|---|---|
| dataStatus.requestParameter | string | A safe request summary without the AppKey or source URL query. |
| dataStatus.statusCode | integer | Business status code. |
| dataStatus.statusDescription | string | Business status description. |
| dataStatus.responseDateTime | string | Server response time. |
| dataStatus.dataTotalCount | integer | Number of returned data records. |
| data.uuid | string | Identifier for this split result. |
| data.num_files | integer | Number of logical PDF parts created. |
| data.pdf_files | array<string> | Public download URLs. Empty in private storage mode. |
| data.storage | string | The selected storage mode when private output is used. |
| data.files | array<object> | Private file references for controlled downloads. |
| data.files[].file_id | string | Private file identifier used to create a temporary download link. |
| data.files[].file_name | string | Generated output file name. |
| data.files[].content_type | string | Generated file media type. |
| data.files[].size_bytes | integer | Generated file size in bytes. |
| data.files[].index | integer | Stable output order. |
| 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 concurrency or retry after the limit window resets. |
| 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. |
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"
}
}
}
Convert HTML or a public webpage into a downloadable PDF

Extract PDF text as HTML, text, Markdown, or JSON

Convert Markdown into a polished, downloadable PDF

Convert PowerPoint slides into PDF documents.