π Extract Facebook ad hooks, CTAs and transcripts to Google Sheets with Apify
β‘ 2 views Β· π Market Research & Insights
π‘ Pro Tip β If youβve run into Facebookβs Graph API permission restrictions, ScraperNode is a community node that scrapes pages, groups, posts, and comments directly β no app review needed.
Description
Quick Overview
This workflow runs on demand to scrape a competitorβs active Facebook video ads via Apify, transcribe each ad, extract the first-3-seconds hook and CTA, and append a one-row-per-ad teardown table to Google Sheets.
How it works
- Starts when you manually test the workflow.
- Reads the competitor Facebook Ad Library search URL (or Facebook Page URL) and the maximum number of ads to process.
- Launches an Apify Facebook Ads Library scraper run for the competitor and polls Apify until the run finishes.
- Sends the scraper runβs dataset ID to an Apify Facebook Ads Transcript Scraper to return transcript, hook, CTA, and ad metadata.
- Calculates transcript word/character counts, sorts ads (prioritizing transcribed and longer videos), and formats a clean row per ad.
- Appends the resulting rows to the selected Google Sheets spreadsheet and sheet.
Setup
- Create an Apify API token and add an HTTP Header Auth credential using
Authorization: Bearer <YOUR_APIFY_TOKEN>, then select it on all Apify HTTP requests. - Connect your Google Sheets account and select the target spreadsheet and sheet for the append step.
- Update the competitor URL and
maxAdsvalues in the configuration step before running the workflow.
π Nodes Used
Google Sheets, HTTP Request
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File