Image OCR Extractor
Pricing
Pay per usage
Image OCR Extractor
Extract text from images (PNG, JPG, WebP, TIFF) using Tesseract OCR. Batch up to 50 images, multi-language, confidence scores.
Image OCR Extractor
Pricing
Pay per usage
Extract text from images (PNG, JPG, WebP, TIFF) using Tesseract OCR. Batch up to 50 images, multi-language, confidence scores.
You can access the Image OCR Extractor programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.8", "x-build-id": "Th5e2kMwZhLCrGUsJ" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/gochujang~image-ocr-extractor/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-gochujang-image-ocr-extractor", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } }, "/acts/gochujang~image-ocr-extractor/runs": { "post": { "operationId": "runs-sync-gochujang-image-ocr-extractor", "x-openai-isConsequential": false, "summary": "Executes an Actor and returns information about the initiated run in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runsResponseSchema" } } } } } } }, "/acts/gochujang~image-ocr-extractor/run-sync": { "post": { "operationId": "run-sync-gochujang-image-ocr-extractor", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "inputSchema": { "type": "object", "properties": { "urls": { "title": "Image/PDF URLs", "type": "array", "description": "List of image or PDF URLs to OCR (PNG, JPG, WebP, TIFF, BMP, PDF). Up to 50 per run. Google Drive share links (drive.google.com/file/d/...) and Dropbox share links are automatically converted to direct download URLs.", "default": [], "items": { "type": "string" } }, "url": { "title": "Single image/PDF URL (shortcut)", "type": "string", "description": "Used when 'urls' is empty.", "default": "" }, "language": { "title": "OCR Language", "type": "string", "description": "Tesseract language code. Leave empty for auto-detection. 'eng' (English), 'deu' (German), 'fra' (French), 'spa' (Spanish), 'jpn' (Japanese), 'chi_sim' (Simplified Chinese), 'kor' (Korean). Multi-language: 'eng+deu'.", "default": "" }, "preprocessing": { "title": "Image preprocessing", "enum": [ "none", "grayscale", "threshold", "deskew" ], "type": "string", "description": "Apply image preprocessing before OCR. 'none' = raw image. 'grayscale' = convert to grayscale (often improves accuracy). 'threshold' = binary black/white (best for documents with clear text on white background). 'deskew' = auto-rotate skewed scans.", "default": "grayscale" }, "pageSegMode": { "title": "Page segmentation mode (PSM)", "minimum": 0, "maximum": 13, "type": "integer", "description": "Tesseract PSM. 3 = auto (default), 6 = single block of text, 7 = single line, 8 = single word, 11 = sparse text (scattered text). See Tesseract docs.", "default": 3 }, "minConfidence": { "title": "Minimum word confidence", "minimum": 0, "maximum": 100, "type": "integer", "description": "Filter out words with OCR confidence below this threshold (0-100). Default 0 = include all words. Higher values (e.g. 60) reduce noise but may drop valid words.", "default": 0 }, "limit": { "title": "Max images", "minimum": 1, "maximum": 200, "type": "integer", "description": "Max number of images/PDFs to process (cap: 200).", "default": 50 }, "outputFormat": { "title": "Output format", "enum": [ "text", "json", "lines" ], "type": "string", "description": "'text' (default) = plain text string. 'json' = structured object with word_count, confidence_score, tables, pages etc. 'lines' = array of non-empty lines from the OCR result.", "default": "text" } } }, "runsResponseSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "actId": { "type": "string" }, "userId": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "finishedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "status": { "type": "string", "example": "READY" }, "meta": { "type": "object", "properties": { "origin": { "type": "string", "example": "API" }, "userAgent": { "type": "string" } } }, "stats": { "type": "object", "properties": { "inputBodyLen": { "type": "integer", "example": 2000 }, "rebootCount": { "type": "integer", "example": 0 }, "restartCount": { "type": "integer", "example": 0 }, "resurrectCount": { "type": "integer", "example": 0 }, "computeUnits": { "type": "integer", "example": 0 } } }, "options": { "type": "object", "properties": { "build": { "type": "string", "example": "latest" }, "timeoutSecs": { "type": "integer", "example": 300 }, "memoryMbytes": { "type": "integer", "example": 1024 }, "diskMbytes": { "type": "integer", "example": 2048 } } }, "buildId": { "type": "string" }, "defaultKeyValueStoreId": { "type": "string" }, "defaultDatasetId": { "type": "string" }, "defaultRequestQueueId": { "type": "string" }, "buildNumber": { "type": "string", "example": "1.0.0" }, "containerUrl": { "type": "string" }, "usage": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "integer", "example": 1 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } }, "usageTotalUsd": { "type": "number", "example": 0.00005 }, "usageUsd": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "number", "example": 0.00005 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Image OCR Extractor from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: