Facebook ad inspiration: build a swipe file in ten minutes
The Meta Ad Library is a source of campaign ideas in your niche. This is a short method for collecting ads into a swipe file you can browse, comparing their copy and creative patterns, and deciding what you can adapt for your own work.
The one filter that matters: time
Running time is a useful way to choose ads for a swipe file. An ad that has stayed live for weeks may be worth studying, but its duration does not prove profitability: the public library does not show clicks, conversions, spend or return on investment.
The second signal is the number of versions Meta groups together for one ad. Twelve versions means the advertiser found a concept worth testing headline after headline. That concept deserves a second look even when the individual versions are young.
Ten minutes, start to finish
- Pick three keywords the way your customers would search: not your category name but their words. For a meal-kit brand: "dinner delivered", "weeknight recipes", "meal prep".
- Export the ads. Paste the keywords into the Facebook Ads Library Scraper, set your country, Active status and 200 ads per keyword. About a minute and thirty cents.
- Keep the veterans. Download the JSON and run the open-source swipe-file script with
--active-only --min-days 30. It writes one HTML page with the creatives, copy, buttons and landing pages grouped by advertiser, newest first, plus a table of who runs the most and the longest. - Read the top twenty by running time. Twenty is enough; two hundred is procrastination.
python3 swipe_file.py dataset.json --out swipe --active-only --min-days 30
What to take from an ad
| Take | Leave |
|---|---|
| The angle: the problem the ad opens with, the promise it makes, who it is talking to. | The sentences. They are the advertiser's copyright and they were written for their brand voice, not yours. |
| The hook pattern: question, number, "stop doing X", social proof, before and after, a surprising fact. | The exact hook. |
| The offer structure: free trial, first box discounted, bundle, guarantee, urgency, price anchoring on the landing page. | The visuals. Studying a layout is fine; reusing a photo or a video frame is not. |
| The call to action and where it leads: product page, quiz, lead form, app store. | The brand's tone of voice. |
| The format decision: video versus still versus carousel for this kind of offer, and the platform mix. | The music or the presenter. Same reason. |
Five campaign ideas you get from the library alone
- The objection ad. Look at the veterans and list the objections they answer in the first line ("too expensive", "no time", "tried it before"). Whichever objection nobody in your niche answers yet is your next ad.
- The format gap. If every long-running ad in the niche is a talking-head video, a clean product still with a single number stands out, and the reverse is true.
- The offer you are not making. Group the veterans by landing page. If three competitors run quizzes for months and you run a product page, run the quiz.
- The seasonal replay. Include past ads (status All) and look at what launched in the same month last year. Seasonal winners get relaunched; you can see them coming.
- The neighbour niche. Export a keyword from an adjacent category and take a hook pattern that your niche has never used.
Keep it alive
Save the input as a task and schedule it monthly. Give it a Watchlist name and switch on New ads only so later runs deliver only ads whose IDs have not appeared before. The Shown after filter selects ads with impressions in a period, including older ads still running. For direct competitors, the competitor analysis guide explains how to compare full weekly exports to see ads that stopped.
Questions people ask
Which country should I export?
The one you sell in. The same brand runs different ads in different markets, and running times are only comparable within one market.
Can I see how well an ad performs?
Not directly. Running time and the version count are the public proxies; for ads shown in the EU the transparency block gives the total reach and its split by age, gender and country, which the scraper returns with the ad details option.
What does an export cost?
$0.45 per 1,000 ads on Apify Free, $0.40 on Starter, $0.35 on Scale and $0.30 on Business. There is no start fee and platform usage is included. Three keywords at 200 ads each cost up to $0.27 on Free if each returns 200 distinct new results.