OCR API
OCR Document Intake Image to Text

OCR API

Extract English text from common image file formats

What can this API do?

Image text extraction

Upload an image and extract recognized text lines plus combined text for document intake and automation workflows.

Unlimited OCR usage

Run OCR whenever your workflow needs it under one annual subscription, without per-call charges or a sales-led setup.

Searchable archive support

Store recognized text alongside images so receipts, scans, screenshots, and forms become searchable.

Document intake automation

Route extracted text into approval workflows, ticketing systems, databases, and downstream AI processing.

Batch-friendly API design

Call the endpoint repeatedly from backend jobs when processing incoming image files or historical document queues.

Standalone OCR interface

Subscribe to the OCR API independently when the workflow only needs image-to-text output.

API Document

HTTP Protocol:HTTPS

HTTP Method:POST

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

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

DEMO Endpoint:https://api.gugudata.io/v1/imagerecognition/ocr/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.
imagefile file true JPEG, PNG, WebP, TIFF, or BMP multipart image upload up to 10 MiB.

API Response Parameters

NameTypeRemark
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.resultText array<string> Recognized non-empty text lines in reading order.
data.text string Recognized lines joined as plain text, or an empty string when no text is recognized.

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.
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

Image OCR

Read text from an image using a multipart file upload.

Input and coverage: JPEG, PNG, WebP, TIFF, or BMP input, maximum 10 MiB. Recognition quality depends on resolution, contrast, and layout.

Example request

Download the public sample image first. Replace YOUR_APPKEY with your own key before sending the API request.

curl --fail --output gugudata-logo.webp 'https://gugudata.io/assets/svg/logos/logo.webp'

curl --fail-with-body 'https://api.gugudata.io/v1/imagerecognition/ocr?appkey=YOUR_APPKEY' \
  --form '[email protected]'
View sample Demo response

This is a fixed Demo sample, shortened for readability. It is not the response to your example request. Your results depend on the input and dataset. File URLs are temporary and have been removed.

{
  "dataStatus": {
    "statusCode": 200,
    "status": "SUCCESS",
    "statusDescription": "successfully",
    "dataTotalCount": 1
  },
  "data": {
    "resultText": [
      "GUGUDATA"
    ],
    "text": "GUGUDATA\nDATA PAY LESS"
  }
}

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.