MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
Description from the maker (original English)
Facebook/Meta Ads Library Scraper - Winning Ads
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http facebook-ads-library-api 'https://mcp.apify.com/?tools=anshumanatrey/facebook-ads-library-api' --header 'Authorization: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"facebook-ads-library-api": {
"url": "https://mcp.apify.com/?tools=anshumanatrey/facebook-ads-library-api",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"facebook-ads-library-api": {
"type": "http",
"url": "https://mcp.apify.com/?tools=anshumanatrey/facebook-ads-library-api",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account AnshumanAtrey, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 39 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: Authorization
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.11) reached the registry 9 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Scrape the Facebook Ads Library, which Meta now calls the Meta Ad Library (ads on Facebook, Instagram, Messenger, Threads and Audience Network), with no login, no cookies and no Meta API token. Type a keyword or paste a Facebook page, and get every matching ad as a row: the advertiser, how many days the ad has run, how many versions it has, the text, headline and button, the landing page and its domain, image and video links, platforms, and the reach, spend and EU audience data Meta publishes. On top of that: an advertiser list (businesses advertising on a keyword right now, one row each) and a brand scam check (ads that use a brand's name from pages that are not the brand's own). $0.70 per 1,000 ads, no start fee. Use it from the Apify Console, the API, Python, JavaScript, n8n, Make, Zapier or an AI agent through the Apify MCP server.
It reads the public Meta Ad Library, the same one at facebook.com/ads/library, and returns what you would otherwise copy by hand, for as many keywords or advertisers as you give it:
Answer: to see what already works in someone else's ads. Meta shows every running ad but no results, so the best free signal is time: an ad that has run for 30 to 90 days is almost always paying for itself, because nobody keeps paying for an ad that loses money.
daysRunning and versions are here for that: several live versions of one ad are an A/B test, and the survivors are the winners.daysRunning is computed for every ad, versions is Meta's own count of an ad's variants, and Min days live (`minDaysRunning`) keeps only the long runners.$0.0007 per ad ($0.70 per 1,000), $0.008 per advertiser in the Advertiser list and $0.002 per ad in the brand scam check (it first reads the brand's own pages to learn their real websites). No start fee, no monthly fee, platform usage and residential proxy included. On paid Apify plans every price is 10% less on Scale and 20% less on Business and above ($0.56 per 1,000 ads on Business).
| Run | Charged | Price |
|---|---|---|
| The example input (20 ads for "running shoes") | 20 ads | $0.014 |
| 100 ads for one keyword | 100 ads | $0.07 |
| 1,000 ads across 10 keywords | 1,000 ads | $0.70 |
| Advertiser list from 200 ads, 60 advertisers found | 60 advertisers | $0.48 |
| Brand scam check that finds 40 ads from other pages | 40 scam-check ads | $0.08 |
| A search where Meta has no matching ads | 0 | $0.00 |
Apify's free plan includes $5 of monthly credit, which covers about 7,000 ads.
The Facebook Ads Library actors with 250 or more users in the last 30 days on 2026-09-25, ordered by those users, at their Apify free-plan price.
| Scraper | Price per 1,000 ads | Start fee | Users, 30 days |
|---|---|---|---|
| This actor | $0.70 | None | New |
| Facebook Ads Library Scraper by apify | $5.80 | None | 6,040 |
| Facebook Ads Library Scraper by curious_coder | $0.75 | $0.00005 | 5,853 |
| Facebook Ad Library Scraper by igolaizola | $0.75 | $0.0075 | 1,048 |
| Facebook Ads Library by automation-lab | $0.575 | $0.005 | 458 |
| Facebook Ads Library Scraper by memo23 | $0.50 | $0.05 | 340 |
| Facebook Ads Library Scraper by brilliant_gum | $15.00 + platform usage | $0.001 | 271 |
| Meta Ad Scraper by whoareyouanas | $10.00 | None | 256 |
| Meta Ad Library Scraper by jmlp | $0.15 + platform usage | None | 254 |
Several of these discount their prices on paid Apify plans, and some bill platform usage on top; automation-lab, memo23 and jmlp cost less per ad on large runs. Compare at your own plan if you run large volumes.
Every field has a plain name with its JSON key in brackets. Only Keywords is needed.
| Field (JSON key) | Required | What it does |
|---|---|---|
Report type (mode) | No | ads (default), pages, advertisers or impersonation (brand scam check) |
Keywords (searchTerms) | Yes, except for pages | One per line; a, b on one line is two keywords; a pasted Ad Library search link works. For the scam check, the brand |
Advertisers (pages) | For pages | Facebook page links, page ids or names, for example https://www.facebook.com/nike or Gymshark |
Country (country) | No | ALL (worldwide, default), a name such as India or a code such as IN |
Ads per search (maxAds) | No | Most ads saved per keyword or advertiser, default 100 |
Ad status (status) | No | active (default), inactive or all |
Ad category (adType) | No | all (default), political, housing, employment, credit |
Media type (mediaType) | No | all, image, video, meme, none |
Min days live (minDaysRunning) | No | Keep only ads that ran at least this many days |
Exact phrase (exactPhrase) | No | Match the keywords as one phrase |
Merge versions (groupVersions) | No | One row per group of ad versions |
Order (sortBy) | No | impressions (most seen first, default) or relevance |
Official pages (officialPages) | No | For the scam check: the brand's own pages; left empty, pages named exactly like the brand are used and listed in the run summary |
{ "searchTerms": ["running shoes"], "country": "US", "minDaysRunning": 30, "maxAds": 200 }
One row per ad (or per advertiser in the Advertiser list). Every key is always present, empty when Meta has no such part. An example ad row, shortened:
{
"adId": "866569929827744", "adLibraryUrl": "https://www.facebook.com/ads/library/?id=866569929827744", "pageName": "Example Brand", "pageId": "1234567890", "pageLikes": 48210, "isActive": true, "startDate": "2026-06-01T12:30:00", "daysRunning": 116, "versions": 3, "platforms": ["FACEBOOK", "INSTAGRAM", "THREADS"], "adText": "Our best-selling trainer is back in stock...", "headline": "Free shipping this week", "callToAction": "Shop now", "landingUrl": "https://www.example.com/sale", "landingDomain": "example.com", "imageUrls": ["https://scontent.xx.fbcdn.net/..."], "videoUrls": [], "spend": null, "ageGender": [], "impersonation": null }
Brand scam check rows add impersonation: {"brand": "Nike", "risk": "high", "signals": ["page name uses the brand but it is not an official page", "sends people to nike-outlet-sale.shop, a look-alike site, not an official domain"]}. The signals are for you to review, not a verdict: resellers such as Foot Locker also use brand names and come back as low risk.
The run summary is the OUTPUT record: status, notes about anything we changed in your input, one entry per search with how many ads were read and saved, and the charged events.
In our 2026-09-25 tests on Apify (256 MB, peak 57-70 MB): 20 ads in 16 s, 200 ads for one keyword in 106 s, 3 keywords of 50 ads each in 49 s (they run at once, each on its own residential IP), 60 ads of 2 advertisers in 48 s, and an advertiser list of 86 businesses from 100 ads in 66 s. No run was rate-limited.
Q: Is the Facebook Ads Library the same as the Meta Ad Library? Yes. It is the same public library at facebook.com/ads/library; Meta now calls it the Meta Ad Library, and it covers ads on Facebook, Instagram, Messenger, Threads and Audience Network. This actor reads all of them.
Q: Do I need a Facebook account, cookies or a Meta API token? No. It reads the public Ad Library the way a logged-out visitor sees it.
Q: Can I see how much an ad spends or how many people it reached? For political and issue ads, yes: Meta publishes spend and impressions ranges. For ads delivered in the EU, Meta publishes reach by age, gender and region. For other ads Meta shows no numbers, which is why daysRunning and versions matter.
Q: How do I find winning ads? Set Min days live (minDaysRunning) to 30 or more. Ads that keep running for weeks are the ones making money, and versions shows which ones are being tested in several variants.
Q: Is this the official Meta Ad Library API? No. The official API needs a developer account and identity verification and covers political and issue ads plus ads shown in the EU. This actor covers every ad the public Ad Library shows.
Q: Can I monitor competitors every week? Yes. Save the input as an Apify task and schedule it; Ad status (status) active with Order (sortBy) impressions gives the ads that matter first.
Q: Why do I need a residential proxy? You do not set one up. Meta rate-limits cloud and datacenter IPs to zero ads, so the actor uses Apify's residential prox
Only the beginning is shown; read the rest in the repo