AdEye

Search ad libraries · FB Library Search

Facebook Ad Library search: how Meta ad library search actually works

Facebook Ad Library search is free, public and genuinely useful, but it was built to satisfy transparency law rather than to help a marketer work. There is one search box, results come back as an endless scroll of cards, and there is no way to sort by what is actually running well, no way to filter by creative format, and no way to save anything.

The practical result is that most searches fail for a boring reason. The library matches Page names and ad copy, not domains, so typing a competitor's website usually returns nothing even when that company spends six figures a month. Press enter instead of picking the Page from the dropdown and you get a country-wide keyword sweep across every advertiser on Meta.

AdEye does not search the Meta library, so it is not a drop-in fix for those problems: Meta's own tool remains the source for Facebook and Instagram ads. What AdEye does is the same job on Google's ad archive, resolving a brand or domain to the advertiser Google knows and layering AI tags for hook, angle and format on top. Nothing behind a login is ever touched. What you get back is a sortable feed with run lengths attached, so the ads carrying real budget rise to the top instead of being buried at card 400.

Ad Intelligence Feed

Searching the Google Ads Transparency Center...

Try:

Public Google Ads Transparency data. Nothing behind a login.

Google Ads Transparency has no ads on record for that search. Google indexes ads by advertiser, so the brand's exact domain works best, for example nike.com.
Google Ads Transparency has no ads on record for . That is an answer about the brand, not a problem with the search: they are not running Google ads that Google publishes, or they advertise under a different registered name.
We could not reach Google Ads Transparency just now, so this is not a result about that brand, we simply could not look. Please try again in a moment. This search has not been counted against your allowance.
free left ·
See it run

Live Google Ads Transparency data · Run length · Public data only

GOOGLE ADS TRANSPARENCY

Run length on every ad

AI-tagged hooks & angles

Why it works

What Facebook Ad Library search gives you here

Search that resolves the advertiser

The native library matches text, so a competitor with a Page name that differs from their brand name is effectively unsearchable, and there is no fix for that inside Meta's tool. AdEye applies the resolution step to Google instead: give it a brand or a domain and it finds the verified advertiser Google files those ads under, which is the same problem in a different library.

AI tags on every creative

Every ad comes back tagged with its hook, its angle and its format, so you read a competitor's approach at a glance instead of opening each creative. Which of their ads opens on a price objection is something you can see down the feed. That matters most in crowded categories, where one advertiser can have 200 live ads and the pattern you need is spread across a dozen of them.

Working signals, not just presence

Meta tells you an ad exists and when it started. It does not tell you whether it is working, and neither does Google's own interface. AdEye records the public Google data every time it reads it, which produces a continuous run length per angle. An ad still running after eight weeks is being funded on purpose, because nobody keeps paying for a loser. That is the closest thing to a public performance signal either platform gives you.

Side by side

Facebook Ad Library search vs AdEye

Meta's library is the source for Facebook and Instagram ads. AdEye reads a different library, Google's, so this table contrasts the two workflows rather than offering a swap.

Capability Meta Ad Library AdEye
Search Facebook and Instagram ads Yes, this is what it is for No, AdEye reads Google only
Search by domain or website No, Page names and ad copy only Yes, resolves the Google advertiser
Sort by how long an ad has run No Yes, run length is the default sort
Filter by hook, angle or format No Yes, AI-tagged on ingest
Save ads to a swipe file No Yes
Keep a creative after the ad stops running No Yes, saved to a board with its run length
Instagram ads in the same result set Yes No
A brand's Google Search, Shopping and YouTube ads No Yes, this is what AdEye covers
Price Free From 39 dollars a month

Meta Ad Library is the tool for Facebook and Instagram ads, full stop. AdEye covers the same brand's Google advertising, which is a complement rather than a replacement.

What it surfaces

Every ad card carries the hook, angle and a working signal

You type a brand or a domain. AdEye pulls that advertiser's live public Google ads into one feed and AI-tags each creative on the paid plans, so you read the strategy and spot the long-running winners before you save a single one.

  • Search Google advertisers by brand or domain
  • Pull one advertiser's full live Google creative set
  • See a hook, angle and format tag on each ad
  • Sort by run length
  • See Search, Shopping, Display and YouTube together
  • Save winners to a swipe file that keeps run length
  • Compare how one advertiser words the same offer across ads
  • Public ad-library data only, nothing behind a login
GOOGLE Top performer
image

PATAGONIA, INC. · RUNNING 1,789D

Why AdEye

One feed, the AI read, the working signal in view

Not a stale doc full of screenshots. One query for a brand, the run length on every creative, and a swipe file worth reopening. Public ad-library data only.

Every Google ad at once

The Google Ads Transparency Center searched by brand or domain, so competitor ad research is one query instead of clicking through Google's own viewer.

The AI reads the why

Creatives are tagged with their hook, angle and format on the paid plans, a few per search and kept once read, and a working signal flags the long-runners, so you see why an ad works, not just what it ran.

A swipe file that stays current

Save winners to boards, each keeping its run length and a link back to the original creative on Google, so the file is still useful months later.

Good questions

Questions about fb library search

Go to facebook.com/ads/library, pick a country, choose an ad category, then type the advertiser and select their Page from the dropdown that appears. Selecting the Page is the step most people skip. Pressing enter on your typed text runs a country-wide keyword search across every advertiser instead, which is why results often look random.
It reads a different library. Meta publishes Facebook and Instagram ads; AdEye reads the Google Ads Transparency Center, which publishes the same brand's Search, Shopping, Display and YouTube ads. On top of that record it adds what neither free tool offers: domain resolution, AI hook and angle tags, run length and saved swipe files.
Not in the native library. It matches Page names and ad copy, never domains, so searching a website usually returns nothing even when the company advertises heavily. Look up the exact Page name on their Facebook profile first. AdEye accepts a domain directly and resolves the Google advertiser behind it, which is the same trick applied to a different library.
Four common causes: your country filter does not match where the advertiser buys, the Page name differs from the brand name, the ads stopped running and dropped out of the default view, or you searched a domain rather than a Page. Set the category to All ads and the country to the market they actually target, then retry.
Choose the Page from the search dropdown instead of pressing enter on the text you typed. Free text runs a country-wide keyword search across every advertiser, which is why results feel unrelated to what you asked. Selecting the Page limits everything that follows to that single brand.
FB library, fblibrary and FB ads library are all shorthand for the same thing: Meta's public Facebook Ad Library at facebook.com/ads/library. It lists ads running across Facebook and Instagram, it is free, and it needs no account. Meta Ad Library is the same product under its current name.
No for ordinary commercial ads, which anyone can browse logged out. Yes for the political and social issue section in most regions, where Meta asks you to log in before showing spend ranges and payer details. AdEye needs no Facebook account at all, because it does not read Meta's library; it reads Google's public transparency layer server side.
Yes. Meta runs one library across both platforms, so an advertiser's Instagram placements appear alongside their Facebook ones and each card lists the platforms it ran on. There is no separate Instagram ad library and no way to filter to Instagram only in the native interface.
For ordinary commercial ads, effectively not at all. They are visible while running and drop out of default results once stopped, and Meta publishes no retention window because there is not one. Political and social issue ads are kept seven years, and any ad delivered in the EU is archived one year after its last impression under the Digital Services Act.
Only for political and social issue ads, which carry spend ranges, impression ranges and the payer name. Commercial advertisers show creative, run dates and placements but never budget. To gauge commercial effort you read run length instead, which is what AdEye sorts Google ads on.
There is an impressions-by-date filter in the political ads section, but for commercial ads your practical controls are country, platform, media type and active status. There is no reliable date-range search on ordinary ads, which is a real limitation when you are trying to reconstruct what a brand ran last quarter.
It loads a page at a time as you scroll, with no total count on commercial results, so a large advertiser can run hundreds of live creatives with no summary anywhere. That is why the useful question is not how many ads exist but which of them have survived longest, which the native interface cannot answer.
Yes, the Ad Library API, but access is aimed at political and social issue ad research, requires ID verification, and returns very little for ordinary US commercial ads. Most people who try it for competitive research find the commercial coverage too thin to build on. AdEye reads Google's public ads rather than Meta's, and it has no API of its own, so it does not help with Meta data either way.
It is accurate about what it shows, since the data comes from Meta itself. It is incomplete about what it omits: no historical archive for commercial ads, no spend, no performance, and no way to tell a test from a scaled winner. Treat it as a reliable snapshot of right now rather than a research database.
Yes. The Ad Library exists because regulators required advertising to be publicly inspectable, and everything in it is published deliberately. AdEye only ever reads public transparency data, Google's, and never anything behind a login. Reading a competitor's public advertising is ordinary market research.
If you look up one brand once a quarter, no, the free library is fine. If you check a competitive set every week, build creative briefs from what you find, or need run history rather than a snapshot, the subscription buys domain search, run length and tagging. Note that AdEye reads Google ads, not Meta ads, so it complements the Meta library rather than replacing it.

Explore more

More ways to spy on competitor ads

See what your competitors are running today

Type any brand and watch their live ads stream into one feed, AI-tagged with the hook, angle and what is actually working.

See pricing

Public Google Ads Transparency data only. Nothing behind a login, no private data. Every CTA opens a quick signup, not a checkout.

Live Google Ads Transparency data · Run length · Public data only