Google Images API
Pricing
from $10.00 / 1,000 query with images
Google Images API
Google Images results as JSON: image URL, thumbnail, source page and site, title, rank, width and height, and related searches. Pay per query with images; empty queries are free.
Pricing
from $10.00 / 1,000 query with images
Rating
0.0
(0)
Developer
SteadyScrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Security
Limited permissionsShare
Google Images API for Product Image Research
Who it's for: ecommerce, catalog, SEO and brand teams who need to see which images Google shows for a keyword, plus developers and AI agents who need Google Images results as clean JSON.
What you get: for each keyword, up to 100 ranked Google Images results with the image URL, Google thumbnail, source page, site name, title, alt text, rank, and width and height, plus related searches and a link to the same Google Images page. You get metadata and links only: image files are not downloaded in full or rehosted.
Price: $0.010 per query that returns at least one image, plus $0.002 once per run that has such a query. A query that finds no images is free, and so are failed or timed-out queries. 1 query with images = $0.012. 10 queries with images in one run = $0.102.
Made by SteadyScrape (steady-scrape).
What you can do with it
- Product image research. See which product photos, sites and angles rank for "red ceramic mug" in the US, UK or Germany.
- Brand and marketplace monitoring. Check whose images appear for your brand or product names, and on which sites.
- SEO and content audits. Find the image sizes and source pages that win image results for your target keywords.
- Keyword discovery. Use
relatedSearchesto find the next keywords buyers type. - Datasets for AI agents and apps. Get Google Images results as JSON through the Apify API or MCP.
Input
Simple form: a list of keywords that share one country and language.
{"keywords": ["red ceramic mug", "blue ceramic bowl"],"country": "us","language": "en","depth": 100,"fillDimensions": true}
Advanced form: a different country and language for each search. You can combine both forms, up to 10 searches per run.
{"queries": [{ "keyword": "red ceramic mug", "country": "us", "language": "en" },{ "keyword": "rote Keramiktasse", "country": "de", "language": "de" }]}
- depth: images kept per query, from 1 to 100 (one result page).
- fillDimensions (default on): fills in width and height by reading only the first bytes of each image file (see below).
- dryRun: test mode with labeled sample rows. No search is run and nothing is charged.
- Country codes are ISO two-letter codes (
ukis accepted asgb). Chinese must bezh-CNorzh-TW.
Output
Each query gets one status row (recordType: "queryStatus") and one row per image (recordType: "image").
| Field | Meaning |
|---|---|
rank, rankAbsolute | Position in the image results |
title, altText | Result title and image alt text |
imageUrl | Source image URL |
thumbnailUrl | Google's cached thumbnail |
sourcePageUrl, sourceDomain, sourceName | The page that shows the image, its domain, and the site name Google shows |
width, height | Pixel size, read from the image header when fillDimensions is on. Null when it could not be read |
dimensionsSource | image_header, provider, or null |
queryStatus | success, partial, empty, timeout, failed, provider_error, malformed_response, blocked_operator, unsupported_locale, not_run, or invalid_input |
googleImagesUrl | Status rows only: the Google Images page for that query |
relatedSearches | Status rows only: related searches Google showed |
imageCount, duplicatesDropped, dimensionsFilled | Status rows only: counts for that query |
retrievedAt, resultDatetime | When the row was prepared, and the upstream result time |
partial means the search returned images, but a few results were incomplete and were left out. The OUTPUT record summarizes every query and its status.
Sample image row (shortened):
| rank | title | sourceName | width | height | imageUrl |
|---|---|---|---|---|---|
| 1 | Red ceramic mug on a table | example.com | 1200 | 1200 | https://images.example.com/mugs/red-ceramic.jpg |
Image size fill-in
The search results don't include pixel sizes. When fillDimensions is on, the Actor asks each image host for only the first bytes of the file with a range request, and stops reading as soon as the size is found. It never downloads or stores the whole file. It reads PNG, JPEG, GIF, WebP, BMP and AVIF/HEIF, and contacts public hosts only.
Each query gets about 12 seconds for this step, so some sizes can stay null. Some sites also refuse these requests. Fill-in never fails a query, never changes its status or image count, and doesn't change the price. Turn it off for the fastest runs.
Pricing
| Event | Price | When |
|---|---|---|
successful-query | $0.010 | per query that returns at least one image (success, or partial with at least one image) |
run-with-success | $0.002 | once per run, only if at least one query returned images |
apify-actor-start | $0.00005 | Apify's standard per-run start event |
Free: queries that find no images, failed or timed-out queries, blocked or invalid input, and test mode.
Examples: 1 query with images = $0.012. 10 queries with images in one run = $0.102. A run where every query is empty = $0.000 (plus the Apify start event).
You can set a maximum cost per run in Apify. The Actor stops sending new searches when the next one would go past it.
Limits
- Up to 10 searches per run and up to 100 images per search. Searches run one at a time.
- Each search is one instant request that can take up to about 95 seconds. A request that may already have been answered is never sent twice, so you are not charged twice.
- Advanced operators (
site:,related:, a leading minus and look-alikes) are rejected and free. The Actor also rejects email addresses, phone numbers and profile links. Do not submit person or face lookups. - Live search needs a paid Apify plan. On the free plan, runs return a clear
not_runstatus and are free. - The run needs a maximum cost per run of at least $0.012 to cover one query.
How it compares
- Copying results by hand: fine for one keyword. This gives you 100 ranked rows per keyword, for many countries, as a spreadsheet or JSON.
- Building your own scraper: Google Images pages change often and need proxies and upkeep. Here you send keywords and get structured rows.
- General image search APIs: many return image links only. This adds source page, site name, rank, related searches, and real pixel sizes read from the image files.
- You only pay for searches that return images. Empty, failed and timed-out searches cost nothing.
FAQ
Does it download the images? No. It returns links and metadata. With fillDimensions on, it reads only the first bytes of each file to get the size.
Can I use the images? Results are search metadata. They grant no reuse, training or copyright rights. Check each image's source page.
Why are some width/height values null? Some hosts refuse partial reads or answer slowly, and the size step is time-limited.
What does partial mean? Images were returned, but a few results were incomplete and left out. It is charged like a success, because you got images.
How fresh are results? Each run is a new Google Images search for your country and language.
Integrations
- Apify API and SDKs: call it from Python, JavaScript or any HTTP client and read the run's dataset.
- Schedules and webhooks: run it on a schedule and trigger your own endpoint when a run finishes.
- Make, Zapier, n8n: use Apify's integrations to start runs and pass rows on.
- AI agents (MCP): agents can call it through the Apify MCP server.
Data source & terms
Image search results and metadata are sourced from Google Images via the DataForSEO API. The service is not affiliated with or endorsed by Google. Data is provided for research and analytics of the keywords the customer selects, and may not be used to create a service that competes with general search engines. Returned links are search metadata: this Actor does not download in full, rehost or license images, and grants no reuse, training or copyright clearance. It is not a face search, a person directory or a reverse-image search. The service is not offered to customers in Russia, Belarus, Syria, North Korea, or occupied Crimea.
More from SteadyScrape
- Google Rank Tracker: track where your pages rank on Google for the keywords you care about.
- Keyword Search Volume: Google search volume, CPC, competition and a 12-month trend for your keywords.
- Amazon Keyword Research & Rank Tracker: Amazon keyword ideas and product rank tracking for your listings.
See every SteadyScrape (steady-scrape) Actor on our Apify profile.