Rule-based and measured, no AI model: every text tag carries the exact text it matched, media properties are measured with ffprobe/ffmpeg and on-image text is read with tesseract (words under 60% confidence are dropped). Results are kept per ad version; a changed creative is analysed again. Costs the features price (default 2 credits) per call, plus the ad itself if it has to be fetched live.
API reference · Ads
Creative features of an ad: hook, offers, urgency, social proof, format, video length, cuts, on-image text
GET
/v1/ads/{id}/featuresExample request
curl "https://api.adlibapi.com/v1/ads/meta:1187430977361020/features" \
-H "X-API-Key: $ADLIB_API_KEY"Send your key in the X-API-Key header. Try it in the explorer.
Parameters
idrequiredpath · string
e.g. meta:1187430977361020
Response
data.ctastring
–
data.formatrequiredstring
From the measured media: vertical_video, horizontal_video, square_video, vertical_image, square_image, horizontal_image, carousel, text_only
data.headlinestring
–
data.landingobject
–
domainstring
–
pathstring
–
urlstring
–
utmmap of string
–
data.mediarequiredobject[]
–
aspectstring
9:16, 4:5, 1:1, 16:9 or WxH reduced
cuts_per_minutenumber
–
duration_snumber
–
errorstring
–
has_audioboolean
–
heightinteger
–
kindstring
One of image, video
ocrobject
–
orientationstring
One of vertical, square, horizontal
scene_cutsinteger
Hard cuts detected (ffmpeg scene score > 0.4)
urlstring
–
widthinteger
–
data.methodrequiredstring
rules = text rules with evidence, measurement = ffprobe/ffmpeg, ocr = tesseract; no AI model
data.ocr_textstring
–
data.textrequiredobject
–
charsinteger
–
discountsstring[]
–
emojisinteger
–
free_offerobject[]
–
free_shippingobject[]
–
guaranteeobject[]
–
hashtagsstring[]
–
hookstring
First sentence of the primary text
hook_is_questionboolean
–
mentionsstring[]
–
noveltyobject[]
–
numbersstring[]
–
pricesstring[]
–
social_proofobject[]
–
uppercase_rationumber
Share of letters in capitals
urgencyobject[]
–
wordsinteger
–
data.versionrequiredstring
–
metarequiredobject
–
ad_idstring
–
analyzed_atdatetime
–
cachedboolean
Served from an earlier analysis of the same ad version