Endpoints
11 endpoints return ads on Facebook Ad Library, Google Ads Transparency Center, LinkedIn Ad Library and TikTok Ad Library.
- GETFacebook Ad Library Ad API
/v1/facebook/ad - GETFacebook Ad Library Advertiser Ads API
/v1/facebook/ads - GETFacebook Ad Library Search API
/v1/facebook/search_ads - GETGoogle Ads Transparency Center Ad API
/v1/google/ad - GETGoogle Ads Transparency Center Advertiser Ads API
/v1/google/ads - GETGoogle Ads Transparency Center Ads by Website API
/v1/google/search_ads - GETLinkedIn Ad Library Ad API
/v1/linkedin/ad - GETLinkedIn Ad Library Search API
/v1/linkedin/search_ads - GETTikTok Ad Library Ad API
/v1/tiktok/ad - GETTikTok Ad Library Search API
/v1/tiktok/search_ads - GETTikTok Top Ads API
/v1/tiktok/top_ads
Schema
Single-item endpoints return this object as data; list endpoints return an array of them as data with a page object. The standard meta comes with every response.
platformstringLibrary owner's platform ID (facebook for Meta's library, tiktok, google, linkedin).
idstringLibrary ad ID (string).
urlstring uriPublic library page of the ad.
advertiserobjectThe advertising page, business or account.
ShowHide 6 child fields
idstringnullablePlatform-native account ID; null when only the handle is known.
usernamestringnullableHandle without the @; null when the account has none.
display_namestringnullableDisplay name shown on the profile.
urlstring urinullableCanonical profile URL.
avatar_urlstring urinullableProfile picture URL. Platform CDN URLs can expire within hours.
is_verifiedbooleannullablePlatform verification badge; null where the platform has no badge.
paid_bystringnullableDisclosed payer ("Paid for by").
is_activebooleannullableTrue while the ad is running.
first_shown_atstring date-timenullableFirst delivery, RFC 3339 UTC (often date-only: see approximate_fields).
last_shown_atstring date-timenullableLast delivery, RFC 3339 UTC; null while active.
typestringCreative shape. New values may be added; treat unknown values as other.
One ofimagevideocarouseltextdynamicother
publisher_platformsstring[]Where it ran, lowercase IDs (facebook, instagram, messenger, audience_network, youtube, …); [] if not disclosed.
creativesobject[]The ad's creatives: one per card of a carousel and per variation of a dynamic or catalog ad, else one for the ad itself; [] if none are shown.
ShowHide 6 child fields
titlestringnullableHeadline.
bodystringnullablePrimary text.
link_urlstring urinullableDestination URL.
link_descriptionstringnullableLink description text.
cta_textstringnullableCall-to-action label (e.g. Shop now).
mediaobject[]Images and videos of this creative; [] if none.
ShowHide 8 child fields
typestringKind of file. New values may be added; treat unknown values as other.
One ofimagevideoaudiogif
urlstring urinullableDirect file URL; null when the platform withholds it, or when the link would only work from SocialTap's network or with a login. Often signed and expiring: see expires_at.
expires_atstring date-timenullableWhen url stops working, RFC 3339 UTC, read from the platform's signed URL; null when unknown or when it does not expire.
thumbnail_urlstring urinullablePoster or preview image URL.
widthintegernullableWidth in pixels.
heightintegernullableHeight in pixels.
duration_msintegernullableDuration in milliseconds (video and audio only).
alt_textstringnullableAccessibility text provided by the author or platform.
languagesstring[]BCP-47 languages of the ad; [] if not disclosed.
country_codesstring[]ISO 3166-1 alpha-2 countries where it was shown; [] if not disclosed.
is_politicalbooleannullableCategorized as a political or social-issue ad; false when the library files it under another category, null when it shows none.
impressionsobjectnullableImpressions or times shown range; null when not disclosed.
ShowHide 2 child fields
lower_boundintegerInclusive lower bound.
upper_boundintegernullableInclusive upper bound; null when open-ended (e.g. ">1M"). Equal to lower_bound when exact.
reachobjectnullableUnique users reached range; null when not disclosed.
ShowHide 2 child fields
lower_boundintegerInclusive lower bound.
upper_boundintegernullableInclusive upper bound; null when open-ended (e.g. ">1M"). Equal to lower_bound when exact.
audience_sizeobjectnullableEstimated target audience size range; null when not disclosed.
ShowHide 2 child fields
lower_boundintegerInclusive lower bound.
upper_boundintegernullableInclusive upper bound; null when open-ended (e.g. ">1M"). Equal to lower_bound when exact.
spendobjectnullableSpend range; null when not disclosed.
ShowHide 3 child fields
lower_boundintegerInclusive lower bound, in whole units of currency.
upper_boundintegernullableInclusive upper bound in whole units of currency; null when open-ended.
currencystringISO 4217 currency code, uppercase (USD).
platform_specificobjectFields only this platform has, under its ID (platform_specific.<platform>); each null when unknown.
ShowHide 4 child fields
tiktokobjectnullableA TikTok ad's own fields.
ShowHide 12 child fields
is_removedbooleannullableTikTok took the ad down (its rules or local law), in some or all regions.
removal_reasonsstring[]TikTok's reasons for the takedown; [] when none (in unknown_fields when not shown).
categorystringnullableThe ad's topic as TikTok files it (Apps, Food & Beverage).
objectivestringnullableThe campaign objective (Reach, Traffic).
removal_country_codesstring[]Countries where TikTok took the ad down (ISO 3166-1 alpha-2); [] when it was not taken down (in unknown_fields when not shown).
targetingobjectnullableWhom the advertiser targeted and whom the ad reached, per country; null when not shown.
ShowHide 11 child fields
countriesobject[]Per country it ran in: the ages and genders targeted and the unique users reached.
ShowHide 5 child fields
country_codestringISO 3166-1 alpha-2 country code.
reachobjectnullableUnique users the ad reached there (rounded: approximate_fields); null when not shown.
ShowHide 2 child fields
lower_boundintegerInclusive lower bound.
upper_boundintegernullableInclusive upper bound; null when open-ended (e.g. ">1M"). Equal to lower_bound when exact.
age_rangesstring[]Age ranges targeted (13-17, 18-24, 25-34, 35-44, 45-54, 55+); [] when not shown.
gendersstring[]Genders targeted (female, male, unknown); [] when not shown.
breakdownobject[]Unique users reached there by age range and gender, the segments TikTok shows a number for; [] when none.
ShowHide 3 child fields
age_rangestringAge range (18-24, 55+).
genderstringfemale, male or unknown.
reachobjectUnique users reached (rounded: approximate_fields).
ShowHide 2 child fields
lower_boundintegerInclusive lower bound.
upper_boundintegernullableInclusive upper bound; null when open-ended (e.g. ">1M"). Equal to lower_bound when exact.
interestsstring[]Interest categories targeted; [] when none.
video_interactionsstring[]Video interaction categories targeted; [] when none.
creator_interactionsstring[]Creator interaction categories targeted; [] when none.
provincesstring[]Provinces or states targeted within the countries; [] when none.
citiesstring[]Cities targeted; [] when none.
device_modelsstring[]Device models targeted; [] when any.
operating_systemsstring[]Operating systems targeted; [] when any.
is_custom_audiencebooleannullableThe advertiser targeted a custom audience (its own customer list or a lookalike).
is_audience_excludedbooleannullableThe advertiser excluded a custom audience.
is_high_spending_powerbooleannullableTargeted at users TikTok rates as high spenders.
advertiser_business_idstringnullableThe advertiser's TikTok business ID (search_ads advertiser_id).
advertiser_registry_locationstringnullableWhere the advertiser is registered (Italy).
rankintegernullablePlace on Creative Center's Top Ads board, 1 first; null off the board.
like_countintegernullableLikes the ad drew, as Creative Center counts them; null off the board.
ctr_top_percentnumbernullableClick-through rate rank: the ad is in the top this many percent of ads (4 = top 4%); null off the board.
budgetstringnullableCreative Center's budget level; null off the board. New values may be added; treat unknown values as other.
One oflowmediumhigh
googleobjectnullableA Google ad's own fields.
ShowHide 6 child fields
days_shownintegernullableDays the ad was shown (the center's "Ran for"); null when not shown.
topicstringnullableThe ad's topic as Google labels it (Sports & Fitness); null when not shown.
product_categorystringnullableThe product category Google files a Shopping ad under (Apparel & Accessories); null otherwise.
is_syntheticbooleannullableThe advertiser disclosed synthetic (digitally altered or generated) content, as the ad's page labels it; false when it shows no such label.
regionsobject[]Per country it was shown in: when, how often and on which Google services; [] when not shown (in unknown_fields).
ShowHide 5 child fields
country_codestringISO 3166-1 alpha-2 country code.
first_shown_atstring date-timenullableFirst day shown there, RFC 3339 UTC (date-only: approximate_fields); null when not shown.
last_shown_atstring date-timenullableLast day shown there, RFC 3339 UTC (date-only: approximate_fields); null when not shown.
impressionsobjectnullableTimes shown there, Google's range; null when not disclosed.
ShowHide 2 child fields
lower_boundintegerInclusive lower bound.
upper_boundintegernullableInclusive upper bound; null when open-ended (e.g. ">1M"). Equal to lower_bound when exact.
servicesobject[]Times shown there on each Google service; [] when not disclosed.
ShowHide 2 child fields
servicestringThe Google service. New values may be added; treat unknown values as other.
One ofgoogle_searchgoogle_mapsgoogle_playgoogle_shoppingyoutubeother
impressionsobjectnullableTimes shown on it, Google's range (a lower bound of 0 when Google shows only "under" an upper bound).
ShowHide 2 child fields
lower_boundintegerInclusive lower bound.
upper_boundintegernullableInclusive upper bound; null when open-ended (e.g. ">1M"). Equal to lower_bound when exact.
targetingobjectnullableWhom the advertiser selected; null when not disclosed.
ShowHide 7 child fields
age_rangesstring[]Age ranges included (18-24, 25-34, 35-44, 45-54, 55-64, 65+, unknown); [] when none.
excluded_age_rangesstring[]Age ranges excluded; [] when none.
gendersstring[]Genders included (male, female, unknown); [] when none.
excluded_gendersstring[]Genders excluded; [] when none.
locationsobject[]Locations included; [] when none.
ShowHide 4 child fields
criterion_idstringGoogle Ads geo target criterion ID (2840 is the United States).
namestringnullableThe location's name (California); null when Google did not resolve it.
full_namestringnullableThe name with the regions it lies in (California, United States); null when not resolved.
country_codestringnullableISO 3166-1 alpha-2 code of its country; null when not resolved.
excluded_locationsobject[]Locations excluded; [] when none.
ShowHide 4 child fields
criterion_idstringGoogle Ads geo target criterion ID (2840 is the United States).
namestringnullableThe location's name (California); null when Google did not resolve it.
full_namestringnullableThe name with the regions it lies in (California, United States); null when not resolved.
country_codestringnullableISO 3166-1 alpha-2 code of its country; null when not resolved.
criteriaobject[]The kinds of criteria the advertiser included or excluded (the EU disclosure); [] when not disclosed.
ShowHide 3 child fields
categorystringThe kind of criteria. New values may be added; treat unknown values as other.
One ofdemographicslocationscontextualtopics_of_interestcustomer_lists
is_includedbooleanCriteria of this kind were included in the audience.
is_excludedbooleanCriteria of this kind were excluded from the audience.
facebookobjectnullableA Meta Ad Library ad's own fields.
ShowHide 17 child fields
cta_typestringnullableThe call to action's type (shop_now, learn_more), whatever language cta_text is in; null when the ad has none.
link_captionstringnullableThe link caption shown under the creative (usually the destination's domain); null when none.
special_ad_categoriesstring[]Meta's special ad categories the ad is filed under (political, housing, employment, credit); [] for an ordinary ad.
collation_idstringnullableThe group of ads that share this creative and text; null when not shown.
collation_countintegernullableHow many ads share this creative and text; null when not shown.
partnerobjectnullableThe creator whose post a branded content ad promotes for the advertiser; null for other ads.
ShowHide 6 child fields
idstringnullablePlatform-native account ID; null when only the handle is known.
usernamestringnullableHandle without the @; null when the account has none.
display_namestringnullableDisplay name shown on the profile.
urlstring urinullableCanonical profile URL.
avatar_urlstring urinullableProfile picture URL. Platform CDN URLs can expire within hours.
is_verifiedbooleannullablePlatform verification badge; null where the platform has no badge.
advertiser_like_countintegernullableThe advertiser's page likes; null when not shown.
advertiser_categoriesstring[]The advertiser page's categories (Wine/spirits); [] when not shown (in unknown_fields when not shown).
is_advertiser_deletedbooleannullableThe advertiser's page has since been deleted; null when not shown.
advertiser_instagramobjectnullableThe advertiser's Instagram account, when Meta links one; null otherwise or outside the ad's details.
ShowHide 6 child fields
idstringnullablePlatform-native account ID; null when only the handle is known.
usernamestringnullableHandle without the @; null when the account has none.
display_namestringnullableDisplay name shown on the profile.
urlstring urinullableCanonical profile URL.
avatar_urlstring urinullableProfile picture URL. Platform CDN URLs can expire within hours.
is_verifiedbooleannullablePlatform verification badge; null where the platform has no badge.
advertiser_instagram_follower_countintegernullableFollowers of the advertiser's Instagram account; null when not shown.
beneficiarystringnullableWhom the ad benefits, as disclosed for ads shown in the EU; null when not disclosed.
is_syntheticbooleannullableThe advertiser disclosed digitally created or altered media (an AI disclosure); null when not shown.
is_removedbooleannullableMeta took the ad down for breaking its standards; null when not shown.
removal_reasonsstring[]Meta's reasons for taking it down; [] when none (in unknown_fields when not shown).
targetingobject[]Whom the advertiser targeted and whom the ad reached, per region that discloses it (the EU, the UK); [] when not disclosed (in unknown_fields when not shown).
ShowHide 7 child fields
regionstringThe disclosing region. New values may be added.
One ofeuuk
reachintegernullableUnique accounts the ad reached in the region; null when not shown.
gendersstring[]Genders targeted (female, male); [] when all.
age_minintegernullableYoungest age targeted; null when not shown.
age_maxintegernullableOldest age targeted (65 means 65 and over); null when not shown.
locationsobject[]Places the advertiser targeted or excluded; [] when not shown.
ShowHide 3 child fields
namestringThe place as Meta names it (United Kingdom, Berlin).
typestringnullableThe kind of place (countries, regions, cities); null when not shown.
is_excludedbooleanThe advertiser excluded the place rather than targeting it.
reach_by_countryobject[]Unique accounts reached per country, by age range and gender; [] when not shown.
ShowHide 2 child fields
country_codestringISO 3166-1 alpha-2 country code.
agesobject[]Unique accounts reached there per age range.
ShowHide 4 child fields
age_rangestringThe age range (18-24, 65+).
maleintegernullableMen reached; null when not shown.
femaleintegernullableWomen reached; null when not shown.
unknownintegernullableAccounts of unknown gender reached; null when not shown.
impression_sharesobjectnullableA political or social-issue ad's audience: its share of impressions by age and gender and by region; null for other ads.
ShowHide 2 child fields
by_age_genderobject[]Share of impressions per age range, by gender (0 to 1).
ShowHide 4 child fields
age_rangestringThe age range (18-24, 65+).
malenumbernullableShare among men (0 to 1); null when not shown.
femalenumbernullableShare among women (0 to 1); null when not shown.
unknownnumbernullableShare among people of unknown gender (0 to 1); null when not shown.
by_regionobject[]Share of impressions per region (0 to 1).
ShowHide 2 child fields
regionstringThe region as Meta names it (California).
sharenumbernullableIts share (0 to 1); null when not shown.
linkedinobjectnullableA LinkedIn Ad Library ad's own fields.
ShowHide 13 child fields
creative_typestringnullableLinkedIn's code for the ad's format (SPONSORED_STATUS_UPDATE, SPONSORED_VIDEO, SPONSORED_INMAILS, JOBS_V2, …), finer than type; null when the library shows none.
formatstringnullableThe ad's format as the library labels it (Single Image Ad, Message Ad, Company Discovery Ad, …); null when not shown.
is_deletedbooleannullableThe library says the ad was deleted; false when it shows no such notice.
posterobjectnullableThe account the ad appears from: the advertiser, or a member whose post it promotes; null when the preview names none.
ShowHide 6 child fields
idstringnullablePlatform-native account ID; null when only the handle is known.
usernamestringnullableHandle without the @; null when the account has none.
display_namestringnullableDisplay name shown on the profile.
urlstring urinullableCanonical profile URL.
avatar_urlstring urinullableProfile picture URL. Platform CDN URLs can expire within hours.
is_verifiedbooleannullablePlatform verification badge; null where the platform has no badge.
poster_titlestringnullableThe line under the poster's name (a member's headline); null when none.
impressions_by_countryobject[]Each country's share of the ad's impressions, as the library lists them; [] when not shown (in unknown_fields).
ShowHide 4 child fields
countrystringnullableThe country's name, as the library writes it.
country_codestringnullableISO 3166-1 alpha-2 country code; null when the name is none the library's country list has.
share_percentintegernullableShare of the ad's impressions, a whole percent as the library rounds it; null when under one percent.
is_under_one_percentbooleannullableThe library writes the share as less than one percent.
targetingobjectnullableWhom the advertiser selected; null when not disclosed.
ShowHide 8 child fields
languagesobjectnullableThe profile languages targeted or excluded; null when not shown.
ShowHide 2 child fields
includedstring[]Targeted; [] when none are listed.
excludedstring[]Excluded; [] when none are listed.
locationsobjectnullableThe locations targeted or excluded, in the language of the advertiser's account; null when not shown.
ShowHide 2 child fields
includedstring[]Targeted; [] when none are listed.
excludedstring[]Excluded; [] when none are listed.
audienceobjectnullableAudience criteria; null when not shown.
ShowHide 2 child fields
is_targetedbooleannullableThe advertiser targeted by this criterion.
is_excludedbooleannullableThe advertiser excluded by this criterion.
demographicobjectnullableDemographic criteria; null when not shown.
ShowHide 2 child fields
is_targetedbooleannullableThe advertiser targeted by this criterion.
is_excludedbooleannullableThe advertiser excluded by this criterion.
companyobjectnullableCompany criteria; null when not shown.
ShowHide 2 child fields
is_targetedbooleannullableThe advertiser targeted by this criterion.
is_excludedbooleannullableThe advertiser excluded by this criterion.
educationobjectnullableEducation criteria; null when not shown.
ShowHide 2 child fields
is_targetedbooleannullableThe advertiser targeted by this criterion.
is_excludedbooleannullableThe advertiser excluded by this criterion.
jobobjectnullableJob criteria; null when not shown.
ShowHide 2 child fields
is_targetedbooleannullableThe advertiser targeted by this criterion.
is_excludedbooleannullableThe advertiser excluded by this criterion.
member_interestsobjectnullableMember interests and traits criteria; null when not shown.
ShowHide 2 child fields
is_targetedbooleannullableThe advertiser targeted by this criterion.
is_excludedbooleannullableThe advertiser excluded by this criterion.
messageobjectnullableA message ad's sender and buttons; null on every other format.
ShowHide 3 child fields
sender_namestringnullableThe person the message is sent as; null when not shown.
sender_avatar_urlstring urinullableThe sender's picture; null when not shown.
buttonsstring[]The message's buttons, in order; [] when none.
jobobjectnullableThe job a job ad promotes; null on every other format.
ShowHide 2 child fields
companystringnullableThe company the job is at; null when not shown.
locationstringnullableThe job's location, as written; null when not shown.
eventobjectnullableThe event an event ad promotes; null on every other format.
ShowHide 4 child fields
organizerstringnullableWho hosts the event; null when not shown.
locationstringnullableWhere it happens, as written (Online); null when not shown.
starts_atstring date-timenullableWhen it starts, RFC 3339 UTC; null when not shown.
ends_atstring date-timenullableWhen it ends, RFC 3339 UTC; null when not shown.
documentobjectnullableThe document a document ad shows; null on every other format.
ShowHide 2 child fields
titlestringnullableThe document's title; null when not shown.
page_countintegernullableHow many pages it has; null when not shown.
newsletterstringnullableThe newsletter an article ad's article belongs to; null when none.
companyobjectnullableThe company a company discovery ad presents; null on every other format.
ShowHide 2 child fields
sizestringnullableThe company's size as the card writes it (10,001+ employees); null when not shown.
locationstringnullableWhere the company is, as the card writes it; null when not shown.
approximate_fieldsstring[]JSON paths of values that are rounded, date-only or parsed from display text. A list path (external_links) means the list may be incomplete. [] when all exact.
unknown_fieldsstring[]JSON paths of lists whose [] means unknown rather than none (a source that cannot see them); null already means unknown for every other field. [] when every list is known.
Item errors
Besides the request-level errors every endpoint can return, ad endpoints return:
| Code | HTTP | Retry | Meaning | What to do |
|---|---|---|---|---|
not_found | 404 | No | The item does not exist or was deleted. On GET /v1/requests/{id}/response: the response was not kept (details.reason says why). | Check the link or ID. Do not retry. |