Search & SEO · Live on Apify

Google Images Scraper

Type a search phrase and get Google Images results as a table. You get image links, sizes, titles and source pages. No login and no API key.

About $2.00 for 1,000 results$0.002 per result + $0.005 per run. Apify bills you, not us.Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Run it on Apify Opens apify.com, the website where our tools run. Sign up free with Google or email, no card needed.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure

What you get, for example

queryred bicycle
position1
title24 in. Red 21-Speed Mechanical Disc Brake Mountain Bike for Teenagers…

How to use it: 3 steps

  1. Make a free Apify accountApify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: red bicycle in Search queries. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Type a search phrase and get the Google Images results as a table: direct image URL, width and height, thumbnail, title, source page and domain, in Google's order. No login and no API key. A run with the prefilled query red bicycle and 20 images takes about a minute and costs about $0.06 on the Free plan.

  • Searches Google Images for each phrase in queries, in the country and language you choose.
  • Applies the Google filters you set: SafeSearch, size, type, color, time period and usage rights.
  • Reads up to 3 Google result pages per phrase. One page has about 100 images, so Google gives about 300 images per phrase at most.
  • Removes repeated images (the same image URL) inside one phrase and numbers the rest 1, 2, 3… in Google's order.
  • Saves one Dataset row per image and stops a phrase when it has maxImages images or when Google has no more.

Good for

  • Build an image dataset for machine learning: many phrases, up to about 300 image links each, with sizes to filter small images.
  • SEO: see which pages and domains show up in Google Images for your keywords, and at which position.
  • Design and e-commerce: collect visual references, or check where your product photos appear.

Not a good fit

  • It does not download or store images. You get links; the image files stay on the source sites and can disappear.
  • It does not give image licences. The usageRights filter is Google's label, not a licence. Check the rights on the source page before you use an image.
  • About 300 images per phrase at most, because Google shows no more. For more images, use more phrases (for example red bicycle vintage, red bicycle kids).
  • No reverse image search (search by picture) and no Google Lens.
  • Google results change over time and between runs. Two runs of the same phrase can differ by about 10% of images.

Who uses it

Machine learning teams

Build image datasets from many search phrases.

SEO specialists

See which pages rank in Google Images for your keywords.

Designers and shops

Collect visual ideas or find where your product photos appear.

Price

Pay per event: you pay for each result the tool saves, plus a small start fee for each run. The price includes Apify platform costs. Apify bills you, not us. Prices below are for the Apify free plan.

What you pay forPriceWhen
Start fee$0.005Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more.
Google result page$0.01One Google Images result page read (about 100 images), also when Google has no images for the query. Pages that could not be read are free.
Image$0.002 (from $0.0014 on paid Apify plans)One saved image row with the image URL, size and source page.

Examples

  • One result: about $0.007.
  • 1,000 results: about $2.00.
  • Every day 100 results, for 30 days: about $6.15 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed. That is enough for about 2,400 results.

Prices checked on 24 October 2026. See the current price on Apify.

Questions

Does it download the image files?

No. It saves image links. You can download them later with your own tool.

Can I use the images for free?

Not always. The tool gives links, not a licence. Check the rights on the source page.

Why do two runs give different images?

Google changes results over time. In tests about 10% of images changed between runs.

How many phrases can I search at once?

From 1 to 100 phrases per run, with up to 300 images each.

Do I need a Google account or an API key?

No. The Actor reads public Google Images results. No login and no key.

Can I get more than 300 images for one phrase?

No, Google does not show more. Use several similar phrases; repeated images are removed only inside one phrase, so check imageUrl across phrases yourself.

Details

Step by step on Apify
  1. Open the Input tab.
  2. Keep the prefilled phrase red bicycle in Search queries (queries), or type your own, one per line.
  3. Keep Images per query (maxImages) at 20, or choose 1–300.
  4. Click Start.
  5. Open the Output tab and look at the Images view: a preview, the title, the image URL, the size and the source page for each image.
Use cases
TaskInputYou getKey fieldsNext step
ML image datasetmany queries, maxImages 300, size largeimage rowimageUrl, width, height, querydownload the URLs with your own tool, export CSV/JSON
SEO in Google Imagesyour keywords, countryCodeimage rowposition, sourceDomain, sourcePageUrlschedule weekly, compare positions in a sheet
Visual referencesa few phrases, type, colorimage rowthumbnailUrl, imageUrl, sourcePageUrlopen the Images view, export to Google Sheets
Tips for better results
  • Use the size filter to skip small images.
  • Use several similar phrases if you need more than 300 images.
  • Check the usage rights on the source page before you reuse an image.
Limits and good to know
  • 1–100 search phrases per run, 1–300 images per phrase. Google shows about 280–295 unique images per phrase, so a phrase can end with fewer than you asked for (status exhausted)
  • Measured on the cloud (256 MB): 20 images ≈ 45–70 s; 10 phrases × 100 images ≈ 2–3 min; 30 phrases × 300 ≈ 11 min; 100 phrases × 300 (28,568 images) ≈ 34 min
  • The default timeout is 1 hour, which fits the largest input. Memory is fixed at 256 MB; peak use was about 80 MB
  • Each Google page gets up to 3 attempts and up to 120 seconds. A phrase whose pages keep failing gets status error; you are not charged for failed pages
  • If Google cannot be read on the first phrase, the run stops there and does not start the other phrases (status skipped). Later in a run, 3 failed pages in a row also stop new phrases
  • The Actor saves image links, not image files

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "query": "red bicycle",
  "position": 1,
  "title": "24 in. Red 21-Speed Mechanical Disc Brake Mountain Bike for Teenagers outwyadironch43 - The Home Depot",
  "imageUrl": "https://images.thdstatic.com/productImages/ee2aa086-bc34-4653-8fda-ab7879d28920/svn/reds-pinks-bikes-outwyadironch43-64_600.jpg",
  "width": 600,
  "height": 600,
  "thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT5OkkXYwisrBprY_ohTFjwk4QbVwfWv62tA9h93MKQGg&s=10",
  "thumbnailWidth": 554,
  "thumbnailHeight": 554,
  "sourcePageUrl": "https://www.homedepot.com/p/24-in-Red-21-Speed-Mechanical-Disc-Brake-Mountain-Bike-for-Teenagers-outwyadironch43/325010151",
  "sourceDomain": "www.homedepot.com",
  "sourceName": "The Home Depot",
  "fileSize": "39KB",
  "dominantColor": "rgb(216,66,69)",
  "countryCode": "us",
  "languageCode": "en",
  "fetchedAt": "2026-10-15T04:51:03.022Z"
}

Use it from code

Actor ID: cliqtomedia/google-images-scraper. You need your Apify API token from Apify Console → Settings → API & Integrations.

Python · apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/google-images-scraper").call(run_input={
    "queries": [
        "red bicycle"
    ],
    "maxImages": 20
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
cURL
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~google-images-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries": ["red bicycle"], "maxImages": 20}'
LangChain · langchain-apify
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/google-images-scraper")
result = tool.invoke({"run_input": {"queries": ["red bicycle"], "maxImages": 20}})
print(result)

The cURL call waits for the results, up to 300 seconds. For longer runs, start a run (/runs) and get the results with a webhook or by checking the run. Apify API docs. LlamaIndex, MCP for AI agents and the JavaScript client: AI agents & MCP.

Data fields (17)
FieldTypeMeaning
querystringThe search query.
positioninteger1-based position in Google Images results for the query, after removing duplicate images.
titlestringTitle of the page the image comes from.
imageUrlstringDirect URL of the full-size image on the source site.
widthintegerFull-size image width in pixels.
heightintegerFull-size image height in pixels.
thumbnailUrlstringGoogle thumbnail URL (encrypted-tbn*.gstatic.com).
thumbnailWidthintegerThumbnail width in pixels.
thumbnailHeightintegerThumbnail height in pixels.
sourcePageUrlstringURL of the page that shows the image.
sourceDomainstringDomain of the source page, e.g. www.walmart.com.
sourceNamestringSite name as Google shows it, e.g. Walmart.
fileSizestringFile size as Google shows it, e.g. 80KB (text, not a number).
dominantColorstringMain color of the image as rgb(r,g,b).
countryCodestringGoogle country used for the search.
languageCodestringGoogle language used for the search.
fetchedAtstringWhen the Google results page was loaded (ISO 8601, UTC).
Input settings (10)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Search queries requiredqueriesarray["red bicycle"]
Images per querymaxImagesinteger20
CountrycountryCodestring"us"
LanguagelanguageCodestring"en"
SafeSearchsafeSearchbooleantrue
Image sizesizestring"any"
Image typetypestring"any"
Colorcolorstring"any"
TimetimePeriodstring"any"
Usage rightsusageRightsstring"any"

Use cases with this tool

Each guide shows all the steps and the other tools.

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure