Facebook Video Search Scraper avatar
Facebook Video Search Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Facebook Video Search Scraper

Facebook Video Search Scraper

Facebook Video Search Scraper finds and extracts videos matching any keyword on Facebook. Get titles, URLs, views, creators, and metadata fast. Perfect for research, trend analysis, and automation workflows needing accurate Facebook video data.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

API Empire

API Empire

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Share

A powerful Apify Actor designed to scrape video search results from Facebook Watch. This actor enables you to search for videos by keywords or URLs, extract comprehensive video metadata, and save results in a structured format. Perfect for content research, competitor analysis, trend monitoring, and video data collection at scale.

Why Choose Us?

  • πŸ” Comprehensive Search: Search Facebook Watch using keywords or direct URLs
  • ⚑ High Performance: Asynchronous processing for fast data collection
  • πŸ›‘οΈ Smart Proxy Management: Automatic proxy fallback to handle blocks gracefully
  • πŸ’Ύ Live Saving: Results saved immediately as they're scraped
  • πŸ“Š Rich Metadata: Extract detailed video information including owner profiles, thumbnails, and engagement data
  • πŸ”„ Automatic Pagination: Handles pagination automatically to collect large datasets
  • πŸ“ Detailed Logging: Real-time logs to track progress and troubleshoot issues
  • 🎯 Reliable: Built-in retry logic and error handling for robust operation

Key Features

  • Bulk Search Support: Process multiple keywords or URLs in a single run
  • Flexible Input: Accept both Facebook Watch search URLs and plain keywords
  • Intelligent Proxy Fallback:
    • Starts with no proxy (direct connection)
    • Automatically falls back to datacenter proxy if blocked
    • Falls back to residential proxy if datacenter is blocked
    • Retries 3 times with residential proxy before giving up
  • Real-time Data Saving: Videos are saved to dataset as soon as they're extracted
  • Comprehensive Video Data: Extracts title, description, owner profile, thumbnail, duration, view counts, and more
  • Owner Profile Information: Includes verification status, profile URLs, and account types
  • Configurable Limits: Set maximum number of videos per query (1-1000)
  • Sort Options: Support for different sort orders (relevance, date, views)

Input

The actor accepts simple keywords as input. Just enter search terms like "cricket", "football", etc., and the actor automatically converts them to Facebook search URLs internally.

Input Schema

{
"startUrls": [
"cricket",
"football"
],
"maxVideos": 100,
"sortOrder": "relevance",
"proxyConfiguration": {
"useApifyProxy": false
}
}

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlsarrayβœ… Yes-List of search keywords. Simply enter plain text keywords (e.g., "cricket", "football"). The actor automatically converts them to Facebook Watch search URLs.
maxVideosinteger❌ No100Maximum number of videos to scrape per query. Range: 1-1000.
sortOrderstring❌ No"relevance"Sort order for search results. Options: "relevance", "date", "views".
proxyConfigurationobject❌ No{"useApifyProxy": false}Proxy configuration. By default, no proxy is used. If Facebook blocks requests, the actor automatically falls back to datacenter proxy, then residential proxy.

Input Examples

Example 1: Simple Keywords (Recommended)

{
"startUrls": [
"cricket",
"football",
"basketball"
],
"maxVideos": 50
}

Example 2: Multiple Sports

{
"startUrls": [
"cricket highlights",
"football world cup",
"basketball NBA"
],
"maxVideos": 200
}

Example 3: With Proxy and Sort

{
"startUrls": [
"cooking recipes",
"travel vlog",
"gaming tutorials"
],
"maxVideos": 100,
"sortOrder": "date",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output

The actor saves results to the Apify dataset. Each video entry contains comprehensive metadata:

Output Schema

{
"query": "football",
"facebookUrl": "https://www.facebook.com/watch/search?q=football",
"videoUrl": "https://www.facebook.com/example/videos/123456789/",
"title": "Amazing Football Highlights",
"label": "Amazing Football Highlights\nSports Channel\nVideo length:5minutes; 30seconds\n15 Jan 2024 \n 125K views",
"thumbnail_image": {
"uri": "https://scontent.xx.fbcdn.net/v/t15.5256-10/..."
},
"video_duration_text": "5:30",
"video": {
"id": "123456789"
},
"video_owner_profile": {
"__typename": "Page",
"id": "987654321",
"__isNode": null,
"__isActor": "Page",
"name": "Sports Channel",
"url": "https://www.facebook.com/sportschannel",
"is_verified": true
},
"video_broadcast_status": null,
"save_description": "Watch the best football highlights from this week's matches.",
"relative_time_string": "15 Jan 2024 Β· 125K views",
"facebookId": "https://www.facebook.com/watch/search?q=football",
"inputUrl": "https://www.facebook.com/watch/search?q=football"
}

Output Fields

FieldTypeDescription
querystringThe search query or keyword used to find this video
facebookUrlstringThe Facebook Watch search URL
videoUrlstringDirect link to the video on Facebook
titlestringVideo title
labelstringAccessibility label with video information
thumbnail_imageobjectThumbnail image object with URI
video_duration_textstringVideo duration in MM:SS format
videoobjectVideo object containing the video ID
video_owner_profileobjectProfile information of the video owner (Page/User)
video_broadcast_statusstring|nullBroadcast status (live, etc.)
save_descriptionstringVideo description or save description
relative_time_stringstringRelative time when video was posted and view count
facebookIdstringFacebook search URL identifier
inputUrlstringOriginal input URL used for search

Video Owner Profile Fields

FieldTypeDescription
__typenamestringType of owner: "Page" or "User"
idstringOwner's Facebook ID
namestringOwner's display name
urlstringOwner's profile URL
is_verifiedbooleanWhether the owner account is verified

πŸš€ How to Use the Actor (via Apify Console)

  1. Log in to your Apify account at https://console.apify.com

  2. Navigate to Actors and find facebook-video-search-scraper

  3. Configure Input:

    • Simply enter keywords like "cricket", "football" in the startUrls field (one per line)
    • Set maxVideos to control how many videos to scrape per query (1-1000)
    • Choose sortOrder (relevance, date, or views)
    • Configure proxy settings if needed (optional - the actor auto-fallbacks if blocked)
  4. Run the Actor by clicking the "Start" button

  5. Monitor Progress:

    • Watch real-time logs to see scraping progress
    • Check the dataset to see videos being saved live
  6. Access Results:

    • Go to the OUTPUT tab after the run completes
    • View results in the table format or download as JSON/CSV
    • Each video entry contains all metadata fields
  7. Export Results:

    • Click "Download" to export as JSON, CSV, Excel, or other formats
    • Use the Apify API to programmatically access results

Best Use Cases

  • πŸ“± Content Research: Discover trending videos on specific topics
  • πŸ“Š Competitor Analysis: Monitor competitors' video content and engagement
  • πŸ” Market Research: Analyze video trends in your industry
  • πŸ“ˆ Trend Monitoring: Track popular videos and topics over time
  • 🎯 Lead Generation: Find video creators and pages in your niche
  • πŸ“ Content Curation: Collect videos for content curation projects
  • πŸ”¬ Data Analysis: Gather video data for research and analytics
  • 🎬 Influencer Discovery: Identify video creators and their content

Frequently Asked Questions

How does the proxy fallback work?

The actor starts with no proxy by default. If Facebook blocks a request:

  1. First fallback: Automatically switches to datacenter proxy (SHADER group)
  2. Second fallback: If still blocked, switches to residential proxy (RESIDENTIAL group)
  3. Residential retries: If residential proxy fails, retries 3 times before giving up
  4. Persistence: Once switched to residential proxy, all remaining requests use it

Can I scrape videos from private accounts?

No. This actor only scrapes publicly available videos from Facebook Watch search results. Private accounts and password-protected content are not accessible.

What's the maximum number of videos I can scrape?

You can scrape up to 1,000 videos per query. You can run multiple queries in a single actor run to collect more data.

How long does it take to scrape videos?

The speed depends on:

  • Number of queries/keywords
  • Maximum videos per query
  • Facebook's response time
  • Whether proxies are used

Typically, scraping 100 videos per query takes 1-2 minutes with optimized batch saving and increased request batch sizes.

Can I use this actor without a proxy?

Yes! By default, the actor uses no proxy. Proxy is only used if you configure it in the input, or if Facebook blocks requests and the actor automatically falls back to proxies.

What happens if Facebook blocks my requests?

The actor automatically handles blocks by:

  1. Detecting blocked requests (status codes 403, 429, 503)
  2. Automatically switching to appropriate proxy
  3. Logging all proxy events clearly
  4. Continuing with the new proxy configuration

Are the results saved in real-time?

Yes! Videos are saved to the dataset immediately as they're extracted. This means:

  • You can access partial results even if the actor stops
  • Progress is not lost if the actor encounters errors
  • You can monitor results while scraping is in progress

Can I filter results by date or other criteria?

Currently, the actor supports sorting by relevance, date, or views. More advanced filtering can be done on the exported data after scraping.

Support and Feedback

  • Issues: Report bugs or issues through the Apify platform
  • Feature Requests: Suggest new features via Apify support
  • Documentation: Check the Apify documentation for more details
  • Community: Join the Apify community for discussions and tips

Cautions

⚠️ Important Legal and Ethical Considerations:

  • Public Data Only: This actor collects data only from publicly available sources on Facebook Watch
  • No Private Content: Private accounts, password-protected content, and non-public videos are not accessible
  • Compliance: Ensure your use case complies with:
    • Facebook's Terms of Service
    • Data protection regulations (GDPR, CCPA, etc.)
    • Local laws regarding web scraping
    • Privacy and spam laws
  • Rate Limiting: The actor includes delays and retry logic to avoid overwhelming Facebook's servers
  • Responsible Use: Use this actor responsibly and ethically. Do not:
    • Scrape personal information without consent
    • Send unsolicited messages based on scraped data
    • Violate Facebook's Terms of Service
    • Use scraped data for spam or harassment

The end user is responsible for ensuring legal compliance with all applicable laws and regulations.


Version: 0.1
Last Updated: 2025
Actor Specification: 1