{"openapi":"3.1.0","info":{"title":"Tyver Public API","description":"External API for integrations with Tyver.\n\n### Authorization\nAll endpoints require the following header:\n```\nX-Tyver-Authorization: tyv_****\n```\nYou can obtain a token in your account dashboard under the **API** section.\n\n### Server\n```\nUrl: https://api.tyver.io/public/v1\n```","version":"1.0.0"},"servers":[{"url":"/public/v1"}],"paths":{"/info/me":{"get":{"tags":["Info"],"summary":"Current user","description":"Returns user data by public API token","operationId":"public_v1_get_me","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiResponse_PublicUserSchema_"}}}},"401":{"description":"Authentication credentials are missing or invalid. Ensure the `Authorization` header is present and contains a valid API token.","content":{"application/json":{"example":{"detail":"Missing or invalid Authorization header"}}}},"403":{"description":"Access denied. This endpoint is not available on the Free plan or your request quota has been exhausted.","content":{"application/json":{"example":{"detail":"Access denied"}}}},"500":{"description":"An unexpected server error occurred.","content":{"application/json":{"example":{"detail":"An unexpected error occurred"}}}}}}},"/creatives/":{"get":{"tags":["Creatives"],"summary":"Search creatives","description":"Returns a paginated list of ad creatives matching the specified filters. Use the `cursor` parameter returned in the response to retrieve the next page. Results are always sorted in descending order by the selected sort field.","operationId":"public_v1_get_creatives","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Pagination cursor (omit for the first page request)"},{"name":"sort","in":"query","required":false,"schema":{"$ref":"#/components/schemas/CreativeSortBy","default":"creation_time"},"description":"Field to sort results by","example":"creation_time"},{"name":"without_blacklist","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true},"description":"When `true`, excludes creatives belonging to blacklisted (hidden) fan pages"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2},{"type":"null"}]},"description":"Full-text search across creative body text. Minimum 2 characters. Use an unquoted query for broad matching (e.g. `some phrase`), or wrap the query in double quotes for exact phrase matching (e.g. `\"some phrase\"`)."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Country"},{"$ref":"#/components/schemas/CountryGroup"}]}},{"type":"null"}]},"description":"Target country or region of the creative. Accepts individual country codes and predefined region groups","example":"countries=US&countries=MENA"},{"name":"countries_limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}]},"description":"Maximum number of targeted countries in the creative (inclusive upper bound)"},{"name":"creation_date_gte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}]},"description":"Filter creatives first seen on or after this date (inclusive). Format: `YYYY-MM-DD`","example":"2025-12-31"},{"name":"creation_date_lte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}]},"description":"Filter creatives first seen on or before this date (inclusive). Format: `YYYY-MM-DD`","example":"2025-12-31"},{"name":"activity_days_amount_gte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}]},"description":"Minimum number of days the creative has been active (inclusive)"},{"name":"activity_days_amount_lte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}]},"description":"Maximum number of days the creative has been active (inclusive)"},{"name":"media_types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/CreativeMediaType"}],"title":"CreativeMediaType"}},{"type":"null"}]},"description":"Creative media type","example":"media_types=IMAGE&media_types=CAROUSEL"},{"name":"media_formats","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/CreativeMediaFormat"}],"title":"CreativeMediaFormat"}},{"type":"null"}]},"description":"Creative media format","example":"media_formats=1:1&media_formats=16:9"},{"name":"cta","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/CreativeCTA"}],"title":"CreativeCTA"}},{"type":"null"}]},"description":"Call to action button text","example":"cta=Buy Now&cta=Download"},{"name":"placements","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/CreativePlacement"}],"title":"CreativePlacement"}},{"type":"null"}]},"description":"Creative placement platform","example":"placements=audience_network&placements=facebook"},{"name":"with_lead_form","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"description":"Creative has a lead form","example":"true"},{"name":"in_link","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Filter creatives whose destination URL contains the specified substring. Separate multiple values with `|` (OR logic)","example":"sub1={} | utm_source=Google | id"},{"name":"fan_page","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Filter by advertiser fan page name or page ID. Separate multiple values with `|` (OR logic)","example":"862301710292165 | openai"},{"name":"app","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Filter by application link or App Store / Google Play app ID. Separate multiple values with `|` (OR logic)","example":"1038369065 | id835599320"},{"name":"app_stores","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/CreativeAppStore"}],"title":"CreativeAppStore"}},{"type":"null"}]},"description":"App store","example":"app_stores=App Store&app_stores=Google Play"},{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Filter by exact domain name or IP address of the creative destination URL. Separate multiple values with `|` (OR logic)","example":"apple.com | 17.253.144.10"},{"name":"domain_zones","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Filter by destination URL domain zone. Separate multiple values with `|` (OR logic)","example":".com | .xyz | .io"},{"name":"recent_activity_gte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}]},"description":"Filter creatives with last recorded activity on or after this date (inclusive). Format: `YYYY-MM-DD`","example":"2025-12-31"},{"name":"recent_activity_lte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}]},"description":"Filter creatives with last recorded activity on or before this date (inclusive). Format: `YYYY-MM-DD`","example":"2025-12-31"},{"name":"cms","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/CreativeCMS"}],"title":"CreativeCMS"}},{"type":"null"}]},"description":"E-commerce or CMS platform detected on the creative destination page","example":"cms=SHOPIFY&cms=BITRIX"},{"name":"languages","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Language"}],"title":"Language"}},{"type":"null"}]},"description":"Creative text language","example":"languages=en&languages=fr"},{"name":"gender","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Gender"},{"type":"null"}]},"description":"Target audience gender of the creative. Available for EU creatives only (Facebook Ad Library data)"},{"name":"age_gte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}]},"description":"Minimum target audience age (inclusive). Available for EU creatives only (Facebook Ad Library data)"},{"name":"age_lte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}]},"description":"Maximum target audience age (inclusive). Available for EU creatives only (Facebook Ad Library data)"},{"name":"impressions_gte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}]},"description":"Minimum estimated impressions count (inclusive). Available for EU creatives only (Facebook Ad Library data)"},{"name":"impressions_lte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}]},"description":"Maximum estimated impressions count (inclusive). Available for EU creatives only (Facebook Ad Library data)"},{"name":"vertical","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CreativeVertical"},{"type":"null"}]},"description":"Creative traffic vertical","example":"GAMBLING"},{"name":"vertical_subcategories","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/CreativeVerticalSubcategory"}],"title":"CreativeVerticalSubcategory"}},{"type":"null"}]},"description":"Subcategory within the selected vertical. Requires `vertical` to be set","example":"vertical_subcategories=AVIATOR&vertical_subcategories=BOOK_OF_DEAD"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiResponse_PublicApiCreativesResponseSchema_"}}}},"401":{"description":"Authentication credentials are missing or invalid. Ensure the `Authorization` header is present and contains a valid API token.","content":{"application/json":{"example":{"detail":"Missing or invalid Authorization header"}}}},"403":{"description":"Access denied. This endpoint is not available on the Free plan or your request quota has been exhausted.","content":{"application/json":{"example":{"detail":"Access denied"}}}},"500":{"description":"An unexpected server error occurred.","content":{"application/json":{"example":{"detail":"An unexpected error occurred"}}}},"400":{"description":"Invalid request parameters. For example, the `cursor` value is malformed or cannot be decoded.","content":{"application/json":{"example":{"detail":"Invalid cursor"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/creatives/{provider_id}":{"get":{"tags":["Creatives"],"summary":"Get creative by ID","description":"Returns the full data for a single creative identified by its provider ID.","operationId":"public_v1_get_creative_by_id","parameters":[{"name":"provider_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiResponse_PublicCreativeSchema_"}}}},"401":{"description":"Authentication credentials are missing or invalid. Ensure the `Authorization` header is present and contains a valid API token.","content":{"application/json":{"example":{"detail":"Missing or invalid Authorization header"}}}},"403":{"description":"Access denied. This endpoint is not available on the Free plan or your request quota has been exhausted.","content":{"application/json":{"example":{"detail":"Access denied"}}}},"500":{"description":"An unexpected server error occurred.","content":{"application/json":{"example":{"detail":"An unexpected error occurred"}}}},"404":{"description":"No creative found for the given provider ID","content":{"application/json":{"example":{"detail":"Creative not found"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blacklist/":{"get":{"tags":["Blacklist"],"summary":"Get blacklist","description":"Get all blocked pages of the user","operationId":"public_v1_get_blacklist","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiResponse_PublicApiBlacklistListData_"}}}},"401":{"description":"Authentication credentials are missing or invalid. Ensure the `Authorization` header is present and contains a valid API token.","content":{"application/json":{"example":{"detail":"Missing or invalid Authorization header"}}}},"403":{"description":"Access denied. This endpoint is not available on the Free plan or your request quota has been exhausted.","content":{"application/json":{"example":{"detail":"Access denied"}}}},"500":{"description":"An unexpected server error occurred.","content":{"application/json":{"example":{"detail":"An unexpected error occurred"}}}}}},"post":{"tags":["Blacklist"],"summary":"Add page to blacklist","description":"Add a provider page to the user's blacklist","operationId":"public_v1_post_blacklist","parameters":[{"name":"fan_page_id","in":"query","required":true,"schema":{"type":"string"},"description":"Creative's fan page id"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiResponse_PublicApiBlacklistData_"}}}},"401":{"description":"Authentication credentials are missing or invalid. Ensure the `Authorization` header is present and contains a valid API token.","content":{"application/json":{"example":{"detail":"Missing or invalid Authorization header"}}}},"403":{"description":"Access denied. This endpoint is not available on the Free plan or your request quota has been exhausted.","content":{"application/json":{"example":{"detail":"Access denied"}}}},"500":{"description":"An unexpected server error occurred.","content":{"application/json":{"example":{"detail":"An unexpected error occurred"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Blacklist"],"summary":"Remove page from blacklist","description":"Remove a provider page from the user's blacklist","operationId":"public_v1_delete_blacklist","parameters":[{"name":"fan_page_id","in":"query","required":true,"schema":{"type":"string"},"description":"Creative's fan page id"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiResponse_PublicApiBlacklistData_"}}}},"401":{"description":"Authentication credentials are missing or invalid. Ensure the `Authorization` header is present and contains a valid API token.","content":{"application/json":{"example":{"detail":"Missing or invalid Authorization header"}}}},"403":{"description":"Access denied. This endpoint is not available on the Free plan or your request quota has been exhausted.","content":{"application/json":{"example":{"detail":"Access denied"}}}},"500":{"description":"An unexpected server error occurred.","content":{"application/json":{"example":{"detail":"An unexpected error occurred"}}}},"404":{"description":"Fan page with the passed id not found in blacklist","content":{"application/json":{"example":{"detail":"Fan page id not found in user's blacklist"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Country":{"type":"string","enum":["AB","AU","AT","AZ","AL","DZ","AS","AI","AO","AD","AQ","AG","AR","AM","AW","AF","BS","BD","BB","BH","BY","BZ","BE","BJ","BM","BG","BO","BQ","BA","BW","BR","IO","BN","BF","BI","BT","VU","HU","VE","VG","VI","VN","GA","HT","GY","GM","GH","GP","GT","GN","GW","DE","GG","GI","HN","HK","GD","GL","GR","GE","GU","DK","JE","DJ","DM","DO","EG","ZM","EH","ZW","IL","IN","ID","JO","IQ","IR","IE","IS","ES","IT","YE","CV","KZ","KH","CM","CA","QA","KE","CY","KG","KI","CN","CC","CO","KM","CG","CD","KP","KR","CR","CI","CU","KW","CW","LA","LV","LS","LB","LY","LR","LI","LT","LU","MU","MR","MG","YT","MO","MW","MY","ML","UM","MV","MT","MA","MQ","MH","MX","FM","MZ","MD","MC","MN","MS","MM","NA","NR","NP","NE","NG","NL","NI","NU","NZ","NC","NO","AE","OM","BV","IM","NF","CX","HM","KY","CK","TC","PK","PW","PS","PA","VA","PG","PY","PE","PN","PL","PT","PR","MK","RE","RU","RW","RO","WS","SM","ST","SA","SH","MP","BL","MF","SN","VC","KN","LC","PM","RS","SC","SG","SX","SY","SK","SI","GB","US","SB","SO","SD","SR","SL","TJ","TH","TW","TZ","TL","TG","TK","TO","TT","TV","TN","TM","TR","UG","UZ","UA","WF","UY","FO","FJ","PH","FI","FK","FR","GF","PF","TF","HR","CF","TD","ME","CZ","CL","CH","SE","SJ","LK","EC","GQ","AX","SV","ER","SZ","EE","ET","ZA","GS","OS","SS","JM","JP"],"title":"Country"},"CountryGroup":{"type":"string","enum":["MENA","EUROPE","ASIA","NORTH_AMERICA","SOUTH_AMERICA"],"title":"CountryGroup"},"CreativeAppStore":{"type":"string","enum":["App Store","Google Play"],"title":"CreativeAppStore"},"CreativeCMS":{"type":"string","enum":["SHOPIFY","WOO_COMMERCE","MAGENTO","WORD_PRESS","JOOMLA","DRUPAL","WIX","BITRIX","OPEN_CART","GHOST","SQUARESPACE","TYPO3","WEEBLY"],"title":"CreativeCMS"},"CreativeCTA":{"type":"string","enum":["Add to Cart","Apply Now","Book Now","Book Travel","Buy Gift Card","Buy Now","Buy Tickets","Call Now","Chat on WhatsApp","Check Availability","Contact Us","Donate Now","Download","Enquire now","Explore more","Get Access","Get Directions","Get Offer","Get Promotions","Get Quote","Get Showtimes","Get Updates","Inquire Now","Install App","Install Now","Interested","Join Group","Learn More","Like Page","Listen Now","No Button","Open Link","Order Now","Play Game","Register Now","Remind Me","Request Time","Save","See Menu","See More","Sell Now","Send Message","Send Updates","Send WhatsApp Message","Shop Now","Sign Up","Subscribe","Try in Camera","Use App","Visit Instagram Profile","Visit Profile","Watch More","Watch Video"],"title":"CreativeCTA"},"CreativeMediaFormat":{"type":"string","enum":["1:1","9:16","2:3","3:4","4:5","16:9","4:3","3:2","5:6","OTHER"],"title":"CreativeMediaFormat"},"CreativeMediaType":{"type":"string","enum":["CAROUSEL","IMAGE","VIDEO"],"title":"CreativeMediaType"},"CreativePlacement":{"type":"string","enum":["facebook","instagram","audience_network","messenger","whatsapp","oculus","threads"],"title":"CreativePlacement"},"CreativeSortBy":{"type":"string","enum":["creation_time","impressions_from","activity_days_amount","id"],"title":"CreativeSortBy"},"CreativeVertical":{"type":"string","enum":["APPS","GAMBLING","ECOMMERCE"],"title":"CreativeVertical"},"CreativeVerticalSubcategory":{"type":"string","enum":["BOOK_OF_RA","COIN_VOLCANO","BALLOON","BIG_BASS","MIX","SUGAR_RUSH","SWEET_BONANZA","BOOK_OF_DEAD","SUN_OF_EGYPT","PLINKO","ROYAL_JOKER","GATES_OF_OLYMPUS","FIRE_JOKER","TRASH","AVIATOR","ENERGY_JOKER","PINK_JOKER","JOKER_STOKER","CHICKEN_ROAD","ENERGY_COINS","JOKERS_JEWELS","COIN_STRIKE","HELL_HOT","ICE_JOKER","VORTEX","RABBIT_ROAD","BURNING_CHILLI","BOMB_DEFUSE","TOWER_RUSH","PENALTY_DUEL","CHICKEN_SUBWAY"],"title":"CreativeVerticalSubcategory"},"Gender":{"type":"string","enum":["men","women","all"],"title":"Gender"},"HTTPValidationError":{"type":"object","properties":{"detail":{"type":"string","default":"Validation error"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}},"required":["data"]},"Language":{"type":"string","enum":["aa","ab","af","ak","sq","am","ar","an","hy","as","av","ae","ay","az","ba","bm","eu","be","bn","bh","bi","bo","bs","br","bg","my","ca","cs","ch","ce","zh","cv","kw","co","cr","cy","da","dv","nl","dz","el","en","eo","et","ee","fo","fa","fj","fi","fr","fy","ff","de","ka","gd","ga","gl","gv","gn","gu","ht","ha","he","hz","hi","ho","hr","hu","ig","is","io","ii","iu","ie","ia","id","ik","it","jv","ja","kl","kn","ks","kr","kk","km","ki","rw","ky","kv","kg","ko","kj","ku","lo","la","lv","li","ln","lt","lb","lu","lg","mk","mh","ml","mi","mr","ms","mg","mt","mn","na","nv","nd","ng","ne","nl","nb","nn","no","oj","or","om","os","pa","pi","pl","pt","ps","qu","rm","ro","rn","ru","sg","sa","si","sk","sl","sm","sn","sd","so","st","es","sc","sr","ss","su","sw","sv","ty","ta","tt","te","tg","tl","th","ti","to","tn","ts","tk","tr","tw","ug","uk","ur","uz","ve","vi","vo","wa","wo"],"title":"Language"},"MediaDimensions":{"properties":{"width":{"type":"integer"},"height":{"type":"integer"}},"type":"object","required":["width","height"],"title":"MediaDimensions"},"MediaItem":{"properties":{"filename":{"type":"string"},"compressed_image_filename":{"anyOf":[{"type":"string"},{"type":"null"}]},"content_type":{"type":"string"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}]},"dimensions":{"anyOf":[{"$ref":"#/components/schemas/MediaDimensions"},{"type":"null"}]},"compressed_dimensions":{"anyOf":[{"$ref":"#/components/schemas/MediaDimensions"},{"type":"null"}]},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"compressed_image_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"compressed_video_image_preview_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"video_image_preview_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"video_preview":{"anyOf":[{"$ref":"#/components/schemas/MediaVideoPreview"},{"type":"null"}]},"_info":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object","required":["filename","content_type"],"title":"MediaItem"},"MediaVideoPreview":{"properties":{"compressed_image_filename":{"anyOf":[{"type":"string"},{"type":"null"}]},"filename":{"type":"string"},"bucket":{"type":"string"}},"type":"object","required":["filename","bucket"],"title":"MediaVideoPreview"},"PublicApiBlacklistData":{"properties":{"fan_page_id":{"type":"string"}},"type":"object","required":["fan_page_id"],"title":"PublicApiBlacklistData"},"PublicApiBlacklistListData":{"properties":{"fan_page_ids":{"items":{"type":"string"},"type":"array"}},"type":"object","required":["fan_page_ids"],"title":"PublicApiBlacklistListData"},"PublicApiCreativesResponseSchema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PublicCreativeSchema"},"type":"array","description":"List of creatives matching the query"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor. Pass this value as the `cursor` query parameter to retrieve the next page. `null` when there are no more results"},"total":{"type":"integer","description":"Total number of creatives matching the query","default":0}},"type":"object","required":["items","cursor"],"title":"PublicApiCreativesResponseSchema"},"PublicApiResponse_PublicApiBlacklistData_":{"properties":{"detail":{"type":"string","default":"Success"},"data":{"$ref":"#/components/schemas/PublicApiBlacklistData"}},"type":"object","required":["data"],"title":"PublicApiResponse[PublicApiBlacklistData]"},"PublicApiResponse_PublicApiBlacklistListData_":{"properties":{"detail":{"type":"string","default":"Success"},"data":{"$ref":"#/components/schemas/PublicApiBlacklistListData"}},"type":"object","required":["data"],"title":"PublicApiResponse[PublicApiBlacklistListData]"},"PublicApiResponse_PublicApiCreativesResponseSchema_":{"properties":{"detail":{"type":"string","default":"Success"},"data":{"$ref":"#/components/schemas/PublicApiCreativesResponseSchema"}},"type":"object","required":["data"],"title":"PublicApiResponse[PublicApiCreativesResponseSchema]"},"PublicApiResponse_PublicCreativeSchema_":{"properties":{"detail":{"type":"string","default":"Success"},"data":{"$ref":"#/components/schemas/PublicCreativeSchema"}},"type":"object","required":["data"],"title":"PublicApiResponse[PublicCreativeSchema]"},"PublicApiResponse_PublicUserSchema_":{"properties":{"detail":{"type":"string","default":"Success"},"data":{"$ref":"#/components/schemas/PublicUserSchema"}},"type":"object","required":["data"],"title":"PublicApiResponse[PublicUserSchema]"},"PublicCreativeSchema":{"properties":{"provider_id":{"type":"string","description":"Unique identifier assigned to this creative by the ad platform provider"},"activity_days_amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Total number of days the creative has been active"},"bodies":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"List of ad body text variants used in the creative"},"countries":{"items":{"allOf":[{"$ref":"#/components/schemas/Country"}],"title":"Country"},"type":"array","description":"List of ISO 3166-1 alpha-2 country codes where the creative is being served"},"creation_time":{"type":"string","format":"date","description":"Date when the creative was first published by the advertiser"},"captions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"List of caption variants displayed alongside the creative media"},"domain_zone":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Top-level domain zone of the creative's destination URL (e.g. `.com`, `.io`)"},"gender":{"anyOf":[{"$ref":"#/components/schemas/Gender"},{"type":"null"}],"description":"Target audience gender. Available for EU creatives only (Facebook Ad Library data)"},"is_active":{"type":"boolean","description":"Whether the creative is currently active (still running)","default":false},"languages":{"anyOf":[{"items":{"allOf":[{"$ref":"#/components/schemas/Language"}],"title":"Language"},"type":"array"},{"type":"null"}],"description":"Detected languages of the creative body text"},"media_formats":{"anyOf":[{"items":{"allOf":[{"$ref":"#/components/schemas/CreativeMediaFormat"}],"title":"CreativeMediaFormat"},"type":"array"},{"type":"null"}],"description":"Aspect ratio formats of the creative's media assets (e.g. `1:1`, `16:9`)"},"first_active_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Date of the creative's first recorded activity"},"last_active_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Date of the creative's most recent recorded activity"},"media_type":{"type":"string","enum":["CAROUSEL","IMAGE","VIDEO","UNKNOWN"],"description":"Creative media type. One of: `CAROUSEL`, `IMAGE`, `VIDEO`, `UNKNOWN`","default":"UNKNOWN"},"provider_page_id":{"type":"string","description":"Unique identifier of the advertiser page on the ad platform"},"provider_page_name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the advertiser page on the ad platform"},"link_captions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"List of caption variants attached to the creative's destination link"},"link_descriptions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"List of description variants for the creative's destination link"},"link_titles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"List of title variants for the creative's destination link"},"cta":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Call-to-action button label (e.g. `Shop Now`, `Download`, `Sign Up`)"},"target_url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Destination URL the creative links to, including query parameters"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"IP address or address associated with the creative's destination domain"},"age_gte":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Minimum target audience age. Available for EU creatives only (Facebook Ad Library data)"},"age_lte":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Maximum target audience age. Available for EU creatives only (Facebook Ad Library data)"},"media":{"anyOf":[{"items":{"$ref":"#/components/schemas/MediaItem"},"type":"array"},{"type":"null"}],"description":"List of media assets (images, videos) associated with the creative"},"placements":{"items":{"allOf":[{"$ref":"#/components/schemas/CreativePlacement"}],"title":"CreativePlacement"},"type":"array","description":"Ad platforms where the creative was detected (e.g. `facebook`, `instagram`, `audience_network`)","default":[]},"verticals":{"anyOf":[{"items":{"allOf":[{"$ref":"#/components/schemas/CreativeVertical"}],"title":"CreativeVertical"},"type":"array"},{"type":"null"}],"description":"Traffic verticals assigned to the creative (e.g. `GAMBLING`, `E_COM`)"},"vertical_subcategories":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/CreativeVerticalSubcategory"}]},"type":"array"},{"type":"null"}],"description":"Vertical subcategories assigned to the creative"},"cms":{"anyOf":[{"items":{"allOf":[{"$ref":"#/components/schemas/CreativeCMS"}],"title":"CreativeCMS"},"type":"array"},{"type":"null"}],"description":"List of CMS or e-commerce platforms detected on the creative's destination page"},"impressions":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Estimated impressions count. Available for EU creatives only (Facebook Ad Library data)","readOnly":true}},"type":"object","required":["provider_id","countries","creation_time","provider_page_id","impressions"],"title":"PublicCreativeSchema","description":"Ad creative object returned by the Creatives API.","example":{"activity_days_amount":47,"age_gte":18,"age_lte":45,"bodies":["See every ad your competitors are running — before they scale. Tyver gives you real-time access to 500M+ creatives across Facebook, Instagram, and TikTok.","Stop guessing what works. Spy on winning ads, analyze creatives by vertical, and launch campaigns backed by data. Try Tyver free for 7 days."],"cms":["BITRIX"],"countries":["US","GB","CA","AU"],"creation_time":"2026-03-19","cta":"Try for Free","domain_zone":".io","first_active_date":"2026-03-19","gender":"all","impressions":50000,"is_active":true,"languages":["en"],"last_active_date":"2026-04-16","link_captions":["tyver.io"],"link_descriptions":["Track competitor ads. Find winning creatives. Scale faster."],"link_titles":["Ad Intelligence for Performance Marketers","Spy on Any Ad. Outperform Any Competitor."],"media":[{"compressed_dimensions":{"height":400,"width":400},"compressed_image_filename":"compressed.512847291_3817263049182746_1234567890123456789_n.jpg","compressed_image_url":"https://example-cdn.s3.eu-central-1.amazonaws.com/bucket/compressed.512847291_3817263049182746_1234567890123456789_n.jpg","content_type":"image/jpeg","dimensions":{"height":1080,"width":1080},"filename":"512847291_3817263049182746_1234567890123456789_n.jpg","url":"https://example-cdn.s3.eu-central-1.amazonaws.com/bucket/512847291_3817263049182746_1234567890123456789_n.jpg"}],"media_formats":["1:1"],"media_type":"IMAGE","placements":["facebook","instagram","audience_network"],"provider_id":"9384710293847162","provider_page_id":"104829374651028","provider_page_name":"Tyver — Ad Intelligence","target_url":"https://tyver.io/sign-up?utm_source=facebook&utm_medium=paid&utm_campaign=competitors","vertical_subcategories":["PLINKO"],"verticals":["GAMBLING"]}},"PublicUserSchema":{"properties":{"tariff":{"$ref":"#/components/schemas/PublicUserTariff","description":"The user's active subscription plan. "},"remainder_views":{"type":"integer","description":"Number of ad views remaining in the current billing period. Resets at the start of each billing cycle."}},"type":"object","required":["tariff","remainder_views"],"title":"PublicUserSchema","description":"Represents the authenticated user's account information.\n\nReturned as part of API responses that expose user-level context,\nsuch as profile lookups and session introspection endpoints.","example":{"remainder_views":30000,"tariff":"PRO"}},"PublicUserTariff":{"type":"string","enum":["FREE","DEMO","PRO","TEAM"],"title":"PublicUserTariff"},"ValidationError":{"properties":{"type":{"title":"Type","type":"string"},"message":{"title":"Message","type":"string"},"fields":{"description":"Path to the invalid field","items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Fields","type":"array"}},"required":["type","message","fields"],"title":"ValidationErrorItem","type":"object"}}}}