Meta Ad Spy
Pricing
from $0.34 / 1,000 ads
Meta Ad Spy
Meta Ad Spy scrapes Facebook Ads Library to find winning products, dropshipping trends, and top Shopify ad angles. Discover long-running Meta ads, top CTAs, hooks, formats, and competitor creatives by keyword to validate products before you spend.
Pricing
from $0.34 / 1,000 ads
Rating
0.0
(0)
Developer
DeepMine
Maintained by CommunityActor stats
2
Bookmarked
11
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Meta Ad Spy: Facebook & Instagram Competitor Ads
Paste a competitor's Facebook page and get every ad it runs on Facebook and Instagram, with the creative, cards, variants, dates, placements and how long each ad has run.
| Advertiser | Ad | Headline | Format | Days running | Same creative | Started |
|---|---|---|---|---|---|---|
| Gymshark | Your go to gym set just got a summer upgrade π | Shop Best Sellers | Dynamic creative | 108 | 1 | 2026-07-02 |
| Gymshark | The pieces everyoneβs talking about. Shop our bestβ¦ | Shop Best Sellers | Catalog (6 cards) | 17 | 2026-10-01 | |
| Gymshark | Megan Thee Stallion does gym and has the receiptsβ¦ | Real hot girl sh*t takes work π | Dynamic creative | 4 | 2 | 2026-10-14 |
$0.45 per 1,000 ads on Starter ($0.55 Free, $0.39 Scale, $0.34 Business), ad details included. No start fee, and the search summary is free. The prefilled run (up to 30 ads) costs about $0.01.
What you can do with it
- Spy on competitors. Every active ad of an advertiser, from its Facebook page link, page id, Ad Library link or name.
- Research products and niches. Search ads by keyword or product (e.g. posture corrector), in any country.
- Look up single ads. Paste Library IDs or ad links and get those ads, whatever their country or status.
- Build swipe files. Ad text, headline, button, landing page, picture and video, and every card of carousel, dynamic and catalog ads.
- See what keeps running. How long each ad has run and how many ads use the same creative, with every variant on request.
- Watch competitors launch. Schedule it with Only new ads and get just the ads started since the last run.
No login, no cookies, no browser extension: the data comes from Meta's public Ad Library.
Input
| Field | What it does |
|---|---|
π’ Competitors (advertisers) | Facebook page links (facebook.com/gymshark), page ids, Ad Library links of an advertiser, or page names exactly as they show on the ads. |
π Keywords or products (searchQueries) | Ad Library keyword searches, one per line. |
π Ad IDs (adIds) | Single ads: Library IDs or ad links (facebook.com/ads/library/?id=...). |
π Country (country) | Where the ads ran: a two-letter code (US, GB, DE, ...) or ALL. Default US. |
π― Max ads (maxAdsPerQuery) | Ads per competitor, search or URL (default 200). You pay per ad, so this caps the cost. |
𧬠Every variant (includeVariants) | Also get each creative's other ads (see Variants below). Each is an ad row. |
π Details (includeAdDetails) | The advertiser's verification, Instagram account and followers; for ads shown in the EU or UK, reach, reach by country, ages, gender, payer and beneficiary. |
π Only new ads (onlyNewAds) | Monitor mode: only ads started since the last run that weren't returned before. |
| Filters | Ad Library URLs (startUrls), ad status, media type, ad category, exact phrase, dates shown. |
Example: {"advertisers": ["https://www.facebook.com/Gymshark/", "https://www.facebook.com/nike"], "country": "US", "maxAdsPerQuery": 100}
Output
One row per ad. The Console shows it as tables (Overview, Stats, Creatives, Political, Details); export as JSON, CSV or Excel. The main fields:
pageName,pageUrl,pageId: the advertiser.adText,adTextSnippet,headline,ctaText,landingUrl: the ad's text, headline, button and where it leads.image,videoUrl: the picture (or video frame) and the video file. Meta's media links expire about 5 days after the run.cards: for carousel, dynamic creative and catalog ads, every card'sheadline,text,description,landingUrl,ctaText,imageandvideoUrl.format: Image, Video, Carousel, Dynamic creative, Catalog, ...platforms: where the ad runs (placements): Facebook, Instagram, Messenger, Threads, Audience Network, WhatsApp.isActive,startedAt,lastShownAt: whether it still runs, the day it started and the last day it ran.adArchiveId,adLibraryUrl: the ad's Library ID and its page in the Ad Library.rank,totalCount,searchInput: its place in the search (1 = most impressions), Meta's count of ads for the search, and which competitor or search found it.- With details:
isPageVerified,instagramUrl,instagramFollowers,euReach,ukReach,targetAges,targetGender,reachByCountry,payer,beneficiary. - After these, each row also has Meta's full record (
snapshotwith every card, image and video,collationId,startDate,endDate, ...), in the same form as other Ad Library scrapers.
Spy signals, and what they mean
daysActive: days from the day the ad started to the last day it ran (today, for active ads). It shows how long the advertiser kept paying to show the ad.collationCount(𧬠Same Creative): how many ads use this same creative and text, Meta's count of the ad's group. Meta gives it on one ad of each group, so it's often empty.adsCount: how many ads Meta lists together with this one in the results.- Variants: with Every variant on, the other ads of each group come as rows too (other versions, start dates, placements of the same creative). Group them by
collationId.
These are signals of what advertisers keep running, not results: Meta publishes no sales, clicks, conversions or return on ad spend for commercial ads. Spend and impressions ranges exist only for ads about social issues, elections or politics (set Ad category).
Search summary (free)
Each run also writes one summary per competitor or search to the SUMMARY record (Output tab, Search summary). It is free: it isn't a dataset row.
totalAds: ads the run returned for it.battleTestedCount,gainingTractionCount,newTestCount: ads that started 30 or more days ago, 14 to 29 days ago, and under 14 days ago.avgAdAgeDays,longestRunningDays,longestRunningAdId,longestRunningBody: average days since start, and the ad that started longest ago.topFormat,topCta,topAdvertisers,topHooks: the most used format and button, the advertisers with the most ads (with counts), and the most used opening lines.scrapeStatus,scrapeError:ok,failed(with why) ornot_found.
Saved inputs from the earlier version
Tasks, schedules and API calls made for the earlier version keep working:
productKeywordsis read as Keywords or products,advertiserNamesas Competitors (now looked up as the advertiser's page),maxAdsPerAdvertiseras Max ads.- A run whose input uses one of those fields gets the earlier rows: its keys first, in the same order and form (
rowType,query,advertiser,adArchiveId,adAgeDays,trendLabel,body,headline,ctaas SHOP_NOW,formatas VIDEO or DCO,imageUrl,videoUrl,linkUrl,startDateandendDateas ISO dates, ...), then the fields above. - The summary rows are now the free
SUMMARYrecord, with the same keys, instead of rows in the dataset. - Max ads is now exact (the earlier version could return 30 ads for a max of 17),
pageLikesis filled, andvideoUrlis the standard-definition file (HD is insnapshot.videos).
Pricing
| Free | Starter | Scale | Business | |
|---|---|---|---|---|
| Ad | $0.55 | $0.45 | $0.39 | $0.34 |
Prices per 1,000 ads, ad details included; no start fee. You pay only for ad rows: summaries, ads not found and failed searches are free. With Only new ads you pay only for the new ads. Set a maximum charge in the run options to cap a run.
Limitations
- Meta shows commercial ads' spend and reach only for ads shown in the EU or UK (with Details), and spend ranges only for political and issue ads.
- An advertiser given by name must match its page name exactly; a page link or id always works.
- Image and video links expire about 5 days after the run: download what you want to keep.
- About 3 minutes per 1,000 ads.
FAQ
Do I need a Facebook account or cookies? No. It reads Meta's public Ad Library, logged out.
Can I track a competitor every day? Yes: turn on Only new ads and schedule the run. Each run returns only the ads started since the last one.
Does it show which ads make money? No one can from the Ad Library: Meta publishes no sales or return on ad spend. Long-running ads and creatives used in many ads are the public signals; this Actor gives you both, with their definitions above.
Related Actors
- Meta Ad Library API: the same data for any search, with the Ad Library's own filters.
- Facebook Ads Monitor: monitor advertisers for new ads.
Feedback
Something missing or wrong? Open an issue in the Issues tab and we'll look at it. If Meta Ad Spy helps you, a short review on the Store helps others find it.