Source Code
Brave Image Search
Search images via Brave Search API.
Usage
curl -s "https://api.search.brave.com/res/v1/images/search?q=QUERY&count=COUNT" \
-H "X-Subscription-Token: $BRAVE_API_KEY"
Parameters
| Param | Required | Description |
|---|---|---|
q |
yes | Search query (URL-encoded) |
count |
no | Results count (1-100, default 20) |
country |
no | 2-letter code (US, DE, IL) for region bias |
search_lang |
no | Language code (en, de, he) |
safesearch |
no | off, moderate, strict (default: moderate) |
Response Parsing
Key fields in each result:
results[].titleโ Image titleresults[].properties.urlโ Full image URLresults[].thumbnail.srcโ Thumbnail URLresults[].sourceโ Source websiteresults[].properties.width/heightโ Dimensions
Example
Search for "sunset beach" images in Israel:
curl -s "https://api.search.brave.com/res/v1/images/search?q=sunset%20beach&count=5&country=IL" \
-H "X-Subscription-Token: $BRAVE_API_KEY"
Then extract from JSON response:
- Thumbnail:
.results[0].thumbnail.src - Full image:
.results[0].properties.url
Delivering Results
When presenting image search results:
- Send images directly to the user (don't just list URLs)
- Use
results[].properties.urlfor full images orresults[].thumbnail.srcfor thumbnails - Include image title as caption
- If more results exist than shown, tell the user (e.g., "Found 20 images, showing 3 โ want more?")
Example flow:
User: "find me pictures of sunsets"
โ Search with count=10
โ Send 3-5 images with captions
โ "Found 10 sunset images, showing 5. Want to see more?"
Notes
- URL-encode query strings (spaces โ
%20) - API key from env:
$BRAVE_API_KEY - Respect rate limits per subscription tier