Docs menu
Get started
What is Opus GrowthQuickstartAdd to your AIHow it worksSafety and approvalCreditsPlansFAQAI apps
All AI appsChatGPTClaudeGrokPerplexityClaude CodeCodexGemini CLIOpenClawCursorVS CodeWindsurfOther MCPConnect ad platforms
Google AdsMeta AdsLinkedIn AdsMicrosoft AdvertisingTikTok AdsChatGPT AdsAgencies and MCCConnect data sources
Search ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWebsites and SEO
AI ServerWordPressSEO IntelligenceClick fraudTool reference
All toolsGoogle AdsMeta AdsTikTok AdsLinkedIn AdsMicrosoft AdvertisingChatGPT AdsSearch ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWordPressAI ServerSEO IntelligenceClick fraudCross-channelAccount and billingLanguage
LinkedIn Creatives
Lists ALL creatives (ads) in a LinkedIn account (fully paginated); if campaign_id is given, limits to that campaign.
- Type
- Reads only
- Credits
- 1
- Platform
- LinkedIn Ads
- Approval
- Not needed, nothing changes
What it does
Lists ALL creatives (ads) in a LinkedIn account (fully paginated); if campaign_id is given, limits to that campaign. Also returns review status. If any row has `_truncated`, the list is INCOMPLETE — say so.
Every row carries a normalized `text` block next to the raw `content`: headline, description, landing_page, format — and for POST-BASED ads (Sponsored Content, Document Ads, Thought Leader Ads) `post_urn` + `post_permalink`.
IMPORTANT — post-based ads: the ad copy lives in the referenced POST, not in the creative, so it is NOT in this list by default (`text.ad_copy_status: "not_fetched"`). The response supplies `ad_copy_follow_up` with the exact bounded `linkedin_ad_copy` call whenever a post-based row remains unread. Post-based ad copy comes from that route; an internal creative `name` is not the ad's messaging. include_previews=true additionally resolves, per post-based creative: the real `ad_copy` (read from LinkedIn's PUBLIC Ad Library; no extra permission needed), `author_type` / `is_thought_leader_ad`, `ad_library_url` and official `preview_url` / `preview_url_mobile`. It costs ~2 extra requests per creative. Every matching creative is retained: `limit` controls only this transport response (0 = as many as fit); when `has_more` is true, pass `page_token=next_page_token` to receive the cached remainder without another LinkedIn request or credit.
MCP: list_linkedin_creatives
How to use it
You don't call tools by name. Write what you want in ChatGPT, Claude or another assistant connected to Opus Growth, in your own words; it picks this tool when it fits.
Parameters
| Name | Type | Required | Default | |
|---|---|---|---|---|
| account_id | string | Required | · | Advertising account identifier to query or change. Use the exact ID returned by the relevant account-listing tool, not the display name. |
| campaign_id | string | Optional | · | Exact campaign identifier to target. Use the ID returned by an Opus Growth list or create operation, not a display name. |
| include_previews | boolean | Optional | false | Whether to include previews in this operation's result or change. |
| limit | integer | Optional | 0 | Maximum number of rows returned in this response. When the result has_more flag is true, continue with next_page_token rather than assuming the list is complete. |
| page_token | string | Optional | · | Continuation token returned as next_page_token by a previous call. Leave empty for the first page; pass it unchanged to retrieve the cached next page. |
Related tools
attach_linkedin_conversionConnect LinkedIn Adsconnect_linkedin_adsCreate LinkedIn Campaigncreate_linkedin_campaignCreate LinkedIn Campaign Groupcreate_linkedin_campaign_groupCreate LinkedIn Post Adcreate_linkedin_post_adCreate LinkedIn Text Adcreate_linkedin_text_adDelete LinkedIn Campaigndelete_linkedin_campaignDelete LinkedIn Campaign Groupdelete_linkedin_campaign_groupDelete LinkedIn Creativedelete_linkedin_creative