Image Text Extractor avatar
Image Text Extractor

Pricing

$2.90/month + usage

Go to Store
Image Text Extractor

Image Text Extractor

Developed by

M3Web

M3Web

Maintained by Community

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
  • Applies OCR (Optical Character Recognition) to each image and extracts:
    • extractedText: Full raw text detected
    • paragraphs: Text split into readable blocks
    • urls: 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:

FieldTypeDescription
Image URLsarray(Optional) One or more direct image URLs to process
Upload a structured filefile(Optional) Upload a .json or .csv file that contains image URLs
Field name for image URLstringThe name of the column or field in your file that holds the image URLs
languagestringChoose 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:
      title,image_url
      Product 1,https://example.com/image1.jpg
      Product 2,https://example.com/image2.jpg
      In this case, you'd set Field name for image URL to image_url.
  • 🧱 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:
      [
      { "name": "Item A", "photo": "https://example.com/photo.jpg" }
      ]
      Here, you'd set Field name for image URL to photo.
  • 💬 You can also use dot notation to reach inside nested fields. For example, if your JSON file looks like this:

    • Example:
      [
      { "assets": { "image": "https://example.com/image.jpg" } }
      ]
      Then set Field name for image URL to assets.image.
  • 🔢 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:

  1. A structured CSV or JSON file with enriched data:

    • extractedText: All text found in each image
    • paragraphs: Text broken into readable chunks
    • urls: Any links found inside the image text
  2. 🔗 A downloadable link to your processed file saved in Apify's Key-Value Store

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