Alfalfa

Facebook ad inspiration: build a swipe file of winning ads in ten minutes

Campaign ideas do not come from staring at a blank brief. They come from ads that already worked, in your niche, on the audience you want. Facebook publishes all of them. This is a short method for pulling the proven ones out of the Ad Library, turning them into a swipe file you can actually browse, and taking from them what you are allowed to take.

Updated September 2026.

The one filter that matters: time

Any ad in the library looks like a winner. The only public evidence that one actually is: it is still running after weeks. Advertisers kill ads that lose money within days; an ad that has been live for sixty days has been paying for itself for sixty days. Running time is the swipe-file filter. Everything else, likes, polish, production value, is noise.

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

  1. 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".
  2. 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.
  3. 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.
  4. 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

TakeLeave
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

Keep it alive

Save the input as a task and schedule it monthly, with Started after set to the last run's date, so each refresh brings only new ads. For direct competitors, the competitor analysis guide describes a weekly version that also catches the ads that were switched off.

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.50 per 1,000 ads, no start fee, platform usage included. Three keywords at 200 ads each is thirty cents.

Export a niche keyword now Get the swipe-file script