PDF Parsing and Formatted Output
Multiple Format Output Highly Accurate Recognition

PDF Parsing and Formatted Output

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

What can this API do?

Four useful text formats

Choose HTML, plain text, Markdown, or a JSON string.

Page-aware output

Keep the original page order, with numbered sections in HTML, Markdown, and JSON.

Multilingual documents

Extract readable text already present in PDFs, including Chinese and English.

Upload or link input

Submit a PDF file or a publicly accessible PDF URL.

Browser-ready text

Display extracted text as a readable UTF-8 HTML document.

Document workflows

Prepare PDF text for search, indexing, and content processing.

API Document

HTTP Protocol:HTTPS

HTTP Method:POST

HTTP Endpoint:https://api.gugudata.io/v1/imagerecognition/pdf2format

Response Type:application/json; charset=utf-8

DEMO Endpoint:https://api.gugudata.io/v1/imagerecognition/pdf2format/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.
type string truehtml Output format: html, text (alias txt), markdown (alias md), or json. The result is always a string.
pdffile file false PDF upload. Provide exactly one of pdffile, file, or file_url. Maximum 20 MiB and 100 pages. Encrypted, damaged, and textless PDFs are not supported.
file file false Compatible alias for pdffile. Do not combine it with another input.
file_url string falsehttps://storage.gugudata.io/pdf/demo.pdf Public HTTP or HTTPS PDF URL, as an alternative to a file upload.

API Response Parameters

NameTypeRemark
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.result string Extracted HTML, plain text, Markdown, or serialized JSON containing ordered page text. Parse this string again when type=json. Does not include OCR, images, or complex layout reconstruction.

API Response Status Codes

Status Code Explanation of Status Code Remarks
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.
413PDF exceeds the size or page limit.Use a PDF of at most 20 MiB and 100 pages.
422PDF cannot be converted.Check that the PDF is readable, unencrypted, and contains text. Output must not exceed 20 MiB.
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.
502PDF retrieval or conversion response failed.Check that the public PDF URL can be downloaded.
503Conversion is temporarily unavailable.Try again later.

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

Plan and usage

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.