Google Image Search Scraper
Pricing
from $3.99 / 1,000 results
Google Image Search Scraper
Collect public Google Image Search result cards, image URLs, thumbnails, titles, and source links.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Google API
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
19 hours ago
Last modified
Categories
Share
What does Google Image Search Scraper do?
This Actor collects public result cards from Google Images. Generated searches use the currently observed udm=2 route; approved legacy tbm=isch start URLs remain supported. Current data-lpage cards are parsed individually, excluding inline favicon images. Browser navigation waits for a response commit and bounded result-card readiness. Each dataset row describes one image result and includes the visible title, available image links, publisher details, thumbnail dimensions, and image-file metadata that can be derived from exposed URLs. It does not visit publisher pages or claim rights to reuse images.
Why use Google Image Search Scraper?
An explicitly selected GOOGLE_SERP group uses the documented HTTP-only Google search proxy transport, without browser sessions or solver calls. The public source URL is still validated as HTTPS; only www.google.com/search is sent in HTTP absolute form to that proxy. Bodies are byte-bounded and deadlines cover the entire response. This does not fetch publisher pages or add a new input control.
Use the structured results for visual research, content discovery, image inventory, or source review. Search several phrases in one run, or pass approved public Google Images URLs. Item and page limits apply across the requested sources; repeated image results are deduplicated.
Without a proxy, the Actor uses bounded direct HTTP first and may render a successful JavaScript shell lacking cards. An explicit HTTP denial stops that route; it is not silently retried in a browser. When JavaScript rendering and proxyConfiguration are enabled, the Actor selects that ordinary proxy browser route directly. It does not log in, solve CAPTCHAs, spoof browser fingerprints, or bypass access boundaries.
What data can it extract?
| Field group | Examples | When present |
|---|---|---|
| Result | title, altText, mediaType, resultDateText, resultBadges | Google exposes the card title, image alternative text, date label, or badge |
| Image | imageUrl, originalImageUrl, imageFormat, imageMimeType, imageFileName, imageHost | Google exposes a direct result-image URL or its URL reveals those components; the direct URL may be a resized rendition |
| Thumbnail | thumbnailUrl, thumbnailWidth, thumbnailHeight, thumbnailAspectRatio, thumbnailOrientation, thumbnailDimensionsSource, thumbnailAspectRatioSource | Google exposes the thumbnail link, dimensions, or tile aspect ratio |
| Publisher | sourceName, sourceDomain, sourcePageUrl, sourcePath, sourceProtocol | The result card exposes a publisher label or external source link |
| Video/licensing labels | videoDurationText, licenseLabel, isLicensable | The card explicitly displays the corresponding label or duration; the Licensable badge is not a reuse grant |
The schema declares more than 20 top-level result properties and grouped image, thumbnail, and source objects. Many properties are optional aliases or deterministic URL-derived details, so a result does not necessarily populate 20 distinct source facts. Optional details are omitted when the page does not expose them; placeholder values are not added. Relative date text is preserved verbatim rather than converted into a guessed timestamp. Thumbnail aspect ratio and orientation come only from observed dimensions or the result tile's CSS ratio. File format is derived only from a recognizable URL extension.
How to scrape Google Images
- Open the Actor’s Input tab.
- Enter one or more search phrases, or add public Google Images search URLs.
- Set the result and page limits. Keep the defaults for a small first run.
- Start the Actor and inspect the run log if Google blocks or returns no usable cards.
- Open the Dataset tab to review the image records or export the dataset.
How much will it cost?
The Actor does not promise a fixed run price. Runtime and platform cost depend on the number of pages, browser fallbacks, retries, response sizes, and any proxy use. Use maxItems, maxPages, and maxImages to bound the amount of work. Browser fallback is slower than the direct request path.
Input
See the input tab for the complete configuration. Approved explicit URLs take precedence over generated query URLs. If neither is supplied, the default query is machine learning.
| Input | Type and default | Purpose |
|---|---|---|
| queries | string array, empty | Search phrases; used when no explicit URL is supplied |
| query, searchQuery | string, optional | Single-phrase aliases |
| startUrls | source array, empty | Approved public Google Images URLs using the Console URL-list shape |
| sourceUrls, urls, url | string list or string aliases | Approved public Google Images URLs |
| maxItems | integer, 25; 1–500 | Global result limit across sources and pages |
| maxPages | integer, 1; 1–10 | Page limit for each source |
| page | integer, 1; 1–100 | Preferred one-based initial page; each subsequent generated offset advances by 100 |
| startPage | integer, optional; 1–100 | Compatibility alias; it takes precedence over page when both are supplied |
| maxImages | integer, 50; 1–100 | Maximum image cards parsed per page |
| includeOriginalImageUrl | boolean, true | Prefer a direct original image link when Google exposes one |
| includeThumbnail | boolean, true | Include the thumbnail URL and its metadata; imageUrl remains available |
| includeSourcePage | boolean, true | Include the external publisher link and source fields when exposed |
| includeAlt | boolean, true | Include the accessible image text |
| locale | string, en | Google language parameter for generated URLs and browser locale |
| safeSearch | boolean, true | Add Google’s active SafeSearch parameter to generated URLs |
| renderJavaScript | boolean, true | Use page rendering when Google results need JavaScript to appear |
| proxyConfiguration | object, optional | Optional Apify Proxy settings for public pages |
The Actor accepts only HTTPS Google /search URLs with tbm=isch or udm=2 and a non-empty q parameter. maxItems is global; maxPages is per source. Deduplication uses the image URL, title, and external source-page link when available. There are no price, rating, or publisher-page enrichment filters.
Basic search
{"query": "red panda","maxItems": 20,"maxPages": 1}
Multiple explicit URLs and pagination
{"startUrls": [{ "url": "https://www.google.com/search?tbm=isch&q=red+panda" },{ "url": "https://www.google.com/search?udm=2&q=red+panda+habitat" }],"maxItems": 40,"maxPages": 2,"maxImages": 30,"page": 1}
Thumbnail-only presentation
{"queries": ["red panda"],"maxItems": 10,"includeOriginalImageUrl": false,"includeSourcePage": false,"includeAlt": false}
Output
Each dataset row is one image result returned by Google. A query may produce no row when no matching public image results are available.
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Example record:
{"title": "Mountain lake at sunrise","altText": "Mountain lake at sunrise","imageUrl": "https://cdn.example.com/photos/mountain-lake.jpg","originalImageUrl": "https://cdn.example.com/photos/mountain-lake.jpg","thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:example1&s=10","sourcePageUrl": "https://travel.example.com/mountain-lake","sourceName": "Example Travel","sourceDomain": "travel.example.com","sourcePath": "/mountain-lake","sourceProtocol": "https","width": 120,"height": 90,"aspectRatio": 1.3333,"thumbnailWidth": 120,"thumbnailHeight": 90,"thumbnailAspectRatio": 1.3333,"thumbnailOrientation": "landscape","imageFormat": "jpg","imageMimeType": "image/jpeg","imageFileName": "mountain-lake.jpg","imageHost": "cdn.example.com","imageProtocol": "https","imagePath": "/photos/mountain-lake.jpg","thumbnailHost": "encrypted-tbn0.gstatic.com","thumbnailProtocol": "https","thumbnailPath": "/images","mediaType": "image","image": {"imageUrl": "https://cdn.example.com/photos/mountain-lake.jpg","originalImageUrl": "https://cdn.example.com/photos/mountain-lake.jpg","altText": "Mountain lake at sunrise","imageFormat": "jpg","imageMimeType": "image/jpeg","imageFileName": "mountain-lake.jpg","imageHost": "cdn.example.com","imageProtocol": "https","imagePath": "/photos/mountain-lake.jpg"},"thumbnail": {"thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:example1&s=10","width": 120,"height": 90,"aspectRatio": 1.3333,"orientation": "landscape","host": "encrypted-tbn0.gstatic.com","protocol": "https","path": "/images"},"source": {"sourcePageUrl": "https://travel.example.com/mountain-lake","sourceName": "Example Travel","sourceDomain": "travel.example.com","sourcePath": "/mountain-lake","sourceProtocol": "https"}}
The width and height aliases describe the thumbnail resource, not the direct result image. They come from HTML attributes or, in browser-rendered mode, the loaded thumbnail's natural pixel dimensions. The originalImageUrl compatibility alias refers to a direct image URL exposed by Google and may be a resized rendition; it is not verified as the source's original file. Source-page fields are omitted if the result card does not expose them. Nested values repeat useful links and metadata for consumers that prefer grouped objects.
Tips and advanced options
Start with one phrase and a small maxItems value. Increase maxPages or maxImages only when the first page is useful. Direct image URLs may be absent, so imageUrl falls back to the observed thumbnail URL; the originalImageUrl compatibility alias is present only when a direct result-image URL is exposed. Result labels are captured only when visible on a card. Relative source pages are resolved to public HTTP or HTTPS destinations.
FAQ, support, and responsible use
Why are some optional fields missing?
Google varies result markup and does not expose the same image, dimension, publisher, and licensing details for every card. Missing information is omitted instead of guessed.
What happens when Google blocks a request?
The Actor stops that source, logs a bounded warning, and records counts in key-value storage. No error-shaped dataset row is pushed. The Actor does not solve CAPTCHAs or evade access controls.
How do I report a problem?
Use the Actor’s Issues tab and include the run ID and a short summary. The API tab contains the dataset and key-value output links.
Our Actors only collect information visible on public pages and do not seek private user data. Results can still contain personal or copyrighted material. Use the Actor only for lawful purposes, respect Google’s terms and access policies, and consult qualified legal counsel when necessary. This Actor is independent and is not affiliated with Google. Image-result availability and markup may change, and an image result does not grant permission to reuse the image.