Schema preview Draft

Ad schema (draft)

A public ad library entry: advertiser, creatives, run dates, placements and, where disclosed, reach and spend ranges.

Draft: not yet available. No endpoint returns ads yet. This schema may change before the first endpoint ships; don't build against it.

Draft schema

When ad endpoints ship, they will return objects shaped like this as data, next to the standard meta, the same on every platform.

FieldTypeDescription
platformstringLibrary owner's platform ID (facebook for Meta's library, tiktok, google, linkedin).
idstringLibrary ad ID (string).
urlstring (uri)Public library page of the ad.
advertiserobjectThe advertising page, business or account.
advertiser.idstring or nullPlatform-native account ID; null when only the handle is known.
advertiser.usernamestring or nullHandle without the @; null when the account has none.
advertiser.display_namestring or nullDisplay name shown on the profile.
advertiser.urlstring (uri) or nullCanonical profile URL.
advertiser.avatar_urlstring (uri) or nullProfile picture URL. Platform CDN URLs can expire within hours.
advertiser.is_verifiedboolean or nullPlatform verification badge; null where the platform has no badge.
paid_bystring or nullDisclosed payer ("Paid for by").
is_activeboolean or nullTrue while the ad is running.
first_shown_atstring (date-time) or nullFirst delivery, RFC 3339 UTC (often date-only: see approximate_fields).
last_shown_atstring (date-time) or nullLast delivery, RFC 3339 UTC; null while active.
typestringCreative shape. New values may be added; treat unknown values as other.
One of image, video, carousel, text, dynamic, other
publisher_platformsstring[]Where it ran, lowercase IDs (facebook, instagram, messenger, audience_network, youtube, …); [] if not disclosed.
creativesobject[]Creative versions of the ad; [] if none are shown.
creatives[].titlestring or nullHeadline.
creatives[].bodystring or nullPrimary text.
creatives[].link_urlstring (uri) or nullDestination URL.
creatives[].link_descriptionstring or nullLink description text.
creatives[].cta_textstring or nullCall-to-action label (e.g. Shop now).
creatives[].mediaobject[]Images and videos of this creative; [] if none.
creatives[].media[].typestringKind of file. New values may be added; treat unknown values as other.
One of image, video, audio, gif
creatives[].media[].urlstring (uri) or nullDirect file URL; null when the platform withholds it. Often signed and expiring within hours.
creatives[].media[].thumbnail_urlstring (uri) or nullPoster or preview image URL.
creatives[].media[].widthinteger or nullWidth in pixels.
creatives[].media[].heightinteger or nullHeight in pixels.
creatives[].media[].duration_msinteger or nullDuration in milliseconds (video and audio only).
creatives[].media[].alt_textstring or nullAccessibility 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_politicalboolean or nullCategorized as a political or social-issue ad.
impressionsobject or nullImpressions or times shown range; null when not disclosed.
impressions.lower_boundintegerInclusive lower bound.
impressions.upper_boundinteger or nullInclusive upper bound; null when open-ended (e.g. ">1M"). Equal to lower_bound when exact.
reachobject or nullUnique users reached range; null when not disclosed.
reach.lower_boundintegerInclusive lower bound.
reach.upper_boundinteger or nullInclusive upper bound; null when open-ended (e.g. ">1M"). Equal to lower_bound when exact.
audience_sizeobject or nullEstimated target audience size range; null when not disclosed.
audience_size.lower_boundintegerInclusive lower bound.
audience_size.upper_boundinteger or nullInclusive upper bound; null when open-ended (e.g. ">1M"). Equal to lower_bound when exact.
spendobject or nullSpend range; null when not disclosed.
spend.lower_boundintegerInclusive lower bound, in whole units of currency.
spend.upper_boundinteger or nullInclusive upper bound in whole units of currency; null when open-ended.
spend.currencystringISO 4217 currency code, uppercase (USD).
approximate_fieldsstring[]JSON paths of values that are rounded, date-only or parsed from display text; [] when all exact.

Item errors

Planned item-level errors, besides the request-level errors:

CodeHTTPRetryMeaningWhat to do
not_found404NoThe item does not exist or was deleted.Check the URL or ID; do not retry.

All schemas · Available APIs