Glasser
← All posts

Glasser Team10 min read

Free Image Search API: Options, Limits, and Examples

Compare free image search APIs by stock library, web coverage, and quota. Check Google access changes and build a request that preserves source metadata.

An amber magnifying glass selects a ceramic landscape card from a small image collection.

Which free image search API fits the images you need?

For stock photos in a prototype, start by comparing Pexels, Unsplash, and Pixabay. For images found across the web, evaluate a web image-search service such as Brave Search. These return different collections of images, so a larger free allowance cannot compensate for the wrong source.

If you are considering Google's Custom Search JSON API, check eligibility first: Google has closed it to new customers. Existing customers have a transition deadline of January 1, 2027, according to Google's current overview.

Your taskStart withWhy it fits
Find a stock photo for a page or presentationPexels or UnsplashSearch a curated photography library
Find photos, illustrations, or vector-style assetsPixabaySearch its asset library with image-type filters
Find images associated with a named subject across websitesBrave image searchSearch an independent web image index
Retrieve Google image results through an existing integrationConfirm your Google access and migration planThe official JSON API has restricted eligibility and an end date

A stock-photo API will not reliably answer every query for a specific product, person, or recent event. A web-search result may locate the right image while leaving you to establish whether and how you may use it.

Reverse-image search is a separate task: its input is an image used to find matches or similar images. This article focuses on text queries that return images, which keeps provider selection comparable.

How far will each API’s free allowance take you?

The following figures were checked on October 8, 2026. They describe published allowances and rules; no comparative image-quality benchmark was run.

APIPublished starting allowanceCollectionCondition to plan around
Pexels200 requests/hour and 20,000/month by defaultPexels photos and videosAPI key required; higher limits require a separate request
Unsplash50 requests/hour in demo modeUnsplash photographyPublic production use should follow the production-approval process
Pixabay100 requests per 60 seconds by defaultPixabay image and video libraryCache requests for 24 hours; systematic mass downloads are prohibited
Brave Search$5 in recurring monthly credits; Search is listed at $5/1,000 requestsWeb results, including image searchA bounded credit allowance; confirm the plan and endpoint in your account
Google Custom Search JSON API100 queries/day for eligible existing customersProgrammable Search Engine web/image resultsClosed to new customers; service discontinuation January 1, 2027

Sources: Pexels limits, Unsplash documentation, Unsplash production guidance, Pixabay documentation, Brave pricing, and Google pricing.

The Brave allowance corresponds to 1,000 requests at that listed Search rate if the entire $5 credit is spent on those requests. It is a calculation from the published price, not an unlimited free service or a promise that every account has the same spending controls.

Include pagination and retries in your request budget

Suppose an image picker serves 300 searches per day, and each search loads two result pages. Without any cache reuse, that is:

300 searches × 2 pages × 30 days = 18,000 requests/month

At Pexels' default monthly allowance, that leaves 2,000 requests for other activity. Loading a third page for every search would raise the estimate to 27,000 requests. These are planning examples; actual use depends on user behavior and the provider's request-counting rules.

An hourly limit also applies independently of a monthly total. A product launch that sends many searches at once can exhaust the hourly allowance even when the month has barely started.

Count only features you plan to ship, but include pagination, repeated searches, retries, and preview requests. Then decide whether your application should cache permitted responses, reduce unnecessary requests, or apply for more capacity.

If juggling provider accounts and request budgets is slowing down your web-image project, explore image search through Glasser. Supported providers share one Glasser key and a pay-per-call model; inspect the price for your workload before running.

How do you make your first image search request?

Keep the Pexels API key on your backend

Pexels accepts a search query and returns photo records. Obtain an API key through its developer account flow, install requests, and keep the key in a server-side environment variable named PEXELS_API_KEY.

This example follows the Pexels API documentation. It uses the key directly in the Authorization header, without a Bearer prefix.

import json
import os
import requests

response = requests.get(
    "https://api.pexels.com/v1/search",
    headers={"Authorization": os.environ["PEXELS_API_KEY"]},
    params={
        "query": "mountain landscape",
        "orientation": "landscape",
        "per_page": 5,
        "page": 1,
    },
    timeout=30,
)
if not response.ok:
    raise RuntimeError(f"Pexels request failed: HTTP {response.status_code}")
payload = response.json()

# An application view model; preserve attribution and source metadata.
results = [
    {
        "provider": "pexels",
        "id": photo["id"],
        "image_url": photo["src"]["large"],
        "source_page": photo["url"],
        "creator": photo["photographer"],
        "creator_url": photo["photographer_url"],
        "alt": photo.get("alt", ""),
    }
    for photo in payload.get("photos", [])
]
print(json.dumps(results, ensure_ascii=False, indent=2))

This first request returns one result page. An empty photo list is a search outcome; an HTTP failure is an operational error. Keep those states distinct when you build the picker.

The code was validated against documentation and mocked response data. No authenticated Pexels query was run for this guide, and the normalized field names are an author-defined application model.

Use a web-image endpoint to search beyond stock libraries

Brave documents a separate image-search endpoint:

curl --get 'https://api.search.brave.com/res/v1/images/search' \
  --header "X-Subscription-Token: $BRAVE_SEARCH_API_KEY" \
  --data-urlencode 'q=mountain landscape'

Set your key locally before running it. Inspect the response schema before adapting the Pexels view model: different providers use different fields for image URLs, thumbnails, and source pages. Returning a web image URL does not establish permission to republish that image.

Can you still use Google’s image search API for free?

Google’s free allowance is limited to existing customers

Google's Custom Search JSON API is closed to new customers. Tutorials that tell every new developer to enable it and claim 100 free daily queries omit a material eligibility condition.

For eligible existing customers, Google's documented allowance is 100 free queries per day. Additional requests cost $5 per 1,000 queries, up to 10,000 queries per day, until the January 1, 2027 discontinuation date. Check the official overview against your actual project before planning continued use.

The allowance applies to search queries, so do not interpret “100 free queries” as “100 images.” A returned result can contain multiple images, while another page of results requires another request.

Google's Vision API Product Search pricing concerns matching against a maintained product-image catalog. That solves a different task from discovering images across the open web.

Third-party services may advertise a “Google Images API.” Their contract, billing, and result extraction belong to that provider. Check whether the service returns Google image results, searches its own index, or extracts images from a website you supply.

Also remove Microsoft's direct Bing Search APIs from new-project shortlists: Microsoft retired them on August 11, 2025. A third-party endpoint with Bing in its name has its own contract and should be evaluated separately.

Building a new project that needs Google image results? Browse Glasser’s image-search endpoints for supported provider options with their own inputs and pricing, independently of Google’s closed Custom Search enrollment.

What should you keep and check before using returned images?

Keep source and creator information with each image

A useful image record includes more than the URL that happens to render in your browser. Retain the provider, source page, creator link when supplied, image dimensions, and the identifier needed to retrieve the record again.

For an image picker, make the source page accessible from each result. Let the person selecting the image review its context and usage conditions instead of stripping all provenance during normalization.

API access and image-use terms are separate checks. Read the applicable source's terms for your intended use; an API returning a result does not grant every possible reuse right.

Apply each provider’s attribution, caching, and hosting rules

Pexels' API guidelines call for a prominent link to Pexels and credit to photographers when possible. Keep those display requirements alongside the response fields in your image-picker implementation.

Unsplash's API guidance requires attribution, use of returned image URLs for display, and download-event reporting when your application performs a download. Its production guidance also explains when to apply beyond demo status.

Pixabay's documentation takes a different approach: returned image URLs may display temporary search results, while permanent use requires downloading the image to your server instead of permanent hotlinking. It also requires 24-hour request caching. A single storage policy copied across both services would miss these differences.

Compare paid options using the same image needs

If a free allowance no longer fits, compare the cost of your actual workload while keeping the corpus requirement fixed. Paying for a stock-photo API still will not make it a general web-image index.

Glasser’s official model lets you inspect a supported image-search endpoint’s inputs and price before running. Verify that its results include the image and source-page fields your application needs; image-use rights remain a separate check.

For broader retrieval decisions, the free web search API guide covers a neighboring task. An ordinary web result and an image result should remain separate data types in your integration.

Ready to test an image query? Start with Glasser or connect a compatible agent with set up https://glasser.ai/SKILL.md, then ask for a keyword image search and review the selected endpoint’s price and returned source links.

Frequently asked questions

What is the best free image search API?

For stock photos, shortlist Pexels, Unsplash, and Pixabay based on their libraries and integration rules. For images across the web, evaluate a web-image index and its current free-credit allowance.

Is Google image search API access still free?

Eligible existing Custom Search JSON API customers retain 100 free daily queries under Google's published terms. New customers cannot join, and existing customers must transition before January 1, 2027.

Can I use any returned image commercially?

Check the image source's applicable license and usage conditions for your project. A successful API search does not establish every reuse right.

That depends on the specific endpoint. Text-to-image discovery and image-input matching require different capabilities, even when a provider offers both.