Best Image Search API Providers in 2026 (Cost per 1,000 Compared)

By Anurag Pathak · · 15 min read

Every image search API price you can find is quoted in a different unit. One vendor bills a request; a second bills a record; a third bills credits, and spends ten of them on a single image call; a fourth bills a page of a hundred image results at the same price it charges for a page of ten links. Line those four numbers up in a column and the column tells you nothing at all. This post does the conversion instead — twice. Once to dollars per 1,000 API requests, which is what your invoice is denominated in, and once to dollars per 1,000 images actually returned, which is what you are really buying. Where a vendor never publishes the number that would let me convert, the cell stays empty and the reason sits beside it. Checked 2026-09-16.

I read every rate below off the vendor's own live pricing page on 16 September 2026 and linked each one inline. I ran no benchmark and I make no claim about anyone's speed or success rate — this is a pricing, unit and published-field comparison built from documentation, not a race. Serpent is the API this site sells, and it appears here as one row among several.

Short answer: measured per 1,000 requests, the published rates on this page run from $0.25 to $25.00 — a seventyfold spread that is almost entirely about what one request is. Measured per 1,000 images actually returned, the same rate cards collapse into a band between roughly $0.0042 and $0.25, and three of the six vendors cannot be converted at all because they never publish how many images one billable unit contains. The Serpent image search API is $0.35 per 1,000 calls, falling to $0.25 at Scale.

How I normalised this image search API comparison

The task is fixed, and everything else follows from it: collect 1,000 image results for a keyword, at the deepest page size each option supports. Four rules govern how the numbers below were produced, and each one exists because breaking it is how this category's comparisons usually go wrong.

If you want the same method applied to plain web search rather than images, the companion piece is the SERP API pricing comparison, and the per-vendor deep dives are DataForSEO pricing explained and SerpApi pricing explained.

The image search API pricing table: cost per 1,000 requests

This is the table in the unit your invoice arrives in. It is the wrong unit for deciding anything, which is the point of the next two sections — but it is the unit every vendor markets in, so it comes first.

Prices checked 2026-09-16 against each vendor's own live pricing page, linked in the first column. Named exclusions: SearchApi, Oxylabs, Serper, Zenserp, Traject Data and Apify are absent because I read no image-search rate card for them on this date — absence here means unread, not unavailable. Rates in this category move without notice; re-verify before you commit a budget.
ProviderWhat one billable unit isEntry rate per 1,000 requestsLowest published rate per 1,000 requestsWhat that lowest rate requiresFree allowance
Serpent — Image Search API One API call, whatever the engine and whatever the filters $0.35 $0.25 No monthly plan. A one-time $500 deposit, which stays spendable as balance Free calls on every new account, shared across endpoints
DataForSEO — Google Images SERP API One SERP page, priced as 100 image results $0.60 $0.60 Nothing beyond the Standard queue. A $50 minimum payment applies to the account None published
SerpApi — Google Images API One search, stated as a batch of 100 images $25.00 (Starter, $25/month) $1.96 Cloud 54M at $106,050/month for 54,000,000 searches 250 searches a month
Bright Data — Google Images Scraper API One record. The card never states how many records one image search yields $1.50 per 1,000 records $1.30 per 1,000 additional records Scale at $499/month, with 384,000 records included 5,000 records a month
HasData — Google Images API One request, billed 5 credits $1.23 (Startup, $49/month) $0.35 Growth at $208/month, for 3,000,000 credits 1,000 credits a month
Scrapingdog — Google Images API One request, billed 10 credits. The page publishes a per-credit price only $2.00 (LITE, $40/month) $0.2727 NOVA PRO at $30,000/month, for 1.1 billion credits 200 request credits, one-time

Arithmetic, checked 2026-09-16. DataForSEO and HasData print their per-1,000 dollar figures themselves; Bright Data prints $1.5 and $1.3 per 1,000 as the rate. SerpApi: $25 for 1,000 searches on Starter is $25.00 per 1,000, and $106,050 for 54,000,000 searches is $1.9639 per 1,000 searches — SerpApi prints neither, so both are our own division of its published plan price by its published plan volume. Scrapingdog: LITE is $40 for 200,000 request credits, so a credit is $0.0002, and its credit table bills a Google Images request at 10 credits, which is $0.002 a request, so $2.00 per 1,000 requests; the top plan is $30,000 for 1,100,000,000 credits, so a credit is $0.00002727 and an image request $0.0002727, which is $0.2727 per 1,000 requests. Serpent's ladder is published in full on the pricing page.

Read that table as a price list and you would conclude that DataForSEO is dear and Scrapingdog is cheap at the top. Read it as a unit list and the ordering inverts, which is the next section.

A gallery wall packed edge to edge with framed pictures of every size, in mismatched frames

One unit is not the same product twice

Five vendors on that table say "per 1,000". They mean five different things by it, and nothing in the headline number tells you which.

None of this is exotic pricing. It is ordinary vendor packaging, and it is why a table of headline numbers is close to useless for a buying decision. The only way through is to convert everything into the thing you actually want — images — and to refuse to convert where the vendor has not given you the conversion factor. That refusal is the difference between a comparison and a marketing page. The same trap, in its web-search form, is catalogued in the hidden costs of a SERP API.

Cost per 1,000 images returned

Here is the table the first one should have been. Same job, same 1,000 images, every published rate converted into the same unit — and three rows that cannot be converted, with the reason printed rather than papered over.

Prices checked 2026-09-16. A blank cell is a vendor that publishes no items-per-unit figure; the reason is in the last column. Named exclusions: the same six vendors named under the first table are absent for the same reason — no image-search rate card was read for them on this date.
ProviderImages per billable unit, as the vendor publishes itPer 1,000 images, entry ratePer 1,000 images, lowest published rateWhy a cell is blank
Serpent Documented, not guaranteed: about 60 on Google, Bing and Yahoo, around 95 on DuckDuckGo, about 50 on Brave $0.0058 $0.0042
DataForSEO 100, stated on the pricing page as the base price of 100 search engine results $0.0060 $0.0060
SerpApi 100, stated on the images documentation as a batch of 100 images per search $0.25 $0.0196
Bright Data Not published The card bills records and never states how many records one image search yields. Read twice; both reads agreed
HasData Not published Prints a dollar price per 1,000 requests, but no items-per-request figure anywhere on the rate card
Scrapingdog Not published Publishes credits per request, but no items-per-request figure

Arithmetic, checked 2026-09-16. Serpent: $0.35 per 1,000 calls is $0.00035 a call, and 1,000 images at about 60 a call is 16.7 calls, so $0.0058; on the Scale rate of $0.25 per 1,000 calls the same job is $0.0042. DataForSEO: $0.0006 a SERP page of 100 results, so ten pages is $0.006 per 1,000 images; the Priority queue is $0.0012 and Live mode $0.002 a page, which is $0.012 and $0.020 per 1,000 images. SerpApi: 100 images a search means ten searches per 1,000 images; $25 for 1,000 searches is $0.25, and $106,050 for 54,000,000 searches is $1.9639 per 1,000 searches, so $0.0196. A unit that comes back short of its stated batch is not discounted anywhere on this table, ours included.

Three things fall out of that conversion, and the first of them is uncomfortable for us.

What the lowest published rate really costs

A floor rate is only real if you can reach it. This table puts each vendor's lowest published per-1,000 figure next to the plan that unlocks it, what that plan costs every month, and the volume you have to consume before the rate is anything other than theoretical.

Prices checked 2026-09-16. Every monthly figure is the vendor's own published plan price. "Effective all-in" is that plan price divided by the volume the plan includes — the rate you actually pay if you consume the whole plan and not a unit more. Named exclusion: contact-sales plans are omitted from every row, because an unpublished price cannot be bounded from outside.
ProviderLowest published rate per 1,000 requestsPlan that unlocks itWhat that plan costs a monthVolume includedEffective all-in per 1,000 requests
Serpent $0.25 Scale tier Nothing monthly. A one-time $500 deposit, which stays spendable as balance Pay per call, no commitment $0.25
DataForSEO $0.60 Standard queue, no plan tier Nothing monthly. A $50 minimum payment applies Pay per call $0.60
HasData $0.35 Growth $208/month 3,000,000 credits, which is 600,000 image requests at 5 credits each $0.35
Scrapingdog $0.2727 NOVA PRO $30,000/month 1,100,000,000 credits, which is 110,000,000 image requests at 10 credits each $0.2727
Bright Data $1.30 per 1,000 additional records Scale $499/month 384,000 records included $1.2995 per 1,000 records
SerpApi $1.9639 Cloud 54M $106,050/month 54,000,000 searches $1.9639

Checked 2026-09-16. HasData: $208 buys 3,000,000 credits and its Google Images API bills 5 credits a request, so 600,000 requests. Scrapingdog: $30,000 buys 1,100,000,000 credits and its Google Images API bills 10 credits a request, so 110,000,000 requests. Bright Data: $499 divided by 384,000 records is $1.2995 per 1,000 records. SerpApi: $106,050 divided by 54,000,000 searches is $1.9639 per 1,000 searches. The last two divisions are ours; neither vendor prints the per-1,000 figure.

Put the monthly column next to the rate column and two things stop being true. First, Scrapingdog's $0.2727 — the second-lowest published per-request rate on this page — costs $30,000 a month and 1.1 billion credits to reach. Below about 110 million image requests a month you are buying volume you will not use, so for almost everyone that rate does not exist. Second, and this is the one worth saying plainly: HasData's Growth plan reaches $0.35 per 1,000 requests, which is exactly our Default rate, and if you already buy other HasData endpoints from the same credit balance that plan is very likely the better purchase than adding another vendor. A $208 monthly commitment that also covers your other scraping is a different product from a per-call rate, and the per-1,000 column cannot see the difference. The same logic runs the other way for a low-volume buyer: DataForSEO's best published rate needs a $50 minimum payment and no plan at all, where our Scale rate needs $500 deposited before it applies.

One honest note about our own ladder, since the tiers are visible on the pricing page anyway: image search discounts far less steeply than web search does. Web search runs $0.60 at Default down to $0.06 at Growth and $0.03 at Scale — a twentyfold cut. Images run $0.35 at Default, $0.32 at Growth and $0.25 at Scale, which is 10% off and then 30% off the base rate. If you are modelling a big image workload on the assumption that our volume tiers behave the way our web-search tiers do, they do not, and you should budget from the $0.25 figure rather than from anything steeper.

A lit exhibition corridor with large photographic prints hung in a row and a caption beneath each one

What you actually get back

Price is the easy half. The half that decides whether a cheap option is actually cheap is what lands in the response, and this is where I have to be careful about what I am entitled to claim. I did not read every vendor's response schema for this post, so there is no field-by-field competitor table here — inventing one would be exactly the sin the rest of this page is arguing against. What follows is our own published contract, offered as a checklist you can run against any vendor on this page before you sign anything.

The Serpent image search endpoint returns eight keys per image result, in the same order on every engine:

Published field set, checked 2026-09-16, from the API reference. Every key is present in every response; a value the result did not carry arrives as null, never as a missing key.
FieldWhat it carriesWhy it matters
position1-based rank within the list returnedNever skips a number, so a gap in your data is your bug, not ours
titleImage title or alt textThe only text signal most image results carry
thumbnailThumbnail URLCheap to fetch; enough for a visual diff or a contact sheet
originalFull-size image URLThe field most often missing or lagged elsewhere. Check it first
width / heightPixel dimensions of the full-size image, when the result carries themLets you filter for usable assets without downloading every candidate
sourceHost the image is published onThe domain-level answer to "who is using our photography"
pageUrlThe page the image appears onTurns an image hit into a takedown target or an outreach target

Checked 2026-09-16 against our own published API reference. Filters documented alongside those fields: size, type, color, aspect, license, time, people, layout and language, with per-engine support published as a grid rather than implied. No claim is made here about any other vendor's field set.

The three checks worth running before you commit

  1. Ask for 100 and count what arrives. This is the one number that moves the per-image price more than any rate card does, and almost nobody publishes it. We publish ours, and it is not flattering: num is a ceiling, not a promise — about 60 results on Google, Bing and Yahoo, around 95 on DuckDuckGo and about 50 on Brave. A response that came back short says so in the payload rather than being padded to look complete. Run the same test on whichever vendor you are comparing and recompute their per-image column with the real number.
  2. Check whether original is a real full-size URL. A thumbnail masquerading as an original is the classic image-API defect, and it is invisible until the day you need the asset at print size. Pull ten results and fetch ten originals.
  3. Check what an empty result looks like. A query with genuinely no images and a query that failed must not wear the same response. If they do, your monitoring will report a quiet week and an outage identically, and you will not find out for months. If you are building on top of this, the Python visual SERP monitor walkthrough has a working version of this check, and the image search API guide covers the request side in full.

Who sells an image product at all

Every rate card I read on 2026-09-16 prices a Google-Images product, and that is roughly where the agreement ends. SerpApi's public catalogue is the broadest of the ones I read: alongside its Google Images API it lists a Google Images Light API and a Google Images Related Content API, and separately a Yahoo! Images API. DataForSEO, Bright Data, HasData and Scrapingdog each list exactly one image product, built on Google.

I did not find an image product built on Bing, DuckDuckGo or Brave on those four rate cards. That is a statement about what four pages listed on one day, not proof that no such product exists anywhere — if coverage beyond Google matters to you, ask the vendor directly rather than trusting an absence, mine included. Our own image endpoint takes an engine parameter with five values, and the same call shape and the same eight fields come back whichever one you name, which is the part that actually saves you work. The equivalent breakdown for moving pictures is in the video search API overview.

Two catalogue facts are worth carrying into a procurement conversation. First, an image product's price is frequently not the vendor's headline price — Scrapingdog's image endpoint costs double its cheapest Google endpoint, HasData's costs half of its main one, and neither difference is visible from the plan cards. Second, image endpoints are where "per request" quietly becomes "per record", as Bright Data's own adjacent cards demonstrate. If you are evaluating a vendor on one surface and plan to use it on another, price both surfaces separately.

Which option fits which job

Whichever you choose, run the same two calls first. Ask for 100 images and count what comes back, then fetch ten originals and see how many are really full size. Those two calls will tell you more about what you are buying than any comparison table, this one included.

FAQ

Which image search API has the lowest published price per 1,000 requests?

On the six rate cards I read on 2026-09-16, the lowest published per-request rates are Serpent at $0.25 per 1,000 calls on its Scale tier and Scrapingdog at $0.2727 per 1,000 requests on its $30,000-a-month top plan. HasData's Growth plan reaches $0.35 per 1,000 requests for $208 a month, the same number as Serpent's entry rate with no monthly commitment. These are published rates only: several vendors also sell contact-sales volume plans whose prices nobody outside the deal can see, so nothing here is a claim about what you could negotiate. Checked 2026-09-16.

Why does DataForSEO look cheaper per image than it does per request?

Because its billing unit is a page of 100 image results rather than a single image. DataForSEO prices its Google Images SERP API at $0.60 per 1,000 SERP pages on the Standard queue, and its own pricing page defines that unit as the base price of 100 search engine results. Ten of those pages is 1,000 images, so the same rate works out at about $0.006 per 1,000 images returned. Per request DataForSEO sits mid-table; per image it sits at the cheap end. Both statements are true at once, which is why the unit has to be named every time the number is. Checked 2026-09-16.

Why is the Bright Data row blank in the per-image table?

Because the Google Images Scraper API page bills records and never says how many records one image search produces. Bright Data's neighbouring cards for other engines are priced per request, with 380K requests included on the paid plan; the Google Images card instead says records, with 384,000 records included. I read that page twice with different prompts and both reads agreed. Without a records-per-search figure, any per-image number printed for Bright Data would be an assumption wearing a decimal point, so the cell stays empty and the reason sits next to it. Checked 2026-09-16.

How many images does one API call actually return?

Fewer than the ceiling you asked for, and that is the number every per-image conversion turns on. Serpent publishes the measured figure rather than the marketing one: num accepts 1 to 100, and the documented result is about 60 images on Google, Bing and Yahoo, around 95 on DuckDuckGo and about 50 on Brave, with a short response flagged in the payload instead of quietly padded. SerpApi's images page states that images are fetched by batch of 100 images per search. DataForSEO prices in blocks of 100 results. HasData, Scrapingdog and Bright Data publish no items-per-unit figure at all, which is why three cells in the per-image table are empty. Checked 2026-09-16.

Does an image search cost more than a web search?

That depends on the vendor, and the direction is not the one most people guess. Scrapingdog's published credit table bills a Google Images request at 10 credits, double the 5 credits it bills for Google SERP Light, so images cost more there. HasData runs the other way: its Google Images API is a 5-credit endpoint against 10 credits for its main Google SERP API, so an image request costs half. DataForSEO charges the same rate for a page of 100 image results as it does for a page of 10 organic results. SerpApi publishes one ladder and no per-engine surcharge. Checked 2026-09-16.

What does a free allowance actually get you here?

Enough to check the response shape, not enough to run anything. Bright Data's Google Images card lists 5,000 free records a month. SerpApi's free plan is 250 searches a month. HasData's free plan is 1,000 credits a month, which is 200 image requests at the 5 credits that endpoint bills. Scrapingdog's free plan is 200 request credits, one-time, which is 20 image requests at 10 credits each. Serpent gives every new account free calls shared across eligible endpoints, with no card and no subscription. Checked 2026-09-16.

Related reading, if you are moving from a price decision to a build: the image search API guide for the request and filter surface, a Python visual SERP monitor for a runnable version of the count-what-arrives check, and reverse-image brand monitoring for the low-volume, high-field-quality case.

Related Posts