Facebook Ads Transcript Scraper
Pricing
from $16.00 / 1,000 transcripts
Facebook Ads Transcript Scraper
Turn Facebook and Instagram video ads from the Meta Ad Library into text. Search by keyword, advertiser Page or Ad Library link and get each video's transcript, language, timed segments and opening line next to the ad's text, dates and advertiser. No login.
Pricing
from $16.00 / 1,000 transcripts
Rating
0.0
(0)
Developer
Automly
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Security
Limited permissionsShare
What is Facebook Ads Transcript Scraper?
Facebook Ads Transcript Scraper turns Facebook and Instagram video ads from the Meta Ad Library into text. Type a keyword, paste a competitor's Facebook Page or an Ad Library link, click Start, and get what is said in every video ad: the full transcript, its language, timed segments and the opening line (the hook), next to the ad's text, headline, button, landing page, dates and advertiser.
- Search like the Ad Library: keywords, advertiser Pages, Ad Library search links, single ads or ad IDs
- Every video of an ad: carousel and dynamic ads with several videos give one row per video
- One ad, one charge: an ad with several videos is charged once, and a video that runs in many ads is charged once
- No speech, no charge: music-only and silent ads are saved and marked, never charged
- Any spoken language: the language of each video is detected for you
- No login: no Facebook account, cookies or API key needed
- Free to try: every Apify account gets $5 of free usage each month
What can Facebook Ads Transcript Scraper do?
- Search the Meta Ad Library by keyword, in any country, for active ads, inactive ads or both
- Transcribe all the video ads of an advertiser: paste its Facebook Page link or its Ad Library link
- Transcribe one ad from its Ad Library link (
facebook.com/ads/library/?id=...) or its Library ID - Transcribe ad video links from an Ad Library export, such as the Facebook Ads Scraper's output
- Give the transcript as one text and as timed segments (start and end in seconds), with the ad's opening line
- Add the ad's text, headline, button, landing page, start date, platforms and advertiser Page to every row
- Mark ads with no speech (music, silence) or no sound, without charging for them
- Export to Excel, CSV, JSON, HTML or XML, or send the data to Google Sheets, Make, Zapier and more
What data can you get from Facebook ads?
| Full transcript | Timed segments | Opening line (hook) |
| Spoken language | Word count | Video length |
| Ad Library ID and link | Ad text | Headline |
| Button text and type | Landing page and domain | Start and end date |
| Days active | Platforms (Facebook, Instagram, Messenger...) | Ad format |
| Advertiser Page name, link and ID | Page likes and category | Video file and thumbnail |
How to transcribe Facebook ads
- Create a free Apify account (no credit card needed).
- Open Facebook Ads Transcript Scraper.
- Type one or more search terms, such as
fitness app, or paste links: a Facebook Page such ashttps://www.facebook.com/nike, an Ad Library search or advertiser link, or one ad's link. - Choose the country, the ad status and how many ads you want for each search or link. Click Start.
- When the run finishes, download the transcripts as Excel, CSV, JSON, HTML or XML.
How much does it cost to transcribe Facebook ads?
You pay per ad with speech: one transcript covers the ad, all its videos included. The row that carries the charge has charged: true; the ad's other videos are free. The transcript price includes the first 3 minutes of that row's video; a longer video also pays an extra minute for every started minute past the third (most ads run well under 3 minutes). Higher Apify plans pay less:
| Apify plan | Per 1,000 ads transcribed | Per 1,000 extra minutes |
|---|---|---|
| Free | $24.00 | $3.00 |
| Starter (Bronze) | $21.00 | $2.50 |
| Scale (Silver) | $19.00 | $2.00 |
| Business (Gold) and higher | $16.00 | $2.00 |
Platform usage is included in these prices, so you pay nothing else for the run. There is no start fee.
Example: 1,000 video ads with speech cost $21.00 on Starter, $19.00 on Scale and $16.00 on Business and higher.
Never charged:
- ads with no speech (music only or silence), no sound or no video,
- the other videos of an ad, and a video already transcribed for another ad (
sameVideoAsnames the ad it was charged with, or the video link you gave), - videos whose sound could not be downloaded or transcribed,
- extra minutes of any ad video that a Free plan run cut to its first minute, and ad videos the run reached after its free minute was used.
Every Apify account gets $5 of free usage each month.
On the Apify Free plan, transcripts made from the audio use a lighter, slower method, so expect lower accuracy (more wrong words, most of all in songs and noisy ad videos), and a run transcribes up to 1 minute of audio: a longer ad video gets its first minute, and ad videos past that minute are saved as not transcribed and are not charged. Keep the default 1 GB memory: with less, a Free plan run transcribes no audio. Paid Apify plans get full-accuracy transcripts with no such limit.
Input
| Field | What it does |
|---|---|
Search terms (searchTerms) | Words to search the Ad Library for, such as fitness app. |
Ad Library links or Page links (urls) | Ad Library links (a search, an advertiser's ads, or one ad), Facebook Page links (that advertiser's ads), or ad video links. |
Ad Library IDs (adIds) | Library IDs of single ads, such as 856624690180125. |
Country (country) | A two-letter code such as US, GB or DE, or ALL. US by default. Ad Library links keep their own. |
Ad status (activeStatus) | active (default), inactive or all. |
Max ads per search or link (maxAds) | The most ads to transcribe for each search term or link. 20 by default. |
Max videos per ad (maxVideosPerAd) | Optional. Carousel and dynamic ads can hold up to 6 videos, often one per language: set 1 to transcribe only each ad's first video. |
Include image ads (includeImageAds) | Also save image and text ads, with no video, as free rows marked no_video. Off by default. |
Spoken language (language) | Optional. A two-letter code such as en, es or de when all the ads speak that language. Leave empty to detect it. |
{"searchTerms": ["fitness app"],"urls": [{ "url": "https://www.facebook.com/nike" },{ "url": "https://www.facebook.com/ads/library/?id=856624690180125" }],"country": "US","activeStatus": "active","maxAds": 20}
Output
One row per video of each ad. Here is a shortened example:
{"adArchiveId": "856624690180125","adLibraryUrl": "https://www.facebook.com/ads/library/?id=856624690180125","pageId": "1622022488076753","pageName": "Ladder","pageUrl": "https://www.instagram.com/_u/melissafromladder","videoIndex": 1,"videoCount": 1,"videoUrl": "https://video.xx.fbcdn.net/o1/v/t2/f2/m412/...mp4","thumbnailUrl": "https://scontent.xx.fbcdn.net/v/t39.35426-6/...jpg","durationSeconds": 40.0,"transcriptStatus": "transcribed","transcriptSource": "speech","language": "en","hook": "I'm seeing this Hillary Duff movement right now.","hookStartSeconds": 0.03,"transcript": "I'm seeing this Hillary Duff movement right now. I think this is something that we need to talk about because this is so important in the fitness industry. The gym right now is so expensive...","wordCount": 189,"segments": [{ "start": 0.03, "end": 15.73, "text": "I'm seeing this Hillary Duff movement right now. I think this is something that we need to talk about because this is so important in the fitness industry. ..." },{ "start": 15.87, "end": 40.39, "text": "I grew up in a lower class family, so we didn't have vacations. ..." }],"sameVideoAs": null,"charged": true,"adText": "Strength training engineered to sculpt your curves into an hourglass physique with barbells, dumbbells and machines. This is the app for you!\n4.9⭐️ +100K reviews\nStart your 7-day free trial today! No credit card required.","headline": "Start Your Free Trial, No Credit Card","linkUrl": "https://joinladder.com/meta/hduff?utm_medium=paid&utm_source=meta&...","ctaText": "Learn more","ctaType": "LEARN_MORE","adFormat": "video","isActive": true,"startDate": "2026-05-17","endDate": null,"activeDays": 168,"platforms": ["facebook", "instagram"],"searchTerm": "fitness app","scrapedAt": "2026-11-01T14:23:30Z"}
transcriptStatus is transcribed, no_speech (music only or silence), no_audio (the video has no sound), audio_unavailable (the video could not be read this time; run that ad again) or no_video (an image ad, when you include them). The Output tab shows a table with the thumbnail, advertiser, ad link, length, language, opening line and transcript of each video, and a second table with the ad's text, headline, button and landing page next to its transcript.
Tips and limits
- Dynamic ads often hold the same message as several videos, one per language or format. Each distinct video gets its own row, and the ad is charged once; set Max videos per ad to
1if you only want the first. - Songs: sung words count as speech, so an ad with a jingle or song lyrics is transcribed.
- Language: set
languageonly when every ad speaks that language; a wrong code gives a poor transcript. - Video links expire after a few days, as all Facebook media links do. To transcribe an ad again later, use its Ad Library link or ID: it always gets a fresh video.
- A Page, ad or ID that does not exist is reported as "not found" in the run's status, and nothing is charged for it.
More Facebook scrapers
- Facebook Ads Scraper: every ad of a keyword or advertiser from the Meta Ad Library, with creatives, dates, platforms and EU reach
FAQ
Is it legal to transcribe Facebook ads?
The Meta Ad Library is public: anyone can watch these ads without logging in. This scraper does not collect private data. Ads can be protected by copyright, so use the transcripts for a legitimate purpose, such as competitor research, and ask a lawyer if you are not sure.
Do I need a Facebook account?
No. You do not need to log in, share cookies or get a Facebook API key.
Which languages are supported?
Speech in about 100 languages is transcribed, including English, Spanish, Portuguese, French, German, Italian, Hindi, Arabic and Japanese. The language of each video is detected unless you set one.
Why do some ads have several rows?
Carousel and dynamic ads can show up to six videos. Each distinct video gets its own row with its own transcript, and the card text it runs with; the ad is charged once. The same video shown twice in one ad gives one row.
Can I use it through an API?
Yes. Start runs and read results with the Apify API, or with the Apify clients for JavaScript and Python. The API tab shows ready-made examples.
Your feedback
Something missing or not working? Open an issue on the Issues tab and we will look at it.