DEV Community

Hari Om Patel
Hari Om Patel

Posted on

# How to Set Up Universal Google Image Bulk Downloader Pro (Step-by-Step)

Bulk-downloading clean, high-resolution images from an Excel list sounds complicated — but the open-source Python tool Universal Google Image Bulk Downloader Pro by hariompatel61 makes it a five-minute setup. Here's exactly how to get it running.

Prerequisites

Before you start, make sure you have:

  • Python 3.8+ installed
  • Google Chrome installed on your machine (the tool automates a real Chrome browser under the hood)

Step 1: Clone the Repository

Open a terminal and run:

git clone https://github.com/hariompatel61/universal-image-downloader.git
cd universal-image-downloader
Enter fullscreen mode Exit fullscreen mode

Step 2: Install Dependencies

The project ships with a requirements.txt covering everything it needs:

undetected-chromedriver>=3.5.5
selenium>=4.21.0
pandas>=2.0.0
openpyxl>=3.1.2
Pillow>=10.0.0
requests>=2.31.0
Enter fullscreen mode Exit fullscreen mode

Install them all in one line:

pip install -r requirements.txt
Enter fullscreen mode Exit fullscreen mode

Step 3: Prepare Your Data File

The tool expects an Excel (or CSV) file listing the items you want images for. A simple one-column list of item names works, but you can also include a category column for more targeted search results — the tool has smart header detection built in, so messy sheets aren't a dealbreaker.

Step 4: Configure config.json

On first run, the script generates a config.json file. This is where the real customization happens — you can set:

  • premium_sites: which stock photo sites to prioritize (Freepik, Unsplash, Pexels, Pixabay by default)
  • min_width / min_height: minimum acceptable image resolution
  • jobs: an array of tasks, each pointing at a different data file, with its own search_context (e.g., "Indian food dish") and fallback_filters (e.g., -recipe -video -youtube) to keep results clean

This job-queue structure means you can process several spreadsheets — say, a food menu and a clothing catalog — in a single run, each with different search logic.

Step 5: Run It

Fire up the script (or use the included RUN_DOWNLOAD.bat on Windows for a one-click start). On the very first run, you'll get about 10 seconds to manually solve a CAPTCHA if one appears. After that, your session cookies are saved in a local chrome_profile/ folder, so you won't be prompted again on future runs.

Handling Common Snags

The project's README includes a small but useful troubleshooting section:

  • SessionNotCreatedException: usually a Chrome/driver version mismatch. Open the script and update version_main=XXX inside init_driver() to match your installed Chrome version.
  • Item skipped unexpectedly: the script won't re-download files that already exist in your output folder. Delete the old file if you want a fresh copy.

That's It

Once configured, the script runs hands-free — parsing your spreadsheet, searching, filtering, and saving images into the output folder you specified, while respecting built-in rate limits (roughly 10–15 requests per minute) so you don't get your IP banned for hammering search engines.

Full docs and source: github.com/hariompatel61/universal-image-downloader

Top comments (0)