
Image Text Extractor
Pricing
$2.90/month + usage

Image Text Extractor
Extract text from images using OCR (Optical Character Recognition) via direct URLs or uploaded JSON/CSV files. Works with multiple languages and automatically enriches your structured file with the text found inside images.
0.0 (0)
Pricing
$2.90/month + usage
1
Total users
3
Monthly users
3
Runs succeeded
55%
Last modified
2 days ago
🖼️ Image Text Extractor
Extract text from images using OCR (Optical Character Recognition) via direct URLs or uploaded JSON/CSV files. Works with multiple languages and automatically enriches your structured file with the text found inside images.
✅ Features
- Accepts image URLs either:
- Directly through
startUrls
, or - From uploaded
.json
or.csv
files
- Directly through
- Applies OCR (Optical Character Recognition) to each image and extracts:
extractedText
: Full raw text detectedparagraphs
: Text split into readable blocksurls
: Any links found within the image text
- Supports Tesseract OCR with multiple languages (e.g. English, German, Spanish, etc.)
- Saves results in Apify Key-Value Store with a shareable download link
- Logs are clean and easy to follow
📥 Input
This Actor accepts these input fields:
Field | Type | Description |
---|---|---|
Image URLs | array | (Optional) One or more direct image URLs to process |
Upload a structured file | file | (Optional) Upload a .json or .csv file that contains image URLs |
Field name for image URL | string | The name of the column or field in your file that holds the image URLs |
language | string | Choose the OCR language from the dropdown (default is English) |
👇 Explaining Field name for image URL
in simple terms
If you're uploading a .json
or .csv
file, you need to tell the Actor which part of each item contains the image URL. This is what the Field name for image URL
is for:
-
🔢 In a CSV file, each column has a name (like
"image_url"
or"photo"
). You should type in the exact column name where the image URL is located.- Example:
In this case, you'd settitle,image_urlProduct 1,https://example.com/image1.jpgProduct 2,https://example.com/image2.jpgField name for image URL
to image_url.
- Example:
-
🧱 In a JSON file, each object has a label for its fields. You need to write the name of the field that stores the image link.
- Example:
Here, you'd set[{ "name": "Item A", "photo": "https://example.com/photo.jpg" }]Field name for image URL
to photo.
- Example:
-
💬 You can also use dot notation to reach inside nested fields. For example, if your JSON file looks like this:
- Example:
Then set[{ "assets": { "image": "https://example.com/image.jpg" } }]Field name for image URL
to assets.image.
- Example:
-
🔢 Multiple Images in One Row
If your
.json
or.csv
file contains more than one image URL per item, you can still process them all! Simply point to the field that holds an array of URLs.-
Example
.json
input:{"title": "Product Set","images": ["https://example.com/photo1.jpg","https://example.com/photo2.jpg"]}Set
Field name for image URL
to images — the Actor will automatically process all image URLs inside that array.This also works with dot notation for nested arrays:
{"media": {"photos": ["https://example.com/one.jpg","https://example.com/two.jpg"]}}In this case, set
Field name for image URL
to media.photos
-
🌍 OCR Language
The Actor supports many languages beyond English. At the input step, you'll see a dropdown menu labeled language
. Select the appropriate language for your images (e.g. German, French, Spanish...) - the default language is English.
This helps the OCR engine correctly detect and read the text in your image.
📤 Output
After processing, you'll receive:
-
A structured CSV or JSON file with enriched data:
extractedText
: All text found in each imageparagraphs
: Text broken into readable chunksurls
: Any links found inside the image text
-
🔗 A downloadable link to your processed file saved in Apify's Key-Value Store
-
📊 OCR results also pushed to Apify Dataset (optional)
🚀 Example Use Cases
- Extracting text from screenshot-based Google Ads
- Enriching scraped product data with visible text
- Identifying links or CTAs from image banners
🤖 Behind the Scenes
This Actor uses:
- Tesseract.js for OCR
- Sharp for image preprocessing (grayscale, normalize)
- Support for both in-memory JSON and CSV parsing/stringifying
- Output is clean and downloadable, with clear logs and no clutter
💡 Tip
Want to extract thousands of image ads from Google’s Ad Transparency Center? Combine this with a crawler that scrapes adstransparency.google.com
, then feed that structured JSON into this Actor. Boom — text from image ads, at scale.