Brave Videos Scraper
Pricing
from $1.99 / 1,000 search results
Brave Videos Scraper
Scrapes video search results from Brave Search (search.brave.com/videos). Extracts the full canonical videos-vertical schema: title, URL, channel, duration, views, likes, comments, publish date, thumbnail, platform, isLive/isShort flags, quality options, 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
Search public Brave Videos results and export normalized, API-ready records. The Actor supports one query or a batch of up to 20 queries, fair result allocation, source-backed filters, deterministic limits, and Apify Residential or custom proxies.
Features
- Single-query and multiple-query search modes
- Fair interleaving so one query cannot consume the entire batch limit
- Brave time filters: past day, week, month, or year
- Duration and platform post-filters using metadata present in Brave's response
- Relevance, newest, view-count, and duration sorting
- Safe Search, country, and language settings
- Stable IDs, duplicate removal, and omission of unavailable optional values
- Structured Brave hydration extraction with a DOM fallback
- Direct, Apify Proxy, and custom proxy operation
- Bounded retries, block-page detection, and clean no-results behavior
Input
Provide either query, queries, or both. Duplicate queries are removed.
| Field | Description | Default |
|---|---|---|
query | One Brave Videos query | — |
queries | Up to 20 queries | — |
maxItems | Maximum records across all queries | 100 |
maxItemsPerQuery | Optional cap for each query | fair share of maxItems |
country | Two-letter Brave country code | us |
language | Interface and result language | en |
safeSearch | strict, moderate, or off | moderate |
timeRange | any, day, week, month, or year | any |
duration | any, short, medium, or long | any |
platform | any or a supported source platform | any |
sortBy | relevance, newest, viewsDesc, durationAsc, or durationDesc | relevance |
maxConcurrency | Parallel query pages, 1–5 | 2 |
maxRequestRetries | Temporary navigation retries, 0–3 | 1 |
proxyConfiguration | Apify Proxy or custom proxy configuration | Apify Proxy in Console |
Example batch input:
{"queries": ["machine learning tutorial", "generative AI news"],"maxItems": 20,"maxItemsPerQuery": 10,"country": "us","language": "en","safeSearch": "moderate","timeRange": "month","sortBy": "newest","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Output
Each row contains only values Brave supplied or values deterministically derived from them. Unavailable optional properties are omitted instead of being emitted as null or empty strings. Depending on the source result, records can include:
- stable ID and global/query/page positions
- title, description, video URL, domain, video ID, and embed URL
- Brave, original, and resized thumbnail details
- duration label and numeric seconds
- channel, author, creator, publisher, and platform
- views, publication time, relative time, and source fetch time
- tags and source classification flags
- exact search context, applied filters, provenance, and scrape timestamp
The dataset schema documents 71 possible fields and provides overview and full-details views. A typical result contains 44–58 populated fields; fields that the source does not expose are not fabricated.
Filter notes
timeRangeis sent to Brave and verified in the applied search URL.durationandplatformare enforced after extraction. Records missing required source metadata are excluded while those filters are active.- Brave Videos does not expose a verifiable resolution filter. Non-empty legacy
resolutioninput is rejected instead of silently returning unfiltered results. - Brave currently exposes one video result page without a reliable continuation contract. The Actor therefore returns the available page and never waits on invented pagination.
GOOGLE_SERPproxy is not applicable because this Actor targets Brave, not Google Search.
Performance and resilience
The Actor uses one consistent Firefox profile per run, blocks nonessential image/media/font downloads, extracts structured page hydration where available, and processes independent queries concurrently. Temporary network failures receive bounded retries. Challenge, CAPTCHA, and block pages are never stored as dataset records.
Local run
npm cinpx playwright install firefoxapify run --purge --input-file INPUT.json
Results are written to storage/datasets/default.
Limitations
Public search results vary by query, country, language, Safe Search preference, network location, and Brave's current index. Some sources omit duration, view count, author, or publication metadata. The Actor does not solve CAPTCHAs or bypass access controls.