All scrapers

Search

Google Images Scraper

google.com

99.9% Success rate
5.8s Avg response
Bot detection + rate limiting Protection
5,000 calls Measured over

Google Images hides the original image behind lazy-loading and buries every result's source in a JavaScript blob, so scraping it yourself means rendering the grid and reverse-engineering Google's internal data. A dedicated plugin endpoint takes a keyword and returns every result already parsed - the real full-resolution image URL (not a Google thumbnail), the source domain and page, a title, a thumbnail and the pixel dimensions - with no image grid to parse yourself and no Google API key.

What you can extract

  • The full-resolution original image URL on the publisher's site, for every result
  • The source domain and the source page URL that displays the image
  • The result title / page title, plus the human-readable site name
  • A fast Google-hosted thumbnail URL
  • Original image width and height in pixels
  • Google's reported file size (e.g. 418KB, 1.4MB)
  • A Google Images viewer link (/imgres) for every result - the URL a browser copies from the result tile

Dedicated endpoints

/images/google-search

Google Images search

Image results for a keyword. Returns the full-resolution origin image URL and source domain for every result, plus the source page, title, thumbnail and dimensions; target a market with proxy_country/gl; up to 100 results per call.

How to scrape it

curl -X POST \
  -H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
  "https://api.scrapeunblocker.com/images/google-search?q=eiffel%20tower&max_results=30"
import requests

resp = requests.post(
    "https://api.scrapeunblocker.com/images/google-search",
    headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
    params={"q": "eiffel tower", "max_results": "30"},
)
print(resp.text)
import { ScrapeUnblockerClient } from 'scrapeunblocker';

const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });

const results = await su.googleImages('eiffel tower', {
  maxResults: 30,
});
console.log(results);

Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.

Example response

{
  "query": "eiffel tower",
  "gl": "us",
  "resultsCollected": 30,
  "results": [
    {
      "imageUrl": "https://cdn.britannica.com/31/255531-050-B7E07090/eiffel-tower.jpg",
      "sourceDomain": "britannica.com",
      "sourcePageUrl": "https://www.britannica.com/topic/Eiffel-Tower-Paris-France",
      "title": "Eiffel Tower | History, Height, Facts",
      "width": 1600,
      "height": 1067,
      "fileSize": "418KB",
      "googleImagesUrl": "https://www.google.com/imgres?q=eiffel%20tower&imgurl=https%3A%2F%2Fcdn.britannica.com%2F31%2F255531-050-B7E07090%2Feiffel-tower.jpg&imgrefurl=https%3A%2F%2Fwww.britannica.com%2Ftopic%2FEiffel-Tower-Paris-France&docid=kZ9Xr2mFqL8AbM&tbnid=Xy7Qm2ntAbCDeM&w=1600&h=1067&hcb=2&ved=2ahUKEw..."
    }
  ]
}

Read the API docs

Frequently asked questions

Is it legal to scrape Google Images?

Collecting publicly available image results - URLs, source domains and titles - is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. The images themselves remain the property of their owners, so you stay responsible for how you use them. ScrapeUnblocker returns the public results; what you collect and how you use it is your decision.

Do I get the real full-resolution image URL or just a Google thumbnail?

The real one. Unlike the old Google Images layout, the current results page carries every result's origin image URL, so imageUrl is the actual full-resolution image on the publisher's site. A fast Google-hosted thumbnail URL is returned too, when you want a lightweight preview.

How do I scrape Google Images without getting blocked?

ScrapeUnblocker handles detection, rendering and exit rotation for you and returns image results already parsed, at a 99.9% success rate across our benchmark of 5000 distinct keywords and about 5.8s per call.

What data do I get back for each image?

For every result: the full-resolution origin image URL, the source domain and source page URL, the title and site name, a Google-hosted thumbnail URL, the pixel width and height, and the reported file size.

Do I need a Google API key or Custom Search account?

No. The plugin takes a keyword and returns parsed image results - no Google Cloud project, Custom Search API key or quota, and no HTML or JavaScript blob to parse yourself.

How much does it cost to scrape Google Images?

ScrapeUnblocker is priced per request, not per gigabyte - from about EUR 1 per 1,000 requests down to roughly EUR 0.55 at volume, with a predictable bill.

Related scrapers

Start scraping this site today

Free tier included. No credit card required to test it.