Tools

Ad library tools

Ads running in the platforms' public ad libraries, by keyword, brand or advertiser.

See what your competitors are advertising. These tools read the public ad libraries of Meta, TikTok, LinkedIn and Google, by keyword, brand or advertiser. Each call costs what the data provider charges for it, usually 1 credit.

To take one competitor's ads apart, start with ads_get_advertiser_ads. On Google, find the advertiser with ads_search_advertisers first. Then use ads_get_ad to read an ad's offer, where it sends people and, where the library publishes it, who it was aimed at and reached.

For a guide comparing ad library MCP servers, see The best ad library MCP servers for competitor research.

ToolWhat it doesCost
ads_search_adsSearch adsFrom 1 credit
ads_search_advertisersFind advertisersFrom 1 credit
ads_get_advertiser_adsGet an advertiser's adsFrom 1 credit
ads_get_adGet an adFrom 1 credit

Search ads

Toolads_search_ads

Ads running on a platform's public library, by keyword or brand.

Good for

"what ads is this category running", finding the angles and offers competitors are paying for.

Not the tool for
What you get

A list. Each row has one ad each: advertiser, headline, body, format, first_shown, last_shown, active, versions (near-identical copies Meta groups, a sign the advertiser scaled it), impressions, spend, countries, placements, targeting[], cta, destination_url, media_url. Impressions and spend are the ranges the library publishes, so they are text.

Cost

1 credit per page. Cached 24 hours.

Parameters

ParameterDefault and notes
platformRequired. One of facebook, tiktok, linkedin. Which library to search. Google is keyed by advertiser: use ads_search_advertisers.
queryRequired. A keyword, a product or a brand name.
countryTwo-letter country code. Default every country the library holds. Not on tiktok, whose library takes no country.
active_onlyDefault false. Only ads the library still marks as running. Facebook only.

It also takes the common parameters cursor, max_credits and dry_run.

Example input
{
  "platform": "facebook",
  "query": "creatine gummies",
  "active_only": true
}

Find advertisers

Toolads_search_advertisers

The advertisers matching a brand name in Google's ad library, with their ids.

Good for

Before ads_get_advertiser_ads on Google, because that library is keyed by advertiser id and one brand has one entry per region.

Not the tool for
What you get

A list. Each row has platform, id, name, region, ads_estimate, website.

Cost

1 credit. Cached 7 days.

Parameters

ParameterDefault and notes
platformRequired. Only Google keys its library by advertiser; the others search their ads.
queryRequired. A brand or company name.
regionTwo-letter country code. One brand has one entry per region.

It also takes the common parameters max_credits and dry_run.

Example input
{
  "platform": "google",
  "query": "lululemon",
  "region": "US"
}

Get an advertiser's ads

Toolads_get_advertiser_ads

Every ad one advertiser is running, from a platform's public library.

Good for

A competitor teardown: what they are running, since when, and with what offer.

Not the tool for
What you get

A list. Each row has one ad each: advertiser, headline, body, format, first_shown, last_shown, active, versions (near-identical copies Meta groups, a sign the advertiser scaled it), impressions, spend, countries, placements, targeting[], cta, destination_url, media_url. Impressions and spend are the ranges the library publishes, so they are text.

Cost

1 credit per page, or 25 on google with details. Cached 24 hours.

Parameters

ParameterDefault and notes
platformRequired. One of facebook, tiktok, linkedin, google. Which library to read.
advertiserRequired. A page id or name on facebook, an advertiser name on tiktok, a company name or id on linkedin, a domain or advertiser id on google.
countryTwo-letter country code. Default every country the library holds. Not on tiktok, whose library takes no country.
active_onlyDefault false. Only ads the library still marks as running. Facebook only.
detailsDefault false. Google only: also fetch each creative's text. Costs 25 credits instead of 1.

It also takes the common parameters cursor, max_credits and dry_run.

Example input
{
  "platform": "google",
  "advertiser": "lululemon.com"
}

Get an ad

Toolads_get_ad

One ad from a platform's public library, with its creative text, where it sends people, and who it was aimed at and reached.

Good for

Reading the offer and the call to action behind an ad you found in a list.

Not the tool for
What you get

One record with advertiser, headline, body, format, first_shown, last_shown, active, versions (near-identical copies Meta groups, a sign the advertiser scaled it), impressions, spend, countries, placements, targeting[], cta, destination_url, media_url, plus variations[] (carousel cards on facebook, text variants on google), reach, reach_by_country[], reach_by_age_gender[] and payers[] (payer, beneficiary). Impressions and spend are the ranges the library publishes, so they are text. Reach, its age split and payers come from Meta's EU and UK disclosure, so only facebook ads that ran there have them. On google, first_shown falls back to the earliest region's date and is null when the library dates neither; the ads_get_advertiser_ads row for the same ad carries it.

Cost

1 credit. Cached 7 days.

Parameters

ParameterDefault and notes
platformRequired. One of facebook, tiktok, linkedin, google. Which library the ad is in.
idRequired. An ad id on facebook and tiktok, the ad URL on linkedin and google.

It also takes the common parameters max_credits and dry_run.

Example input
{
  "platform": "facebook",
  "id": "1185617869915074"
}