LinkedIn Campaign Management API

APIs to create and manage campaigns

Operations 3

GET /adAccounts/{AdAccountsId}/adCampaigns LinkedIn Search Campaigns #
GET /adAccounts/{AdAccountsId}/adCampaigns/{CampaignId} LinkedIn Fetch Campaign by Id #
POST /adAccounts/{AdAccountsId}/adCampaigns/{CampaignId} LinkedIn Archive Campaign #

Documentation

📖
Documentation
https://learn.microsoft.com/en-us/linkedin/marketing/
📖
GettingStarted
https://learn.microsoft.com/en-us/linkedin/marketing/getting-started
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/learning/
📖
GettingStarted
https://learn.microsoft.com/en-us/linkedin/learning/getting-started
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/learning/getting-started/terminology
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/learning/integrations/xapi
📖
APIReference
https://learn.microsoft.com/en-us/linkedin/learning/reporting/reporting-docs/reporting-api
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/talent/
📖
GettingStarted
https://learn.microsoft.com/en-us/linkedin/talent/getting-started
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/talent/versioning
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/compliance/
📖
GettingStarted
https://learn.microsoft.com/en-us/linkedin/compliance/getting-started
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/compliance/compliance-api/overview
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/sales/
📖
APIReference
https://learn.microsoft.com/en-us/linkedin/sales/display-services/
📖
APIReference
https://learn.microsoft.com/en-us/linkedin/sales/analytics-services/
📖
APIReference
https://learn.microsoft.com/en-us/linkedin/sales/sync-services/
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/dma/
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/dma/member-data-portability/
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/dma/pages-data-portability-overview
📖
Documentation
https://learn.microsoft.com/en-us/linkedin/dma/transparency/advertiser-transparency

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/linkedin-campaign-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

linkedin-campaign-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LinkedIn Marketing Campaign Management API
  description: 'Campaign Manager is LinkedIn''s online tool for creating and managing ad accounts and campaigns. This API provides capabilities for account management, campaign group management, campaign management, creative management, ad targeting, and forecasting.

    You must apply for access to the Marketing Developer Platform to use these APIs.'
  version: 1.0.0
  contact:
    name: LinkedIn Marketing API Support
    url: https://developer.linkedin.com/product-catalog/marketing/campaign-management
servers:
- url: https://api.linkedin.com/rest
  description: LinkedIn REST API Server
security:
- OAuth2Auth:
  - rw_ads
tags:
- name: Campaign Management
  description: APIs to create and manage campaigns
paths:
  /adAccounts/{AdAccountsId}/adCampaigns:
    get:
      tags:
      - Campaign Management
      summary: LinkedIn Search Campaigns
      description: Search for campaigns by various criteria.
      operationId: searchCampaigns
      x-microcks-operation:
        dispatcher: FALLBACK
        dispatcherRules: ''
      parameters:
      - name: LinkedIn-Version
        in: header
        required: true
        schema:
          type: string
        example: '202401'
      - name: AdAccountsId
        in: path
        required: true
        schema:
          type: string
        example: '123456'
      - name: q
        in: query
        required: true
        schema:
          type: string
          enum:
          - search
        example: search
      - name: search.campaignGroup.values[0]
        in: query
        required: false
        schema:
          type: string
        example: urn:li:sponsoredCampaignGroup:111222333
      responses:
        '200':
          description: Successfully retrieved campaigns
          content:
            application/json:
              schema:
                type: object
                properties:
                  elements:
                    type: array
                    items:
                      $ref: '#/components/schemas/Campaign'
                  paging:
                    $ref: '#/components/schemas/Paging'
              examples:
                SuccessResponse:
                  value:
                    elements:
                    - id: 444555666
                      name: Spring Promotion Campaign
                      account: urn:li:sponsoredAccount:123456
                      campaignGroup: urn:li:sponsoredCampaignGroup:111222333
                      status: ACTIVE
                      type: SPONSORED_UPDATES
                      objectiveType: WEBSITE_VISITS
                    paging:
                      start: 0
                      count: 10
                      total: 1
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /adAccounts/{AdAccountsId}/adCampaigns/{CampaignId}:
    get:
      tags:
      - Campaign Management
      summary: LinkedIn Fetch Campaign by Id
      description: Retrieve a campaign by its ID.
      operationId: getCampaignById
      x-microcks-operation:
        dispatcher: FALLBACK
        dispatcherRules: ''
      parameters:
      - name: LinkedIn-Version
        in: header
        required: true
        schema:
          type: string
        example: '202401'
      - name: X-RestLi-Protocol-Version
        in: header
        required: true
        schema:
          type: string
        example: 2.0.0
      - name: AdAccountsId
        in: path
        required: true
        schema:
          type: string
        example: '123456'
      - name: CampaignId
        in: path
        required: true
        schema:
          type: string
        example: '444555666'
      responses:
        '200':
          description: Successfully retrieved campaign
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
              examples:
                SuccessResponse:
                  value:
                    id: 444555666
                    name: Spring Promotion Campaign
                    account: urn:li:sponsoredAccount:123456
                    campaignGroup: urn:li:sponsoredCampaignGroup:111222333
                    status: ACTIVE
                    type: SPONSORED_UPDATES
                    objectiveType: WEBSITE_VISITS
        '404':
          description: Campaign not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Campaign Management
      summary: LinkedIn Archive Campaign
      description: Update a campaign status to archived.
      operationId: archiveCampaign
      x-microcks-operation:
        dispatcher: FALLBACK
        dispatcherRules: ''
      parameters:
      - name: LinkedIn-Version
        in: header
        required: true
        schema:
          type: string
        example: '202401'
      - name: AdAccountsId
        in: path
        required: true
        schema:
          type: string
        example: '123456'
      - name: CampaignId
        in: path
        required: true
        schema:
          type: string
        example: '444555666'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignUpdateRequest'
            examples:
              ArchiveCampaign:
                $ref: '#/components/examples/CampaignArchiveExample'
      responses:
        '200':
          description: Campaign updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          example: 400
        message:
          type: string
          example: Invalid request parameters
        code:
          type: string
          example: INVALID_PARAMS
    CampaignUpdateRequest:
      type: object
      properties:
        patch:
          type: object
          properties:
            $set:
              type: object
              properties:
                status:
                  type: string
                  example: ARCHIVED
                runSchedule:
                  $ref: '#/components/schemas/RunSchedule'
    Campaign:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Unique identifier
          example: 444555666
        name:
          type: string
          description: Campaign name
          example: Spring Promotion Campaign
        account:
          type: string
          description: Parent account URN
          example: urn:li:sponsoredAccount:123456
        campaignGroup:
          type: string
          description: Parent campaign group URN
          example: urn:li:sponsoredCampaignGroup:111222333
        status:
          type: string
          enum:
          - ACTIVE
          - ARCHIVED
          - CANCELLED
          - DRAFT
          - PAUSED
          - PENDING_DELETION
          - REMOVED
          description: Campaign status
          example: ACTIVE
        type:
          type: string
          enum:
          - SPONSORED_UPDATES
          - SPONSORED_INMAILS
          - TEXT_AD
          description: Campaign type
          example: SPONSORED_UPDATES
        objectiveType:
          type: string
          enum:
          - BRAND_AWARENESS
          - ENGAGEMENT
          - JOB_APPLICANTS
          - LEAD_GENERATION
          - VIDEO_VIEWS
          - WEBSITE_CONVERSIONS
          - WEBSITE_VISITS
          description: Campaign objective
          example: WEBSITE_VISITS
        runSchedule:
          $ref: '#/components/schemas/RunSchedule'
        dailyBudget:
          $ref: '#/components/schemas/Budget'
        totalBudget:
          $ref: '#/components/schemas/Budget'
    Budget:
      type: object
      properties:
        amount:
          type: string
          description: Budget amount
          example: '1000'
        currencyCode:
          type: string
          description: Currency code
          example: USD
    Paging:
      type: object
      properties:
        start:
          type: integer
          example: 0
        count:
          type: integer
          example: 10
        total:
          type: integer
          example: 100
        links:
          type: array
          items:
            type: string
    RunSchedule:
      type: object
      properties:
        start:
          type: integer
          format: int64
          description: Start timestamp in milliseconds
          example: 1647927789001
        end:
          type: integer
          format: int64
          description: End timestamp in milliseconds
          example: 1648186989000
  examples:
    CampaignArchiveExample:
      summary: Archive a campaign
      value:
        patch:
          $set:
            status: ARCHIVED
  securitySchemes:
    OAuth2Auth:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://www.linkedin.com/oauth/v2/authorization
          tokenUrl: https://www.linkedin.com/oauth/v2/accessToken
          scopes:
            rw_ads: Read and write advertising data
            r_ads: Read advertising data