Skip to content

Connectors · Marketing & media

LinkedIn Marketing API MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to LinkedIn Marketing API and the rest of your systems. It gives your agent 235 LinkedIn Marketing API actions (126 reads, 80 writes and 29 that wait for a confirmation) and holds the LinkedIn Marketing API credential itself, so the agent never does. It paces LinkedIn Marketing API's limits and records every call. Connecting LinkedIn Marketing API needs your own LinkedIn Marketing API OAuth app and one admin sign-in.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "linkedin_marketing.lead_forms.list",  intent: "check which LinkedIn Marketing API account is connected"}# List lead gen forms · read · 1 upstream call
  • 235actionsin one signed file
  • 126readlook, never change
  • 80writecreate and update
  • 29wait for a yesdestructive, confirmed first

Set up

Connect LinkedIn Marketing API in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect LinkedIn Marketing API.

    OAuth 2.0, authorization code. You register your own OAuth app with LinkedIn Marketing API, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.

    Before the first sign-in, LinkedIn Marketing API needs an OAuth app of your own, registered in its developer portal. actionlake has no LinkedIn Marketing API app to lend you.

    • access_tokenAccess token from one sign-in with your own OAuth app
    • refresh_tokenRefresh token from the same sign-in; the access token is renewed from it
    • client_idClient ID of your LinkedIn developer app (linkedin.com/developers > My apps > Auth) with the Advertising API product…
    • client_secretPrimary Client Secret of the same LinkedIn app (Auth tab)
    • linkedin_versionYour LinkedIn Marketing API linkedin version
    account { op: "connections.requirements", service: "linkedin_marketing" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "linkedin_marketing.lead_forms.list" }# list lead gen forms · read · 1 upstream callcheck { action: "linkedin_marketing.dmp_segments.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

LinkedIn Marketing API at a glance

Sign-in
OAuth 2.0, authorization code. You register your own OAuth app with LinkedIn Marketing API, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
You provide
access_tokenrefresh_tokenclient_idclient_secret
Setup fields
linkedin_version
Limits we pace to
100 calls per 10 seconds, per connection
API covered
LinkedIn Marketing versioned REST API (LinkedIn-Version 202610 by default), docs fetched 2026-10-23api.linkedin.com
Built from
LinkedIn Marketing API's documentation, read 23 October 2026learn.microsoft.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
126 of 126 reads, for up to 5 minutes; a write clears what it affects
Shared entities
2, so ask can line LinkedIn Marketing API up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in LinkedIn Marketing API.

235 actions in 65 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 126readlook, never change
  • 80writecreate and update
  • 29destructivewait for a confirmation
  1. Creatives

    10

    4 read · 4 write · 2 destructive

    Batch-create creatives · Get several creatives · Create a creative · Create a creative with inline content

  2. Campaign groups

    8

    3 read · 3 write · 2 destructive

    Batch-create campaign groups · Get several campaign groups · Create a campaign group · Search campaign groups

  3. DMP segments

    8

    3 read · 3 write · 2 destructive

    List matched audiences · Create a matched audience · Get a matched audience · Update a matched audience

  4. Ad accounts

    7

    3 read · 3 write · 1 destructive

    List ad accounts · Batch-create ad accounts · Create an ad account · Search ad accounts

  5. Ad experiments

    7

    4 read · 2 write · 1 destructive

    Get several A/B tests · Create an A/B test · Search A/B tests · Get an A/B test

  6. Ad lift tests

    7

    4 read · 2 write · 1 destructive

    Create a brand lift test · List brand lift tests · Get a brand lift test · Get the budget a lift test needs

  7. Campaigns

    7

    3 read · 3 write · 1 destructive

    Create a campaign · Get a campaign · Update a campaign · Delete a draft campaign

  8. Posts

    7

    4 read · 2 write · 1 destructive

    Create a post · List posts by author · Update a post · Get a post

57 more areas · 174 actions
  • Ad account users 6
  • Ad target templates 6
  • Ad tracking parameters 6
  • Videos 6
  • Ad publisher restrictions 5
  • Conversions 5
  • Engagement rules 5
  • Events 5
  • Images 5
  • Inmail contents 5
  • Lead forms 5
  • Member boost 5
  • Organization boost 5
  • Organizations 5
  • Predictive audiences 5
  • Sponsored message contents 5
  • Ad targeting entities 4
  • Campaign conversions 4
  • Conversation ads 4
  • DMP segment list uploads 4
  • Insight tags 4
  • Lead notifications 4
  • Third party tracking tags 4
  • Ad analytics 3
  • Ad lift test surveys 3
  • Ad previews 3
  • DMP segment destinations 3
  • Documents 3
  • Insight tag domains 3
  • Insight tag permissions 3
  • Media plans 3
  • Organization acls 3
  • Ad account trust preferences 2
  • Ad experiment results 2
  • Ad segment sources 2
  • Ad segments 2
  • Conversion events 2
  • DMP segment companies 2
  • DMP segment users 2
  • Engagement source types 2
  • Engagement triggers 2
  • Lead form responses 2
  • Account intelligence 1
  • Ad budget pricing 1
  • Ad lift test benchmark 1
  • Ad lift test results 1
  • Ad page sets 1
  • Ad supply forecasts 1
  • Ad targeting facets 1
  • Audience counts 1
  • Audience insights 1
  • Boost analytics 1
  • Geo 1
  • Global publisher list 1
  • Media planning 1
  • Network sizes 1
  • Share authorizations 1

Top actions

The LinkedIn Marketing API API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 25 of LinkedIn Marketing API's 28 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
linkedin_marketing.dmp_segments.listList matched audiencesDMP segments of an ad account, paged automatically.readcomm.audience_segment.list22 connectors
linkedin_marketing.dmp_segments.createCreate a matched audienceCreate a DMP segment (matched audience) to stream users or companies into. 201 with the id in x-restli-id.writecomm.audience_segment.create16 connectors
linkedin_marketing.events.list_by_organizerList an organization's eventsEvents organised by an organization, paged automatically.readcomm.event.list61 connectors
linkedin_marketing.events.createCreate an eventCreate a LinkedIn event for an organization. 201 with the event id in x-restli-id.writecomm.event.create52 connectors
linkedin_marketing.campaigns.createCreate a campaignCreate a campaign in a campaign group. 201 with the id in x-restli-id and an empty body.writecomm.campaign.create38 connectors
linkedin_marketing.dmp_segments.deleteDelete a matched audienceDelete a DMP segment.destructivecomm.audience_segment.delete15 connectors
linkedin_marketing.campaigns.getGet a campaignFetch one campaign.readcomm.campaign.get39 connectors
linkedin_marketing.posts.createCreate a postPublish an organic post, or create a dark post (adContext + feedDistribution NONE) to sponsor. 201 with the post URN in x-restli-id.writecomm.social_post.create11 connectors
linkedin_marketing.lead_forms.listList lead gen formsLead gen forms owned by an ad account or an organization (give exactly one). Page with start/count.readcontent.form.list36 connectors
linkedin_marketing.posts.list_by_authorList posts by authorPosts of an organization or member, newest first, paged automatically.readcomm.social_post.list9 connectors
linkedin_marketing.lead_forms.createCreate a lead gen formCreate a lead gen form. 201 with the id in x-restli-id.writecontent.form.create26 connectors
linkedin_marketing.lead_form_responses.listList leadsLead form submissions owned by an ad account or an organization (give exactly one), optionally by form, associated entity and submission time. Page with…readcontent.form_response.list20 connectors

Try it

Prompts to paste into Claude.

Each one names the LinkedIn Marketing API actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    List lead gen forms in LinkedIn Marketing API and tell me what stands out.

    callslinkedin_marketing.lead_forms.list

  2. Writewrite

    Create a matched audience in LinkedIn Marketing API. Show me exactly what you will send before you save it.

    callslinkedin_marketing.dmp_segments.create

Governance for LinkedIn Marketing API

Destructive actions wait for a yes.

29 LinkedIn Marketing API actions are destructive. These are all of them:

  • Delete a matched audiencelinkedin_marketing.dmp_segments.delete
  • Delete a draft campaignlinkedin_marketing.campaigns.delete
  • Delete a postlinkedin_marketing.posts.delete
  • Delete a creativelinkedin_marketing.creatives.delete
  • Delete a draft ad accountlinkedin_marketing.ad_accounts.delete
  • Delete a brand lift testlinkedin_marketing.ad_lift_tests.delete
  • Delete an A/B testlinkedin_marketing.ad_experiments.delete
  • Delete a draft campaign grouplinkedin_marketing.campaign_groups.delete
  • Delete several creativeslinkedin_marketing.creatives.batch_delete
  • Remove an ad account userlinkedin_marketing.ad_account_users.delete
  • Delete an engagement rulelinkedin_marketing.engagement_rules.delete
  • Unlink a page set from an ad segmentlinkedin_marketing.ad_segment_sources.delete
  • Delete several matched audienceslinkedin_marketing.dmp_segments.batch_delete
  • Delete a lead notification subscriptionlinkedin_marketing.lead_notifications.delete
  • Delete a saved audience templatelinkedin_marketing.ad_target_templates.delete
  • Delete a lift test survey questionlinkedin_marketing.ad_lift_test_surveys.delete
  • Detach a conversion rule from a campaignlinkedin_marketing.campaign_conversions.delete
  • Delete a predictive audiencelinkedin_marketing.predictive_audiences.delete
  • Delete several draft campaign groupslinkedin_marketing.campaign_groups.batch_delete
  • Stop a member post boostlinkedin_marketing.member_boost.delete_campaign
  • Delete several engagement ruleslinkedin_marketing.engagement_rules.batch_delete
  • Revoke Insight Tag accesslinkedin_marketing.insight_tag_permissions.revoke
  • Delete an uploaded listlinkedin_marketing.dmp_segment_list_uploads.delete
  • Delete several saved audience templateslinkedin_marketing.ad_target_templates.batch_delete
  • Delete a third-party tracking taglinkedin_marketing.third_party_tracking_tags.delete
  • Stop an organization post boostlinkedin_marketing.organization_boost.delete_campaign
  • Delete account UTM tracking parameterslinkedin_marketing.ad_tracking_parameters.delete_account
  • Delete campaign UTM tracking parameterslinkedin_marketing.ad_tracking_parameters.delete_campaign
  • Delete conversation messageslinkedin_marketing.sponsored_message_contents.batch_delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dolinkedin_marketing.dmp_segments.deleteconfirm_policy: human

Delete a matched audience?

intent: the user asked me to delete a matched audience

run suspended · waiting for a named person · key linkedin-marketing-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "linkedin-marketing-agent",  allowed_actions: ["linkedin_marketing.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "linkedin_marketing.dmp_segments.delete", approver: "[email protected]" },    { match: "linkedin_marketing.campaigns.delete", approver: "[email protected]" },    { match: "linkedin_marketing.posts.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to LinkedIn Marketing API only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What LinkedIn Marketing API costs on actionlake.

Every LinkedIn Marketing API action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call LinkedIn Marketing API refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 235 LinkedIn Marketing API actions
  • 235actions pageeach page of a long list is one call
  • 126reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every LinkedIn Marketing API action.

235 actions by area: the id your agent calls, what it does, and its effect.

Creatives10
  • linkedin_marketing.creatives.batch_createBatch-create creativeswrite
  • linkedin_marketing.creatives.batch_deleteDelete several creativesdestructive
  • linkedin_marketing.creatives.batch_getGet several creativesread
  • linkedin_marketing.creatives.createCreate a creativewrite
  • linkedin_marketing.creatives.create_inlineCreate a creative with inline contentwrite
  • linkedin_marketing.creatives.deleteDelete a creativedestructive
  • linkedin_marketing.creatives.getGet a creativeread
  • linkedin_marketing.creatives.listList creativesread
  • linkedin_marketing.creatives.searchSearch creativesread
  • linkedin_marketing.creatives.updateUpdate a creativewrite
Campaign groups8
  • linkedin_marketing.campaign_groups.batch_createBatch-create campaign groupswrite
  • linkedin_marketing.campaign_groups.batch_deleteDelete several draft campaign groupsdestructive
  • linkedin_marketing.campaign_groups.batch_getGet several campaign groupsread
  • linkedin_marketing.campaign_groups.createCreate a campaign groupwrite
  • linkedin_marketing.campaign_groups.deleteDelete a draft campaign groupdestructive
  • linkedin_marketing.campaign_groups.getGet a campaign groupread
  • linkedin_marketing.campaign_groups.searchSearch campaign groupsread
  • linkedin_marketing.campaign_groups.updateUpdate a campaign groupwrite
DMP segments8
  • linkedin_marketing.dmp_segments.batch_deleteDelete several matched audiencesdestructive
  • linkedin_marketing.dmp_segments.batch_getGet several matched audiencesread
  • linkedin_marketing.dmp_segments.createCreate a matched audiencewrite
  • linkedin_marketing.dmp_segments.deleteDelete a matched audiencedestructive
  • linkedin_marketing.dmp_segments.generate_upload_urlGet a list upload URLwrite
  • linkedin_marketing.dmp_segments.getGet a matched audienceread
  • linkedin_marketing.dmp_segments.listList matched audiencesread
  • linkedin_marketing.dmp_segments.updateUpdate a matched audiencewrite
Ad accounts7
  • linkedin_marketing.ad_accounts.batch_createBatch-create ad accountswrite
  • linkedin_marketing.ad_accounts.createCreate an ad accountwrite
  • linkedin_marketing.ad_accounts.deleteDelete a draft ad accountdestructive
  • linkedin_marketing.ad_accounts.getGet an ad accountread
  • linkedin_marketing.ad_accounts.listList ad accountsread
  • linkedin_marketing.ad_accounts.searchSearch ad accountsread
  • linkedin_marketing.ad_accounts.updateUpdate an ad accountwrite
Ad experiments7
  • linkedin_marketing.ad_experiments.batch_getGet several A/B testsread
  • linkedin_marketing.ad_experiments.createCreate an A/B testwrite
  • linkedin_marketing.ad_experiments.deleteDelete an A/B testdestructive
  • linkedin_marketing.ad_experiments.getGet an A/B testread
  • linkedin_marketing.ad_experiments.searchSearch A/B testsread
  • linkedin_marketing.ad_experiments.updateUpdate an A/B testwrite
  • linkedin_marketing.ad_experiments.validateValidate an A/B test setupread
Ad lift tests7
  • linkedin_marketing.ad_lift_tests.createCreate a brand lift testwrite
  • linkedin_marketing.ad_lift_tests.deleteDelete a brand lift testdestructive
  • linkedin_marketing.ad_lift_tests.getGet a brand lift testread
  • linkedin_marketing.ad_lift_tests.required_budgetGet the budget a lift test needsread
  • linkedin_marketing.ad_lift_tests.searchList brand lift testsread
  • linkedin_marketing.ad_lift_tests.updateUpdate or activate a brand lift testwrite
  • linkedin_marketing.ad_lift_tests.validateValidate a brand lift testread
Campaigns7
  • linkedin_marketing.campaigns.batch_createBatch-create campaignswrite
  • linkedin_marketing.campaigns.batch_getGet several campaignsread
  • linkedin_marketing.campaigns.createCreate a campaignwrite
  • linkedin_marketing.campaigns.deleteDelete a draft campaigndestructive
  • linkedin_marketing.campaigns.getGet a campaignread
  • linkedin_marketing.campaigns.searchSearch campaignsread
  • linkedin_marketing.campaigns.updateUpdate a campaignwrite
Posts7
  • linkedin_marketing.posts.batch_getGet several postsread
  • linkedin_marketing.posts.createCreate a postwrite
  • linkedin_marketing.posts.deleteDelete a postdestructive
  • linkedin_marketing.posts.getGet a postread
  • linkedin_marketing.posts.list_by_ad_accountList an ad account's dark postsread
  • linkedin_marketing.posts.list_by_authorList posts by authorread
  • linkedin_marketing.posts.updateUpdate a postwrite
Ad account users6
  • linkedin_marketing.ad_account_users.deleteRemove an ad account userdestructive
  • linkedin_marketing.ad_account_users.getGet an ad account userread
  • linkedin_marketing.ad_account_users.listList an ad account's usersread
  • linkedin_marketing.ad_account_users.list_mineList my ad account rolesread
  • linkedin_marketing.ad_account_users.updateChange an ad account user's rolewrite
  • linkedin_marketing.ad_account_users.upsertAdd or replace an ad account userwrite
Ad target templates6
  • linkedin_marketing.ad_target_templates.batch_deleteDelete several saved audience templatesdestructive
  • linkedin_marketing.ad_target_templates.createCreate a saved audience templatewrite
  • linkedin_marketing.ad_target_templates.deleteDelete a saved audience templatedestructive
  • linkedin_marketing.ad_target_templates.getGet a saved audience templateread
  • linkedin_marketing.ad_target_templates.listList saved audience templatesread
  • linkedin_marketing.ad_target_templates.updateUpdate a saved audience templatewrite
Ad tracking parameters6
  • linkedin_marketing.ad_tracking_parameters.delete_accountDelete account UTM tracking parametersdestructive
  • linkedin_marketing.ad_tracking_parameters.delete_campaignDelete campaign UTM tracking parametersdestructive
  • linkedin_marketing.ad_tracking_parameters.get_accountGet account UTM tracking parametersread
  • linkedin_marketing.ad_tracking_parameters.get_campaignGet campaign UTM tracking parametersread
  • linkedin_marketing.ad_tracking_parameters.put_accountSet account UTM tracking parameterswrite
  • linkedin_marketing.ad_tracking_parameters.put_campaignSet campaign UTM tracking parameterswrite
Videos6
  • linkedin_marketing.videos.batch_getGet several videosread
  • linkedin_marketing.videos.finalize_uploadFinish a video uploadwrite
  • linkedin_marketing.videos.getGet a videoread
  • linkedin_marketing.videos.initialize_uploadStart a video uploadwrite
  • linkedin_marketing.videos.list_by_accountList an ad account's videosread
  • linkedin_marketing.videos.updateUpdate a video in the media librarywrite
Ad publisher restrictions5
  • linkedin_marketing.ad_publisher_restrictions.createCreate a publisher restrictionwrite
  • linkedin_marketing.ad_publisher_restrictions.generate_download_urlGet a publisher list download URLread
  • linkedin_marketing.ad_publisher_restrictions.generate_upload_urlGet a publisher list upload URLwrite
  • linkedin_marketing.ad_publisher_restrictions.getGet a publisher restrictionread
  • linkedin_marketing.ad_publisher_restrictions.listList publisher restrictionsread
Conversions5
  • linkedin_marketing.conversions.batch_getGet several conversion rulesread
  • linkedin_marketing.conversions.createCreate a conversion rulewrite
  • linkedin_marketing.conversions.getGet a conversion ruleread
  • linkedin_marketing.conversions.listList conversion rulesread
  • linkedin_marketing.conversions.updateUpdate a conversion rulewrite
Engagement rules5
  • linkedin_marketing.engagement_rules.batch_deleteDelete several engagement rulesdestructive
  • linkedin_marketing.engagement_rules.createCreate an engagement rulewrite
  • linkedin_marketing.engagement_rules.deleteDelete an engagement ruledestructive
  • linkedin_marketing.engagement_rules.getGet an engagement ruleread
  • linkedin_marketing.engagement_rules.listList engagement rulesread
Events5
  • linkedin_marketing.events.createCreate an eventwrite
  • linkedin_marketing.events.getGet an eventread
  • linkedin_marketing.events.list_by_organizerList an organization's eventsread
  • linkedin_marketing.events.list_lead_gen_enabledList events with registration formsread
  • linkedin_marketing.events.updateUpdate an eventwrite
Images5
  • linkedin_marketing.images.batch_getGet several imagesread
  • linkedin_marketing.images.getGet an imageread
  • linkedin_marketing.images.initialize_uploadStart an image uploadwrite
  • linkedin_marketing.images.list_by_accountList an ad account's imagesread
  • linkedin_marketing.images.updateUpdate an image in the media librarywrite
Inmail contents5
  • linkedin_marketing.inmail_contents.batch_getGet several message ad contentsread
  • linkedin_marketing.inmail_contents.createCreate message ad contentwrite
  • linkedin_marketing.inmail_contents.getGet message ad contentread
  • linkedin_marketing.inmail_contents.send_testSend a test message adwrite
  • linkedin_marketing.inmail_contents.updateUpdate message ad contentwrite
Lead forms5
  • linkedin_marketing.lead_forms.batch_getGet several lead gen formsread
  • linkedin_marketing.lead_forms.createCreate a lead gen formwrite
  • linkedin_marketing.lead_forms.getGet a lead gen formread
  • linkedin_marketing.lead_forms.listList lead gen formsread
  • linkedin_marketing.lead_forms.updateUpdate a lead gen formwrite
Member boost5
  • linkedin_marketing.member_boost.delete_campaignStop a member post boostdestructive
  • linkedin_marketing.member_boost.hydrateConfigure a member post boostwrite
  • linkedin_marketing.member_boost.initStart a member post boostwrite
  • linkedin_marketing.member_boost.postLaunch a member post boostwrite
  • linkedin_marketing.member_boost.statusCheck member post boost eligibilityread
Organization boost5
  • linkedin_marketing.organization_boost.delete_campaignStop an organization post boostdestructive
  • linkedin_marketing.organization_boost.hydrateConfigure an organization post boostwrite
  • linkedin_marketing.organization_boost.initStart an organization post boostwrite
  • linkedin_marketing.organization_boost.postLaunch an organization post boostwrite
  • linkedin_marketing.organization_boost.statusCheck organization post boost eligibilityread
Organizations5
  • linkedin_marketing.organizations.batch_getGet several organizationsread
  • linkedin_marketing.organizations.find_by_vanity_nameFind an organization by vanity nameread
  • linkedin_marketing.organizations.getGet an organizationread
  • linkedin_marketing.organizations.list_childrenList child organizationsread
  • linkedin_marketing.organizations.lookupLook up public organization dataread
Predictive audiences5
  • linkedin_marketing.predictive_audiences.createCreate a predictive audiencewrite
  • linkedin_marketing.predictive_audiences.deleteDelete a predictive audiencedestructive
  • linkedin_marketing.predictive_audiences.getGet a predictive audienceread
  • linkedin_marketing.predictive_audiences.listList predictive audiencesread
  • linkedin_marketing.predictive_audiences.updateUpdate a predictive audiencewrite
Sponsored message contents5
  • linkedin_marketing.sponsored_message_contents.batch_deleteDelete conversation messagesdestructive
  • linkedin_marketing.sponsored_message_contents.createCreate a conversation messagewrite
  • linkedin_marketing.sponsored_message_contents.getGet a conversation messageread
  • linkedin_marketing.sponsored_message_contents.listList conversation messagesread
  • linkedin_marketing.sponsored_message_contents.updateUpdate a conversation messagewrite
Ad targeting entities4
  • linkedin_marketing.ad_targeting_entities.by_urnsResolve targeting URNsread
  • linkedin_marketing.ad_targeting_entities.list_by_facetList a facet's targeting valuesread
  • linkedin_marketing.ad_targeting_entities.similarFind similar targeting valuesread
  • linkedin_marketing.ad_targeting_entities.typeaheadType-ahead targeting valuesread
Campaign conversions4
  • linkedin_marketing.campaign_conversions.associateAssociate a conversion rule with a campaignwrite
  • linkedin_marketing.campaign_conversions.deleteDetach a conversion rule from a campaigndestructive
  • linkedin_marketing.campaign_conversions.getGet a campaign-conversion associationread
  • linkedin_marketing.campaign_conversions.listList conversion rules of campaignsread
Conversation ads4
  • linkedin_marketing.conversation_ads.batch_getGet several sponsored conversationsread
  • linkedin_marketing.conversation_ads.createCreate a sponsored conversationwrite
  • linkedin_marketing.conversation_ads.getGet a sponsored conversationread
  • linkedin_marketing.conversation_ads.updateUpdate a sponsored conversationwrite
DMP segment list uploads4
  • linkedin_marketing.dmp_segment_list_uploads.createAttach an uploaded listwrite
  • linkedin_marketing.dmp_segment_list_uploads.deleteDelete an uploaded listdestructive
  • linkedin_marketing.dmp_segment_list_uploads.getGet an uploaded listread
  • linkedin_marketing.dmp_segment_list_uploads.listList a segment's uploaded listsread
Insight tags4
  • linkedin_marketing.insight_tags.createCreate an Insight Tagwrite
  • linkedin_marketing.insight_tags.getGet an Insight Tagread
  • linkedin_marketing.insight_tags.listList Insight Tagsread
  • linkedin_marketing.insight_tags.updateUpdate an Insight Tagwrite
Lead notifications4
  • linkedin_marketing.lead_notifications.createSubscribe to new leadswrite
  • linkedin_marketing.lead_notifications.deleteDelete a lead notification subscriptiondestructive
  • linkedin_marketing.lead_notifications.getGet a lead notification subscriptionread
  • linkedin_marketing.lead_notifications.listList lead notification subscriptionsread
Third party tracking tags4
  • linkedin_marketing.third_party_tracking_tags.createAdd a third-party tracking tagwrite
  • linkedin_marketing.third_party_tracking_tags.deleteDelete a third-party tracking tagdestructive
  • linkedin_marketing.third_party_tracking_tags.getGet a third-party tracking tagread
  • linkedin_marketing.third_party_tracking_tags.listList a creative's tracking tagsread
Ad analytics3
  • linkedin_marketing.ad_analytics.analyticsGet ad analyticsread
  • linkedin_marketing.ad_analytics.attributed_revenueGet attributed revenue metricsread
  • linkedin_marketing.ad_analytics.statisticsGet ad statistics by up to three pivotsread
Ad lift test surveys3
  • linkedin_marketing.ad_lift_test_surveys.createAdd lift test survey questionswrite
  • linkedin_marketing.ad_lift_test_surveys.deleteDelete a lift test survey questiondestructive
  • linkedin_marketing.ad_lift_test_surveys.listList lift test survey questionsread
Ad previews3
  • linkedin_marketing.ad_previews.getPreview a creativeread
  • linkedin_marketing.ad_previews.live_previewLive-preview a creativeread
  • linkedin_marketing.ad_previews.live_preview_inlineLive-preview an inline creativeread
DMP segment destinations3
  • linkedin_marketing.dmp_segment_destinations.createAdd a matched audience destinationwrite
  • linkedin_marketing.dmp_segment_destinations.getGet a matched audience destinationread
  • linkedin_marketing.dmp_segment_destinations.listList matched audience destinationsread
Documents3
  • linkedin_marketing.documents.batch_getGet several documentsread
  • linkedin_marketing.documents.getGet a documentread
  • linkedin_marketing.documents.initialize_uploadStart a document uploadwrite
Insight tag domains3
  • linkedin_marketing.insight_tag_domains.getGet an Insight Tag domainread
  • linkedin_marketing.insight_tag_domains.listList Insight Tag domainsread
  • linkedin_marketing.insight_tag_domains.updateUpdate an Insight Tag domainwrite
Insight tag permissions3
  • linkedin_marketing.insight_tag_permissions.grantShare an Insight Tagwrite
  • linkedin_marketing.insight_tag_permissions.listList Insight Tag permissionsread
  • linkedin_marketing.insight_tag_permissions.revokeRevoke Insight Tag accessdestructive
Media plans3
  • linkedin_marketing.media_plans.createCreate a media planwrite
  • linkedin_marketing.media_plans.getGet a media planread
  • linkedin_marketing.media_plans.listList media plansread
Organization acls3
  • linkedin_marketing.organization_acls.listList an organization's page rolesread
  • linkedin_marketing.organization_acls.list_mineList my page rolesread
  • linkedin_marketing.organization_acls.upsertGrant a page rolewrite
Ad account trust preferences2
  • linkedin_marketing.ad_account_trust_preferences.getGet brand-safety preferencesread
  • linkedin_marketing.ad_account_trust_preferences.putSet brand-safety preferenceswrite
Ad experiment results2
  • linkedin_marketing.ad_experiment_results.getGet A/B test resultsread
  • linkedin_marketing.ad_experiment_results.searchGet results of several A/B testsread
Ad segment sources2
  • linkedin_marketing.ad_segment_sources.deleteUnlink a page set from an ad segmentdestructive
  • linkedin_marketing.ad_segment_sources.putLink a page set to an ad segmentwrite
Ad segments2
  • linkedin_marketing.ad_segments.getGet an ad segmentread
  • linkedin_marketing.ad_segments.updateUpdate an ad segmentwrite
Conversion events2
  • linkedin_marketing.conversion_events.batch_createSend conversion events in bulkwrite
  • linkedin_marketing.conversion_events.createSend a conversion eventwrite
DMP segment companies2
  • linkedin_marketing.dmp_segment_companies.addAdd or remove a matched audience companywrite
  • linkedin_marketing.dmp_segment_companies.batch_addAdd or remove matched audience companies in bulkwrite
DMP segment users2
  • linkedin_marketing.dmp_segment_users.addAdd or remove a matched audience userwrite
  • linkedin_marketing.dmp_segment_users.batch_addAdd or remove matched audience users in bulkwrite
Engagement source types2
  • linkedin_marketing.engagement_source_types.getGet an engagement source typeread
  • linkedin_marketing.engagement_source_types.listList engagement source typesread
Engagement triggers2
  • linkedin_marketing.engagement_triggers.getGet an engagement triggerread
  • linkedin_marketing.engagement_triggers.listList engagement triggersread
Lead form responses2
  • linkedin_marketing.lead_form_responses.getGet a leadread
  • linkedin_marketing.lead_form_responses.listList leadsread
Account intelligence1
  • linkedin_marketing.account_intelligence.listGet company engagement intelligenceread
Ad budget pricing1
  • linkedin_marketing.ad_budget_pricing.getGet bid and budget suggestionsread
Ad lift test benchmark1
  • linkedin_marketing.ad_lift_test_benchmark.getGet brand lift benchmarksread
Ad lift test results1
  • linkedin_marketing.ad_lift_test_results.getGet brand lift test resultsread
Ad page sets1
  • linkedin_marketing.ad_page_sets.createCreate a website retargeting page setwrite
Ad supply forecasts1
  • linkedin_marketing.ad_supply_forecasts.getForecast ad supplyread
Ad targeting facets1
  • linkedin_marketing.ad_targeting_facets.listList targeting facetsread
Audience counts1
  • linkedin_marketing.audience_counts.getCount a targeting audienceread
Audience insights1
  • linkedin_marketing.audience_insights.getGet audience insightsread
Boost analytics1
  • linkedin_marketing.boost_analytics.getGet boost analyticsread
Geo1
  • linkedin_marketing.geo.getGet a geo nameread
Global publisher list1
  • linkedin_marketing.global_publisher_list.get_download_urlGet the global publisher listread
Media planning1
  • linkedin_marketing.media_planning.forecast_reachesForecast reach for a media planread
Network sizes1
  • linkedin_marketing.network_sizes.getGet an organization's follower countread
Share authorizations1
  • linkedin_marketing.share_authorizations.getCheck permission to create a dark postread

Questions

The LinkedIn Marketing API MCP server, answered.

Is there a LinkedIn Marketing API MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 235 LinkedIn Marketing API actions across creatives, campaign groups, DMP segments and ad accounts, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by LinkedIn Marketing API.

What do I need to connect LinkedIn Marketing API?

Your own LinkedIn Marketing API OAuth app, registered with LinkedIn Marketing API (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no LinkedIn Marketing API app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. Plus your linkedin version. The free call account { op: "connections.requirements", service: "linkedin_marketing" } lists exactly what to paste.

Can an AI agent delete or change things in LinkedIn Marketing API?

Only if its key allows it, and only with an explicit confirmation. 29 LinkedIn Marketing API actions are destructive, including delete a matched audience, delete a draft campaign and delete a post. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my LinkedIn Marketing API API limit?

actionlake paces every call to the limits in the LinkedIn Marketing API service file: 100 calls per 10 seconds per connection. Repeated reads are answered from cache (126 LinkedIn Marketing API actions can be), which never reaches LinkedIn Marketing API.

What does a LinkedIn Marketing API action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (235 LinkedIn Marketing API actions page). Cache hits, searches, dry runs and calls LinkedIn Marketing API refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which LinkedIn Marketing API API does it cover?

The LinkedIn Marketing versioned REST API (LinkedIn-Version 202610 by default), docs fetched 2026-10-23 at api.linkedin.com. It is built from LinkedIn Marketing API's documentation as read on 23 October 2026. 235 actions in 65 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my LinkedIn Marketing API data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your LinkedIn Marketing API credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent LinkedIn Marketing API today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.