Brave Images Scraper
Pricing
from $1.99 / 1,000 search results
Brave Images Scraper
Scrapes image search results from Brave Search (search.brave.com/images). Extracts the full canonical image-vertical schema: title, alt text, full image URL, thumbnail, dimensions, aspect ratio, file format, dominant color, NSFW flag, source attribution, creator, license, and more.
Pricing
from $1.99 / 1,000 search results
Rating
0.0
(0)
Developer
Search API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract normalized image-search results from Brave Images. Version 3.1 reads the structured SvelteKit image response embedded in Brave's validated HTML document, which is faster and richer than clicking every image card. The current DOM and detail panel remain available as a fallback if Brave changes the structured document.
What it returns
Every record includes the source-backed fields Brave exposes for that result, with unavailable optional values omitted instead of stored as null, empty strings, or empty arrays. Common fields include:
- stable SHA-256
idand global/query positions; - title, alt text, caption, original image, thumbnail, preview, and source-page URLs;
- source name, domain, favicon, and source fetch timestamp;
- Brave-reported width and height, derived aspect ratio/orientation/pixel count, file format, and MIME type when inferable;
- family-safety status, context/source flags, ranking confidence, and similar-image availability;
- query, country, language, market, website filters, provenance, retrieval method, and scrape time.
Opaque Brave debugging objects, tracking actions, similar-image request tokens, cookies, proxy credentials, and authorization state are never stored.
Modes
- Single query: set
query. - Multiple queries: set
queries, optionally together withquery. Duplicate queries are removed case-insensitively. - Single item: set
maxItemsto1. - Fair batch: results from concurrent queries are interleaved until the total
maxItemslimit is reached. - Filtered search: use
safeSearch,size,color,type,layout, andlicenseexactly as on Brave Images.
Brave currently embeds up to about 200 candidates in the structured document for one query. A single-query run therefore returns at most the available structured results; multi-query mode can return more, up to the global limit of 1,000.
Example input
{"queries": ["red fox photography", "modern architecture photography"],"maxItems": 20,"maxConcurrency": 2,"country": "us","language": "en","safeSearch": "moderate","navigationTimeoutSecs": 60,"maxRequestRetries": 1,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Performance and reliability
The primary path parses the structured document without scrolling, downloading result images, or opening detail panels. Browser images, media, and fonts are blocked after verification that this does not affect the embedded results. Queries share one internally consistent Firefox session and are processed with bounded concurrency. Dataset writes are all-or-nothing: a failed query cannot leave a misleading partial batch.
Temporary network errors, HTTP 429, and HTTP 5xx responses use bounded progressive retry. Invalid input, selector/response drift, and challenge pages fail clearly. CAPTCHA or access-control pages are never solved, retried as ordinary data, or written to the dataset.
Direct access, Apify Residential proxies, and authorized custom proxies are supported. Google SERP Proxy is only for supported Google Search/Shopping HTTP requests and is not applicable to Brave.
Local validation
npm cinpm testnode validate-datasets.jsapify validate-schemaapify run --purge --input-file INPUT_LOCAL.jsonapify run --purge --input-file INPUT_BATCH.jsonapify run --purge --input-file INPUT_FILTERED.jsonapify run --purge --input-file INPUT_SINGLE_ITEM.jsonapify run --purge --input-file INPUT_NO_RESULTS.json
The Docker image and local dependencies use the same Playwright Firefox version (1.62.1).