The Meta Ad Library search box looks like a Google query field and lies to you. Type a keyword and you get thousands of irrelevant affiliate listings; type a brand and the country defaults silently sabotage half your results. The library's search surface is a layered configuration tool, not a free-text engine - and the order in which you set the filters changes what comes back. This guide walks through the search workflow specifically: how to configure the page before you type, what to type, and how to read the result set so you can tell signal from noise in under thirty seconds per advertiser.
Default failure rate
~60% of first-attempt searches
Right-config search time
~30 sec / advertiser
Search cost
Free, no login required
Walkthrough
How to use it, step by step
- 1
Open facebook.com/ads/library and configure before typing
The library lives at facebook.com/ads/library and the search page renders three configuration controls above the search box: Country, Ad category, and the search input itself. Configure the first two before you type. If you type first and configure after, the library re-runs the query on every filter change and you'll burn 30-60 seconds watching result sets repopulate.
Bookmark a pre-configured URL for your most-used country. Example:https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&search_type=pagelands you straight into US-active-all-ads, ready to paste an advertiser name. - 2
Set country explicitly - never trust the default
The Meta Ad Library partitions results by country, not by language. A brand running ads in the United Kingdom is invisible from a US-defaulted search, even if the creative is in English. The default country is whatever Meta has inferred from your IP - which on a VPN, on mobile data, or in a colocation network is often wrong. This is the single most common reason marketers say 'this brand isn't running ads' when they actually are.
For multi-region brands, do one search per region. There is no 'global' or 'all countries' option - that's a deliberate constraint of the library's regulatory architecture. - 3
Switch Ad category to 'All ads'
The default ad-category dropdown is set to 'Issues, elections or politics' in most regions - the regulatory backbone of the library. For commercial competitor research you want 'All ads'. This single dropdown is the second-most-missed setting in the entire library and the reason many first-time searches return suspiciously small result sets. Always set it before searching.
- 4
Search by advertiser, not keyword
The search input toggles between two modes: 'Keyword' and 'Advertiser'. Keyword search returns every ad whose body copy, headline, or product catalog contains your term - which on Meta means tens of thousands of affiliate sites, drop-shippers, and unrelated noise. Advertiser search anchors on a specific Facebook Page name and returns only that brand's ads. For 95% of competitive-research use cases, you want Advertiser mode.
Find the canonical Page name by opening the brand's Facebook profile and reading the URL slug afterfacebook.com/. The slug is what the library's autocomplete matches against - paste it, then pick from the dropdown of verified Pages. - 5
Pick the verified Page from autocomplete - don't free-text
When you start typing an advertiser name, the search input drops a list of matching Pages with their verification checkmarks, follower counts, and a small avatar. Always pick from this dropdown rather than submitting the free-text query. Free-text submission runs a fuzzy match that returns every Page containing your search string, including impersonator pages, fan pages, and unrelated accounts that happen to share a word. The dropdown selection guarantees you're querying the canonical Page.
If the brand has multiple Pages (regional splits like 'Brand US' / 'Brand UK', sub-brands, or agency-managed accounts), each Page is a separate query. The library does not aggregate across Pages even if they're owned by the same parent. - 6
Layer the post-search filters in this order: status, media, language, platform, date
Once results render, narrow them in this order: Active status (set to Active for current benchmarking), Media type (Video / Image / Carousel - never mix in a single audit), Languages (useful for multinational Pages), Platforms (Facebook / Instagram / Messenger / Audience Network - filter to one when studying placement-specific creative), then Date range (use 'Last 7 days' for trend-spotting, 'Last 30 days' for monthly competitive sweeps). The order matters because each filter narrows the set the next filter operates against - filtering by media after status gives you cleaner counts.
- 7
Sort by start date and read time-on-platform as a fatigue proxy
Use the start-date sort that Meta shipped in Q1 2026 to surface a brand's evergreen winners. Sort by 'Started oldest' and the first 5-10 results are the ads that have survived the longest on the same creative - the closest free signal to 'this ad is performing' you'll get from a free public tool. Sort by 'Started newest' to see what the brand just shipped this week.
Ads alive >60 days on the same creative are evergreen winners. Ads from the last 14 days are tests; most won't make it. This is the most useful intuition pump in the entire library. - 8
Click 'See ad details' for variants, placements, and the actual delivery surfaces
Every result has a 'See ad details' button that opens an expanded view with the platforms the ad delivers against, the languages it runs in, and - most usefully - all the creative variants the advertiser has shipped under the same ad ID. Variant analysis tells you exactly which axes the brand is testing: different hook lines, different aspect ratios, different thumbnail frames, different CTAs. A brand shipping 8 variants of the same concept is running a structured test; a brand shipping 1 variant per concept is winging it.
Cheatsheet
Filters that matter
| Filter | What it does | When to use |
|---|---|---|
| Country | Partitions the search by the geography ads are delivering in. | Always set explicitly as the first action before any search. |
| Ad category | Toggles between 'All ads' and regulated categories (Politics, Housing, Employment, Credit). | Set to 'All ads' for commercial research. Default is 'Politics' in most regions. |
| Search type (Keyword / Advertiser) | Switches the search input between full-text content search and Page-name search. | Advertiser mode for 95% of competitive research. Keyword mode only when researching a category-level theme. |
| Active status | Filters to ads currently delivering vs ads that have been paused or stopped. | 'Active' for benchmarking, 'Inactive' for historical pattern work. |
| Media type | Narrows by Image, Video, Carousel, or Meme. | Always set a single format before comparing - mixed-format result sets confuse hook analysis. |
| Platforms | Restricts to ads delivering on a specific surface (Facebook / Instagram / Messenger / Audience Network). | Use when researching placement-specific creative (Reels-only vs Feed-only). |
| Date range | Filters by start date - the date the ad first went live. | Set to 'Last 7 days' weekly to track new launches, 'Last 30 days' for monthly sweeps. |
What it won't tell you
The gaps
No fuzzy-tolerant brand name matching
The library's advertiser search is case-tolerant but typo-sensitive. 'Liquid IV' will match the Page; 'Liquid I.V.' may not, depending on punctuation indexing. Always check the autocomplete dropdown rather than trusting your spelling - and try 2-3 spellings if the brand has stylized punctuation in its real name.
No saved searches or watchlists
The library has no way to save a query, no watchlist for tracked advertisers, no email alert on new ads from a Page. Every search is from scratch every time. Teams running weekly competitive sweeps end up bookmarking pre-configured URLs per advertiser or moving to a paid tool that maintains the watchlist layer.
No cross-brand search
You cannot search for 'every ad in the protein powder category right now' across all advertisers. The library is advertiser-anchored by design. Category-level views require either keyword search (which is noisy) or a third-party tool that has pre-classified Pages by category.
Search results cap silently at ~100 per query
Past roughly 100 results in a single query, the library stops loading new ads even with infinite scroll. For high-volume Pages (brands with 500+ active ads) you'll only ever see the first ~100 - typically the most recent. To see deeper history use the 'See all ads from this advertiser' link on the Page header rather than the search results page.
Shuttergen
Stop fighting the search box - audit competitors automatically.
Shuttergen runs the Meta Ad Library search for your competitor set on a weekly cadence, tags every ad by hook and format, and surfaces only what changed. The search workflow you wish the library had natively.
Why the search box is the worst part of the library
Most public-data tools are search-first: you type, results come back, you refine. The Meta Ad Library inverts this - the search is the last step in a configuration chain, not the first. The country filter, ad-category dropdown, and search-type toggle have to be set before the input box does anything useful. Most marketers learn this the hard way after their first three searches return inexplicable noise.
The reason is the library's regulatory architecture. Meta built the library to satisfy political-ad disclosure requirements (the US Honest Ads framework, the EU's transparency rules, similar laws elsewhere). The default search behavior optimizes for that use case - a journalist researching political ads in a single country, by category. Commercial competitive research was bolted on as a transparency goodwill gesture and inherits a search UX that fights it.
Practical implication: build muscle memory around the configuration order. Country → Ad category → Search type → Advertiser dropdown → post-result filters. Skip a step and you'll get noise; do them all and you'll find anyone's ads in under thirty seconds.
The advertiser-name failure mode and how to dodge it
The single highest-frequency failure in Meta Ad Library searches is the wrong Page problem. You type a brand name, you get a Page, the Page has 'verified' on it - and it's the wrong one. Big brands have impersonator Pages with high follower counts and convincing avatars. Mid-market brands have legacy Pages from old agency relationships, regional sub-brands, and corporate parent accounts that look right but aren't.
Three checks separate the right Page from the lookalike. Check the verification mark - the blue checkmark only appears on Meta-verified Pages, though increasingly common for impersonators since Meta opened verification to anyone with a paid Meta Verified subscription. Check the follower count against the brand's known social audience - off-by-an-order-of-magnitude is a tell. Click through to the Page itself before doing the audit - the right Page has consistent brand voice and recent organic posts; the wrong Page is either dormant or weirdly off-brand.
For agency-managed brands, the Page name often includes a market suffix ('Brand US', 'Brand Europe') or runs under the agency's own naming convention ('Brand by [Agency]'). When a search returns no results for what should be an active advertiser, try variants: append country codes, drop and re-add punctuation, search the agency name directly.
Stop fighting the search box - audit competitors automatically. Shuttergen runs the Meta Ad Library search for your competitor set on a weekly cadence, tags every ad by hook and format, and surfaces only what changed. The search workflow you wish the library had natively.
Building a repeatable search workflow
The fastest way to make the library useful is to stop treating each search as ad-hoc and start running them as a workflow. Three components: a bookmark set of pre-configured URLs, a competitor list of canonical Page handles, and a search rhythm that runs the same queries on the same cadence.
Bookmark set: build one URL per country/category combination you research, with country and ad-category set in query params. Example: ?active_status=active&ad_type=all&country=GB&search_type=page. Five bookmarks covers most teams.
Competitor list: maintain a spreadsheet of canonical Page handles for your 8-15 competitors, with the URL of their library page (advertiser-anchored, country-anchored, status-anchored) prebuilt. Click the URL, ads load - no configuration step. A competitor list with prebuilt URLs cuts research time per advertiser from 3-4 minutes to 30-45 seconds.
Search rhythm: run the same queries weekly. The first pass is the baseline. The compound intelligence comes from the diff between this week and last week - which new ads launched, which ads paused, which evergreen winners are still alive. Without the rhythm, the library is a one-shot tool. With it, it becomes a competitive monitoring system.
When the search is the wrong tool
The library's search surface is built for advertiser-anchored queries. If your research question is category-anchored ('what is everyone in the meal-kit category running?'), or format-anchored ('what video hooks are winning across all DTC right now?'), or trend-anchored ('which hooks are spiking this week?'), the search is the wrong tool. Keyword search is noisy. Category-level views don't exist. Trend-detection is impossible from the UI.
For those questions, you need a layer on top of the library: a paid tool like Foreplay, Atria, or Motion that has pre-classified ads by category, format, and trend, or an internal pipeline that consumes the Ad Library API and applies your own classification. The library's search is best at one thing - finding a specific advertiser's current ads, fast - and worst at everything else.
Pragmatic split: use the library directly for your 4-5 closest competitors (where you need full fidelity and frequent updates), and use a paid tool for the long-tail category sweep (where you need breadth without the manual overhead). Internal: Foreplay deep dive and Atria deep dive cover the leading paid options.
FAQ
Frequently asked
Why is my Meta Ad Library search returning no results?
Can I search the Meta Ad Library by keyword instead of advertiser?
Does Meta Ad Library search work for Instagram-only ads?
How do I search Meta Ad Library by date?
Is there a Meta Ad Library search API?
Why does Meta Ad Library search show different results for the same query?
Can I save a Meta Ad Library search?
Related
Keep reading
Resource
Meta ad library
The full reference for the library tool itself.
Resource
Facebook ads library
Same product under its legacy name.
Resource
Facebook ad library search
Search workflow under the legacy keyword.
Research
Anatomy Of Good Meta Ad Library
What separates a forensic library audit from a vibes check.
Research
Foreplay Deep Dive
The leading paid tool that fixes the library's search gaps.
Sources
Stop fighting the search box - audit competitors automatically.
Shuttergen runs the Meta Ad Library search for your competitor set on a weekly cadence, tags every ad by hook and format, and surfaces only what changed. The search workflow you wish the library had natively.