Who advertises on Meta, and their page ids

ads_meta_advertisers is a $0.20 GET request on the Wuthering AI API. Turn a domain, brand or phrase into the Meta advertisers behind it, with page ids and their current ads as rows. It answers complete JSON, and a call that fails is not charged.

Endpoint

GET /v1/ads_meta_advertisers

Price per successful call

$0.20

Failed calls

Not charged

curl 'https://wutheringai.com/v1/ads_meta_advertisers?page_id=…&token=YOUR_TOKEN'

What does ads_meta_advertisers return, and when should you call it?

Read Meta's public ad library for a domain, brand or phrase and return the advertisers found, each with the page id that identifies them and the ads of theirs on the page.

This is the first step of any Meta ad research, and the only reliable way to get a page_id. A Facebook page's own markup carries a different identifier that the ad library does not accept — pass it and you get a valid, empty page of nobody's ads — so the id has to come from the ad library itself, which is what this reads.

Searching by domain is what makes it a market view rather than a brand lookup: the domain is matched against the link card on each ad, so the answer separates the brand from its regional pages, its resellers and the affiliates bidding on its traffic. Compare landing_domain against the domain you asked for to tell them apart.

It is also the readable half of this pair: the ad text, headline, call to action and landing URL come back as text here, where the image from wuthering_ads_meta_library has them as pixels. Sort by days_running before reading anything — an ad still running after ninety days is a message its advertiser has paid, repeatedly, to keep.

Returns: total_results (Meta's own count for the whole search, which is far larger than what one call reads), ads_returned, and advertisers — each with page_id, page_name, page_likes, ad_library_url, and ads holding ad_id (the Library ID), active, started, last_seen, days_running, versions, format, title, body, cta, landing_domain, link_url and impressions. Roughly thirty ads come back per call, newest first; page backwards by setting started_before to the oldest started you were given.

Use to find who is advertising and to get the page_id that aims every other Meta call. Don't use it to see the creatives themselves, which are images and need wuthering_ads_meta_library, and don't use it for Google ads, which are wuthering_ads_advertisers.

What parameters does ads_meta_advertisers take?

ads_meta_advertisers accepts 13 parameters, none of them required. Array values are comma-separated on the query string.

Parameters accepted by the ads_meta_advertisers operation
ParameterTypeRequiredDescription
page_idstringnoMeta page id of one advertiser — the precise aim, returning that advertiser's ads and nobody else's. Get it from wuthering_ads_meta_advertisers; a page id read off the advertiser's Facebook page instead is a different identifier and returns an empty result rather than an error. An ad-library URL can be pasted whole and the id is taken out of it.
targetstringnoDomain to find ads for, for example 'acme.com'. Matched against the domain shown on each ad's link card, so it returns everyone driving traffic there — the brand, its regional pages, its resellers and its affiliates — not only the brand itself. Protocol, path and a leading www are ignored.
keywordstringnoPhrase to match against ad text, for example 'project management'. A category term returns the whole field competing on it. Alongside page_id it narrows to that one advertiser's ads mentioning the phrase, which is how you ask what a competitor says about a specific product.
matchstringnoHow to match keyword. exact requires the words together, in order, and is the right default for a brand or product name. any matches the words in any order, which widens a category search but drags in unrelated ads. Ignored for target, which is always matched exactly.One of: exact, anyDefaults to exact
countrystringnoTwo-letter country code for the market whose ads to show, for example 'US' or 'DE', or 'ALL' for every country. Defaults to US, matching the default every other tool here uses. Ad libraries differ sharply by market: the same advertiser runs different offers in each.Defaults to US
active_statusstringnoWhether to show ads currently running, ones that have stopped, or both. Defaults to active. Inactive ads are the more interesting half for a teardown — an ad that ran and stopped is a message the advertiser tested and abandoned.One of: active, inactive, allDefaults to active
ad_typestringnoRestrict to one regulated category. Defaults to all. The regulated categories are worth knowing about: Meta is required to publish spend ranges and impression counts for those, so an ad in one carries numbers an ordinary commercial ad does not.One of: all, political_and_issue_ads, housing_ads, employment_ads, financial_products_and_services_adsDefaults to all
media_typestringnoRestrict to one creative format. Defaults to all. none means text-only ads. Narrowing to image makes the captured page far easier to read when a search returns many ads.One of: all, image, video, meme, image_and_meme, noneDefaults to all
platformsarraynoRestrict to particular Meta surfaces. Omit for all of them, which is usually right — an advertiser rarely chooses surfaces deliberately, so filtering mostly just hides ads. Set it when the question is specifically about one placement.
languagesarraynoRestrict to ads whose text is in these languages, as ISO codes such as 'en' or 'no'. Omit for all languages. Worth setting for a country where several are common, otherwise the results fill with ads you cannot read.
targeted_countrybooleannoWhen true, return only ads deliberately TARGETED at the country, rather than every ad merely reachable there. Defaults to false, the broader view. Set it when you need to know a competitor is investing in a market rather than spilling into it.Defaults to false
started_afterstringnoOnly ads that began running on or after this date, as YYYY-MM-DD. Meta's library starts in 2019.
started_beforestringnoOnly ads that began running on or before this date, as YYYY-MM-DD. This is how you page: one call reads about thirty ads, newest first, so setting this to the oldest launch date you were given returns the batch before it. Paired with started_after it reads one campaign window.

Reference for ads_meta_advertisers · last updated · published by Wuthering AI