# Linkedin Ads

```json
{
  "name": "Linkedin Ads",
  "slug": "linkedin_ads",
  "url": "https://composio.dev/toolkits/linkedin_ads",
  "markdown_url": "https://composio.dev/toolkits/linkedin_ads.md",
  "logo_url": "https://logos.composio.dev/api/linkedin_ads",
  "categories": [
    "advertising & marketing"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-06-18T09:37:36.853Z"
}
```

![Linkedin Ads logo](https://logos.composio.dev/api/linkedin_ads)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Linkedin Ads MCP or direct API to manage campaigns, review ad performance, analyze spend, and publish organization social content through natural language.

## Summary

Linkedin Ads is LinkedIn's marketing platform for creating, managing, and measuring paid campaigns across LinkedIn.
It helps teams reach professional audiences with precise targeting, campaign analytics, and sponsored content tools.

## Categories

- advertising & marketing

## Toolkit Details

- Tools: 28

## Images

- Logo: https://logos.composio.dev/api/linkedin_ads

## Authentication

- **Oauth2**
  - Type: `oauth2`
  - Description: Oauth2 authentication for Linkedin Ads.
  - Setup:
    - Configure Oauth2 credentials for Linkedin Ads.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List active campaigns with daily spend
- Compare ad performance by campaign objective
- Create report for sponsored content clicks

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `LINKEDIN_ADS_CREATE_AD_ACCOUNT` | Create Ad Account | Tool to create a new LinkedIn ad account for campaign management. Use when setting up advertising infrastructure for an organization or person. The account type must be BUSINESS (ENTERPRISE is reserved for LinkedIn internal use). The Ad Account ID is returned in the response on success. |
| `LINKEDIN_ADS_CREATE_LEAD_FORM` | Create Lead Form | Tool to create a new LinkedIn lead generation form for ads. Use when you need to create forms to collect leads from LinkedIn ads campaigns. |
| `LINKEDIN_ADS_GET_AD_ACCOUNT` | Get Ad Account | Tool to retrieve a specific LinkedIn Ad Account by ID. Returns detailed account information including name, status, currency, notification settings, and serving statuses. Use when you need to fetch details about a specific ad account. |
| `LINKEDIN_ADS_GET_AD_ANALYTICS` | Get Ad Analytics | Tool to retrieve LinkedIn ad analytics and reporting metrics for campaigns, creatives, and accounts. Use when you need performance data such as impressions, clicks, costs, conversions, and engagement metrics. Supports filtering by accounts, campaigns, or campaign groups with customizable date ranges and pivot dimensions. |
| `LINKEDIN_ADS_GET_AUDIENCE_COUNTS` | Get Audience Counts | Get estimated audience size for given targeting criteria on LinkedIn Ads. Use when you need to forecast how many LinkedIn members match your campaign targeting parameters before creating ads. Minimum audience size of 300 required to run campaigns. |
| `LINKEDIN_ADS_GET_CAMPAIGN_GROUP` | Get Campaign Group | Tool to retrieve a specific LinkedIn Ads campaign group by ID. Use when you need detailed information about a campaign group including its budget, schedule, status, and serving conditions. |
| `LINKEDIN_ADS_GET_LEAD_FORM` | Get lead form by ID | Tool to retrieve a specific LinkedIn lead form by its ID. Use when you need to fetch details about a lead form including its questions, legal info, and configuration. |
| `LINKEDIN_ADS_GET_NETWORK_SIZE` | Get organization follower count | Tool to retrieve follower count for a LinkedIn organization. Use when you need to get the number of followers for a company or organization page. |
| `LINKEDIN_ADS_GET_ORGANIZATION_ACLS` | Get organization access control list | Tool to retrieve organization access control list showing who has admin or poster rights for organizations. Use when you need to check which members have specific roles (like ADMINISTRATOR or DIRECT_SPONSORED_CONTENT_POSTER) for an organization, or to find all organizations where the authenticated user has access control roles. |
| `LINKEDIN_ADS_GET_ORGANIZATION_PAGE_STATISTICS` | Get organization page statistics | Tool to retrieve page view and click statistics for a LinkedIn organization page. Use when you need to analyze organization page engagement metrics, either for lifetime or specific time periods. |
| `LINKEDIN_ADS_GET_ORG_FOLLOWER_STATISTICS` | Get organization follower statistics | Tool to retrieve follower growth statistics for a LinkedIn organization. Use when you need follower demographics (industry, seniority, location, function) or time-bound follower gains. Omit timeIntervals for lifetime demographic statistics; include timeIntervals for time-series follower growth data. |
| `LINKEDIN_ADS_GET_ORG_SHARE_STATISTICS` | Get organization share statistics | Tool to retrieve share and engagement statistics for an organization's content on LinkedIn. Use when you need organic metrics like impressions, clicks, likes, comments, and shares for an organization's posts. Returns lifetime statistics by default or time-bound statistics when a time range is specified. |
| `LINKEDIN_ADS_GET_SUPPLY_FORECASTS` | Get Ad Supply Forecasts | Retrieve supply forecasts for LinkedIn ad inventory based on targeting criteria, budget, and bid settings. Provides forecasts for impressions, clicks, spending, reach, and other metrics with different time granularities (daily, 7-day, 30-day, custom). Use when planning ad campaigns to estimate performance and budget requirements. |
| `LINKEDIN_ADS_GET_TARGETING_ENTITIES` | Get Targeting Entities | Tool to retrieve targeting entities for LinkedIn Ads campaigns. Use when you need to discover available targeting options (industries, locations, job titles, companies, skills, etc.) for ad targeting. Supports multiple query modes: retrieve all entities for a facet, search by text, find similar entities, or get metadata for specific URNs. Returns entity URNs and names that can be used for campaign targeting criteria. |
| `LINKEDIN_ADS_GET_TARGETING_FACETS` | Get Targeting Facets | Tool to retrieve available ad targeting facets including industries, locations, seniorities, job functions, skills, and more. Use when you need to discover which targeting categories are available for LinkedIn ad campaigns before fetching specific targeting entities. |
| `LINKEDIN_ADS_LIST_CONVERSION_RULES` | List Conversion Rules | Tool to list all conversion rules for a LinkedIn ad account. Use when you need to retrieve conversion tracking rules configured for an ad account. |
| `LINKEDIN_ADS_LIST_DMP_SEGMENTS` | List DMP Segments | Tool to list DMP (Data Management Platform) segments for LinkedIn ad accounts. Use to retrieve segments by account, fetch multiple segments by IDs, or search segments with pagination. DMP segments contain audience data for ad targeting. |
| `LINKEDIN_ADS_LIST_LEAD_FORMS` | List Lead Forms | Tool to list LinkedIn lead forms for an organization or by specific IDs. Use when you need to retrieve lead forms owned by an organization or sponsored account, or fetch specific forms by their IDs. |
| `LINKEDIN_ADS_LIST_ORGANIZATIONS` | List Organizations | Tool to search and list LinkedIn organizations by IDs, vanity name, or parent organization. Use when you need to retrieve organization information, company pages, or school profiles from LinkedIn. Supports batch lookup by IDs or search by vanity name (e.g., 'linkedin') or parent organization URN. |
| `LINKEDIN_ADS_LIST_POSTS` | List LinkedIn posts | Tool to list LinkedIn posts by author or retrieve multiple posts by IDs. Use when you need to fetch posts for a specific person/organization or retrieve specific posts by their URNs. |
| `LINKEDIN_ADS_LOOKUP_ORGANIZATIONS` | Lookup organizations | Tool to batch lookup organization details by IDs without requiring admin access. Use when you need to retrieve basic information about LinkedIn organizations like name, logo, locations, and website. |
| `LINKEDIN_ADS_REGISTER_UPLOAD` | Register Upload | Tool to register an upload for media assets (images, videos) on LinkedIn. Use when you need to prepare for uploading media content to LinkedIn before creating posts or ads. |
| `LINKEDIN_ADS_SEARCH_AD_ACCOUNTS` | Search Ad Accounts | Tool to search for LinkedIn ad accounts with filtering by status, type, and test mode. Use when you need to find ad accounts based on specific criteria like status, type, or whether they are test accounts. Supports pagination for large result sets. |
| `LINKEDIN_ADS_SEARCH_CAMPAIGNS` | Search Campaigns | Tool to search and list campaigns in a LinkedIn Ads account with filtering options. Use when you need to retrieve campaigns with specific criteria such as status, type, or test flag. |
| `LINKEDIN_ADS_SEARCH_CREATIVES` | Search LinkedIn Ads Creatives | Tool to search and list LinkedIn Ads creatives with filtering options. Use when you need to retrieve creatives from a LinkedIn Ads account with optional filters by campaign, status, content reference, or lead gen form. Supports cursor-based pagination for large result sets. Returns comprehensive creative details including status, review information, serving hold reasons, and metadata. |
| `LINKEDIN_ADS_SEARCH_EVENTS` | Search Events | Tool to search and list LinkedIn events by organizer with filtering options. Use when you need to find events organized by a specific organization or person, with optional filters for lifecycle state, entry criteria, and pagination. |
| `LINKEDIN_ADS_UPDATE_LEAD_FORM` | Update lead form | Tool to update an existing LinkedIn lead form. Use when you need to modify form details like name, headline, description, or state. Note: For published forms (linked to active campaigns), only specific fields can be updated. Pre-published forms allow updating all fields. |
| `LINKEDIN_ADS_UPDATE_ORGANIZATION_ACL` | Update organization access control | Tool to update organization access control for a user on LinkedIn. Use when requesting the DIRECT_SPONSORED_CONTENT_POSTER role for an organization. The PUT API works only when the user is requesting the role for themselves, not on behalf of others. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Linkedin Ads Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Linkedin Ads actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'List active LinkedIn ad campaigns with spend and impressions'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'List active LinkedIn ad campaigns with spend and impressions'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Linkedin Ads
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Linkedin Ads tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Compare LinkedIn ad campaign performance for this month')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'Compare LinkedIn ad campaign performance for this month'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Linkedin Ads Integration

- Supports both Linkedin Ads MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable campaign, creative, and analytics actions
- Rich coverage for reading, writing, and querying your Linkedin Ads marketing data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation once your LinkedIn app is configured
- Central place to manage, scope, and revoke Linkedin Ads access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Clear tool schemas help agents understand campaign IDs, account context, date ranges, and reporting fields
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Linkedin Ads
- Scoped, least privilege access to Linkedin Ads campaign, analytics, and organization resources
- Full audit trail of agent actions to support review and compliance

## Use Linkedin Ads with any AI Agent Framework

Choose a framework you want to connect Linkedin Ads with:

- [Claude Cowork](https://composio.dev/toolkits/linkedin_ads/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/linkedin_ads/framework/codex)

## Related Toolkits

- [Metaads](https://composio.dev/toolkits/metaads) - Metaads is Meta's official Ads API that lets you manage, analyze, and optimize your Facebook and Instagram ad campaigns. Streamline ad operations and gain deeper insights with robust automation.
- [Adrapid](https://composio.dev/toolkits/adrapid) - Adrapid is a platform for rapid creation of digital marketing visuals using templates. It streamlines design workflows for banners, images, and HTML5 content with automation.
- [Adyntel](https://composio.dev/toolkits/adyntel) - Adyntel is an API that retrieves LinkedIn ads for any company using a domain or LinkedIn Page ID. Easily access competitive ad intelligence to power your marketing workflows.
- [Beaconstac](https://composio.dev/toolkits/beaconstac) - Beaconstac is a platform for creating and managing QR codes and proximity beacons. It helps businesses engage customers and track marketing performance with powerful analytics.
- [Campaign cleaner](https://composio.dev/toolkits/campaign_cleaner) - Campaign cleaner is an email campaign optimization tool that boosts compatibility and deliverability across email clients. It helps marketers get better results by cleaning, enhancing, and ensuring high performance for every campaign.
- [Deadline funnel](https://composio.dev/toolkits/deadline_funnel) - Deadline Funnel lets you create personalized deadlines and timers for your marketing campaigns. It helps marketers boost conversions by adding authentic urgency to offers.
- [Google Ads](https://composio.dev/toolkits/googleads) - Google Ads is Google's online advertising platform for creating, managing, and optimizing digital campaigns. It helps businesses reach targeted customers and maximize return on ad spend.
- [Instantly](https://composio.dev/toolkits/instantly) - Instantly is a platform for automating cold email outreach, managing leads, and optimizing deliverability. Get better results from email campaigns with minimal manual effort.
- [Keyword](https://composio.dev/toolkits/keyword) - Keyword.com is a digital marketing platform for search rank tracking and SEO analytics. Use it to monitor keyword performance, spot ranking changes, and measure SEO visibility.
- [Proofly](https://composio.dev/toolkits/proofly) - Proofly is a social proof platform that displays real-time notifications of customer activity on your site. It helps you increase website conversions by building trust and urgency for visitors.
- [Reddit Ads](https://composio.dev/toolkits/reddit_ads) - Reddit Ads is Reddit's advertising platform for running paid campaigns, managing ad accounts, and tracking conversions. It helps advertisers reach high-intent communities with targeted, interest-based campaigns.
- [Segmetrics](https://composio.dev/toolkits/segmetrics) - Segmetrics is a marketing analytics platform that reveals detailed insights into your customer journeys. It helps businesses optimize marketing strategies with accurate, actionable reporting.
- [Semrush](https://composio.dev/toolkits/semrush) - Semrush is a leading SEO tool suite for keyword research, competitor analysis, and campaign tracking. It empowers marketers to improve search rankings and optimize online visibility.
- [Sendloop](https://composio.dev/toolkits/sendloop) - Sendloop is an all-in-one email marketing platform built for SaaS, e-commerce, and small businesses. It makes it easy to send campaigns, manage lists, and track results—all in one place.
- [Sidetracker](https://composio.dev/toolkits/sidetracker) - Sidetracker is a marketing analytics platform that tracks expenses, sales funnels, and customer journeys. It helps optimize marketing spend and visualize campaign performance from start to finish.
- [Snapchat](https://composio.dev/toolkits/snapchat) - Snapchat is a multimedia messaging and social platform with camera-first content, Stories, and Ads Manager. It helps brands reach mobile audiences with visual ads and measurable campaign performance.
- [Stannp](https://composio.dev/toolkits/stannp) - Stannp is an API-driven direct mail platform for sending postcards and letters programmatically. It lets you automate physical mail delivery—no manual printing or mailing required.
- [Tapfiliate](https://composio.dev/toolkits/tapfiliate) - Tapfiliate is an affiliate and referral tracking platform for businesses. It helps companies efficiently manage, track, and grow their affiliate programs.
- [Tpscheck](https://composio.dev/toolkits/tpscheck) - Tpscheck is a real-time service for verifying UK phone numbers against TPS and CTPS registers. It helps prevent unwanted marketing calls and ensures compliance with UK telemarketing laws.
- [Gmail](https://composio.dev/toolkits/gmail) - Gmail is Google's email service with powerful spam protection, search, and G Suite integration. It keeps your inbox organized and makes communication fast and reliable.

## Frequently Asked Questions

### Do I need my own developer credentials to use Linkedin Ads with Composio?

Yes, Linkedin Ads requires you to configure your own OAuth credentials. Once set up, Composio handles token storage, refresh, and lifecycle management for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
