USE FOR image search. Returns images with title, source URL, thumbnail. Supports SafeSearch filter. Up to 200 results.
Install
npx skills add https://github.com/brave/brave-search-skills --skill images-searchSKILL.md
Images Search
Requires API Key: Get one at https://api.search.brave.com
Plan: Included in the Search plan. See https://api-dashboard.search.brave.com/app/subscriptions/subscribe
Quick Start (cURL)
Basic Search
curl -s "https://api.search.brave.com/res/v1/images/search?q=mountain+landscape" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"
With Parameters
curl -s "https://api.search.brave.com/res/v1/images/search" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-G \
--data-urlencode "q=northern lights photography" \
--data-urlencode "country=US" \
--data-urlencode "search_lang=en" \
--data-urlencode "count=20" \
--data-urlencode "safesearch=strict"
Endpoint
GET https://api.search.brave.com/res/v1/images/search
Authentication: X-Subscription-Token: <API_KEY> header
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
q |
string | Yes | - | Search query (1-400 chars, max 50 words) |
country |
string | No | US |
Search country (2-letter country code or ALL) |
search_lang |
string | No | en |
2+ char language code |
count |
int | No | 50 | Results to return (1-200) |
safesearch |
string | No | strict |
off or strict (no moderate for images) |
spellcheck |
bool | No | true | Auto-correct query; corrected query in query.altered |
Response Format
{
"type": "images",
"query": {
"original": "mountain landscape",
"altered": null,
"spellcheck_off": false,
"show_strict_warning": false
},
"results": [
{
"type": "image_result",
"title": "Beautiful Mountain Landscape",
"url": "https://example.com/mountain-photo",
"source": "example.com",
"page_fetched": "2025-09-15T10:30:00Z",
"thumbnail": {
"src": "https://imgs.search.brave.com/...",
"width": 200,
"height": 150
},
"properties": {
"url": "https://example.com/images/mountain.jpg",
"placeholder": "https://imgs.search.brave.com/placeholder/...",
"width": 1920,
"height": 1080
},
"meta_url": {
"scheme": "https",
"netloc": "example.com",
"hostname": "example.com",
"favicon": "https://imgs.search.brave.com/favicon/...",
"path": "/mountain-photo"
},
"confidence": "high"
}
],
"extra": {
"might_be_offensive": false
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
type |
string | Always "images" |
query.original |
string | Original query |
query.altered |
string? | Spellchecked query (null if no correction) |
query.spellcheck_off |
bool? | Whether spellcheck was disabled |
query.show_strict_warning |
bool? | True if strict safesearch hid relevant results |
results[] |
array | List of image results |
results[].type |
string | Always "image_result" |
results[].title |
string? | Image title |
results[].url |
string? | Page URL where image was found |
results[].source |
string? | Source domain |
results[].page_fetched |
string? | ISO datetime of last page crawl |
results[].thumbnail.src |
string? | Brave-proxied thumbnail URL (~500px width) |
results[].thumbnail.width |
int? | Thumbnail width |
results[].thumbnail.height |
int? | Thumbnail height |
results[].properties.url |
string? | Original full-size image URL |
results[].properties.placeholder |
string? | Low-res placeholder URL (Brave-proxied) |
results[].properties.width |
int? | Original image width (may be null) |
results[].properties.height |
int? | Original image height (may be null) |
results[].meta_url.scheme |
string? | URL protocol scheme |
results[].meta_url.netloc |
string? | Network location |
results[].meta_url.hostname |
string? | Lowercased domain |
results[].meta_url.favicon |
string? | Favicon URL |
results[].meta_url.path |
string? | URL path |
results[].confidence |
string? | Relevance: low, medium, or high |
extra.might_be_offensive |
bool | Whether results may contain offensive content |
Use Cases
- Visual content discovery: Build image galleries, mood boards, or visual research tools. Use
count=200for comprehensive coverage. Prefer overweb-searchwhen you need image-specific metadata (dimensions, thumbnails). - Content enrichment: Add relevant images to articles or generated content. Use
countryandsearch_langto target your audience's locale. - Safe image retrieval: Default
safesearch=strictensures family-friendly results out of the box. Only two modes (off/strict) — no moderate option, unlike web/video/news search. - High-volume batch retrieval: Up to 200 images per request (vs 20 for web, 50 for videos/news). Ideal for bulk image sourcing or visual analysis pipelines.
Notes
- SafeSearch: Defaults to
strictfor images (stricter than web search) - High volume: Can return up to 200 results per request
- Thumbnails: Brave-proxied for user privacy (500px width). Use
properties.urlfor original full-resolution image. - Dimensions:
properties.width/heightmay be missing for some images - Placeholder:
properties.placeholderis a low-res URL (not inline base64) useful for progressive loading UX
Related skills
agent-browservercel-labs967KBrowser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use fojust-scrapescrapegraphai245KSearch, scrape, crawl, extract structured data, and monitor web pages via the ScrapeGraph AI CLI. Use when the user asks to search the web, scrape a webpage, grab content from a URL, extract JSON from a site, crawl documentation or site sections, monitor a page for changes, inspect request history, check ScrapeGraph credits, or validate API setup.browser-actbrowser-act108Kagent-browser101-skills104KBrowser automation for AI agents via inference.sh. Navigate web pages, interact with elements using @e refs, take screenshots, record video. Capabilities: web scraping, form filling, clicking, typing, drag-drop, file upload, JavaScript execution. Use for: web automation, data extraction, testing, agent browsing, research. Triggers: browser, web automation, scrape, navigate, click, fill form, screenshot, browse web, playwright, headless browser, web agent, surf internet, record video
