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/mcpdo { 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.
- 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 - 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 apprefresh_tokenRefresh token from the same sign-in; the access token is renewed from itclient_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 - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates 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-23
api.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
Creatives
104 read · 4 write · 2 destructive
Batch-create creatives · Get several creatives · Create a creative · Create a creative with inline content
Campaign groups
83 read · 3 write · 2 destructive
Batch-create campaign groups · Get several campaign groups · Create a campaign group · Search campaign groups
DMP segments
83 read · 3 write · 2 destructive
List matched audiences · Create a matched audience · Get a matched audience · Update a matched audience
Ad accounts
73 read · 3 write · 1 destructive
List ad accounts · Batch-create ad accounts · Create an ad account · Search ad accounts
Ad experiments
74 read · 2 write · 1 destructive
Get several A/B tests · Create an A/B test · Search A/B tests · Get an A/B test
Ad lift tests
74 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
Campaigns
73 read · 3 write · 1 destructive
Create a campaign · Get a campaign · Update a campaign · Delete a draft campaign
Posts
74 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.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
linkedin_marketing.dmp_segments.listList matched audiences | DMP segments of an ad account, paged automatically. | read | comm.audience_segment.list22 connectors |
linkedin_marketing.dmp_segments.createCreate a matched audience | Create a DMP segment (matched audience) to stream users or companies into. 201 with the id in x-restli-id. | write | comm.audience_segment.create16 connectors |
linkedin_marketing.events.list_by_organizerList an organization's events | Events organised by an organization, paged automatically. | read | comm.event.list61 connectors |
linkedin_marketing.events.createCreate an event | Create a LinkedIn event for an organization. 201 with the event id in x-restli-id. | write | comm.event.create52 connectors |
linkedin_marketing.campaigns.createCreate a campaign | Create a campaign in a campaign group. 201 with the id in x-restli-id and an empty body. | write | comm.campaign.create38 connectors |
linkedin_marketing.dmp_segments.deleteDelete a matched audience | Delete a DMP segment. | destructive | comm.audience_segment.delete15 connectors |
linkedin_marketing.campaigns.getGet a campaign | Fetch one campaign. | read | comm.campaign.get39 connectors |
linkedin_marketing.posts.createCreate a post | Publish an organic post, or create a dark post (adContext + feedDistribution NONE) to sponsor. 201 with the post URN in x-restli-id. | write | comm.social_post.create11 connectors |
linkedin_marketing.lead_forms.listList lead gen forms | Lead gen forms owned by an ad account or an organization (give exactly one). Page with start/count. | read | content.form.list36 connectors |
linkedin_marketing.posts.list_by_authorList posts by author | Posts of an organization or member, newest first, paged automatically. | read | comm.social_post.list9 connectors |
linkedin_marketing.lead_forms.createCreate a lead gen form | Create a lead gen form. 201 with the id in x-restli-id. | write | content.form.create26 connectors |
linkedin_marketing.lead_form_responses.listList leads | Lead form submissions owned by an ad account or an organization (give exactly one), optionally by form, associated entity and submission time. Page with… | read | content.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.
- Readread
List lead gen forms in LinkedIn Marketing API and tell me what stands out.
calls
linkedin_marketing.lead_forms.list - Writewrite
Create a matched audience in LinkedIn Marketing API. Show me exactly what you will send before you save it.
calls
linkedin_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 audience
linkedin_marketing.dmp_segments.delete - Delete a draft campaign
linkedin_marketing.campaigns.delete - Delete a post
linkedin_marketing.posts.delete - Delete a creative
linkedin_marketing.creatives.delete - Delete a draft ad account
linkedin_marketing.ad_accounts.delete - Delete a brand lift test
linkedin_marketing.ad_lift_tests.delete - Delete an A/B test
linkedin_marketing.ad_experiments.delete - Delete a draft campaign group
linkedin_marketing.campaign_groups.delete - Delete several creatives
linkedin_marketing.creatives.batch_delete - Remove an ad account user
linkedin_marketing.ad_account_users.delete - Delete an engagement rule
linkedin_marketing.engagement_rules.delete - Unlink a page set from an ad segment
linkedin_marketing.ad_segment_sources.delete - Delete several matched audiences
linkedin_marketing.dmp_segments.batch_delete - Delete a lead notification subscription
linkedin_marketing.lead_notifications.delete - Delete a saved audience template
linkedin_marketing.ad_target_templates.delete - Delete a lift test survey question
linkedin_marketing.ad_lift_test_surveys.delete - Detach a conversion rule from a campaign
linkedin_marketing.campaign_conversions.delete - Delete a predictive audience
linkedin_marketing.predictive_audiences.delete - Delete several draft campaign groups
linkedin_marketing.campaign_groups.batch_delete - Stop a member post boost
linkedin_marketing.member_boost.delete_campaign - Delete several engagement rules
linkedin_marketing.engagement_rules.batch_delete - Revoke Insight Tag access
linkedin_marketing.insight_tag_permissions.revoke - Delete an uploaded list
linkedin_marketing.dmp_segment_list_uploads.delete - Delete several saved audience templates
linkedin_marketing.ad_target_templates.batch_delete - Delete a third-party tracking tag
linkedin_marketing.third_party_tracking_tags.delete - Stop an organization post boost
linkedin_marketing.organization_boost.delete_campaign - Delete account UTM tracking parameters
linkedin_marketing.ad_tracking_parameters.delete_account - Delete campaign UTM tracking parameters
linkedin_marketing.ad_tracking_parameters.delete_campaign - Delete conversation messages
linkedin_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.
Delete a matched audience?
intent: the user asked me to delete a matched audience
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]" } ]}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
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 creativeswritelinkedin_marketing.creatives.batch_deleteDelete several creativesdestructivelinkedin_marketing.creatives.batch_getGet several creativesreadlinkedin_marketing.creatives.createCreate a creativewritelinkedin_marketing.creatives.create_inlineCreate a creative with inline contentwritelinkedin_marketing.creatives.deleteDelete a creativedestructivelinkedin_marketing.creatives.getGet a creativereadlinkedin_marketing.creatives.listList creativesreadlinkedin_marketing.creatives.searchSearch creativesreadlinkedin_marketing.creatives.updateUpdate a creativewrite
Campaign groups8
linkedin_marketing.campaign_groups.batch_createBatch-create campaign groupswritelinkedin_marketing.campaign_groups.batch_deleteDelete several draft campaign groupsdestructivelinkedin_marketing.campaign_groups.batch_getGet several campaign groupsreadlinkedin_marketing.campaign_groups.createCreate a campaign groupwritelinkedin_marketing.campaign_groups.deleteDelete a draft campaign groupdestructivelinkedin_marketing.campaign_groups.getGet a campaign groupreadlinkedin_marketing.campaign_groups.searchSearch campaign groupsreadlinkedin_marketing.campaign_groups.updateUpdate a campaign groupwrite
DMP segments8
linkedin_marketing.dmp_segments.batch_deleteDelete several matched audiencesdestructivelinkedin_marketing.dmp_segments.batch_getGet several matched audiencesreadlinkedin_marketing.dmp_segments.createCreate a matched audiencewritelinkedin_marketing.dmp_segments.deleteDelete a matched audiencedestructivelinkedin_marketing.dmp_segments.generate_upload_urlGet a list upload URLwritelinkedin_marketing.dmp_segments.getGet a matched audiencereadlinkedin_marketing.dmp_segments.listList matched audiencesreadlinkedin_marketing.dmp_segments.updateUpdate a matched audiencewrite
Ad accounts7
linkedin_marketing.ad_accounts.batch_createBatch-create ad accountswritelinkedin_marketing.ad_accounts.createCreate an ad accountwritelinkedin_marketing.ad_accounts.deleteDelete a draft ad accountdestructivelinkedin_marketing.ad_accounts.getGet an ad accountreadlinkedin_marketing.ad_accounts.listList ad accountsreadlinkedin_marketing.ad_accounts.searchSearch ad accountsreadlinkedin_marketing.ad_accounts.updateUpdate an ad accountwrite
Ad experiments7
linkedin_marketing.ad_experiments.batch_getGet several A/B testsreadlinkedin_marketing.ad_experiments.createCreate an A/B testwritelinkedin_marketing.ad_experiments.deleteDelete an A/B testdestructivelinkedin_marketing.ad_experiments.getGet an A/B testreadlinkedin_marketing.ad_experiments.searchSearch A/B testsreadlinkedin_marketing.ad_experiments.updateUpdate an A/B testwritelinkedin_marketing.ad_experiments.validateValidate an A/B test setupread
Ad lift tests7
linkedin_marketing.ad_lift_tests.createCreate a brand lift testwritelinkedin_marketing.ad_lift_tests.deleteDelete a brand lift testdestructivelinkedin_marketing.ad_lift_tests.getGet a brand lift testreadlinkedin_marketing.ad_lift_tests.required_budgetGet the budget a lift test needsreadlinkedin_marketing.ad_lift_tests.searchList brand lift testsreadlinkedin_marketing.ad_lift_tests.updateUpdate or activate a brand lift testwritelinkedin_marketing.ad_lift_tests.validateValidate a brand lift testread
Campaigns7
linkedin_marketing.campaigns.batch_createBatch-create campaignswritelinkedin_marketing.campaigns.batch_getGet several campaignsreadlinkedin_marketing.campaigns.createCreate a campaignwritelinkedin_marketing.campaigns.deleteDelete a draft campaigndestructivelinkedin_marketing.campaigns.getGet a campaignreadlinkedin_marketing.campaigns.searchSearch campaignsreadlinkedin_marketing.campaigns.updateUpdate a campaignwrite
Posts7
linkedin_marketing.posts.batch_getGet several postsreadlinkedin_marketing.posts.createCreate a postwritelinkedin_marketing.posts.deleteDelete a postdestructivelinkedin_marketing.posts.getGet a postreadlinkedin_marketing.posts.list_by_ad_accountList an ad account's dark postsreadlinkedin_marketing.posts.list_by_authorList posts by authorreadlinkedin_marketing.posts.updateUpdate a postwrite
Ad account users6
linkedin_marketing.ad_account_users.deleteRemove an ad account userdestructivelinkedin_marketing.ad_account_users.getGet an ad account userreadlinkedin_marketing.ad_account_users.listList an ad account's usersreadlinkedin_marketing.ad_account_users.list_mineList my ad account rolesreadlinkedin_marketing.ad_account_users.updateChange an ad account user's rolewritelinkedin_marketing.ad_account_users.upsertAdd or replace an ad account userwrite
Ad target templates6
linkedin_marketing.ad_target_templates.batch_deleteDelete several saved audience templatesdestructivelinkedin_marketing.ad_target_templates.createCreate a saved audience templatewritelinkedin_marketing.ad_target_templates.deleteDelete a saved audience templatedestructivelinkedin_marketing.ad_target_templates.getGet a saved audience templatereadlinkedin_marketing.ad_target_templates.listList saved audience templatesreadlinkedin_marketing.ad_target_templates.updateUpdate a saved audience templatewrite
Ad tracking parameters6
linkedin_marketing.ad_tracking_parameters.delete_accountDelete account UTM tracking parametersdestructivelinkedin_marketing.ad_tracking_parameters.delete_campaignDelete campaign UTM tracking parametersdestructivelinkedin_marketing.ad_tracking_parameters.get_accountGet account UTM tracking parametersreadlinkedin_marketing.ad_tracking_parameters.get_campaignGet campaign UTM tracking parametersreadlinkedin_marketing.ad_tracking_parameters.put_accountSet account UTM tracking parameterswritelinkedin_marketing.ad_tracking_parameters.put_campaignSet campaign UTM tracking parameterswrite
Videos6
linkedin_marketing.videos.batch_getGet several videosreadlinkedin_marketing.videos.finalize_uploadFinish a video uploadwritelinkedin_marketing.videos.getGet a videoreadlinkedin_marketing.videos.initialize_uploadStart a video uploadwritelinkedin_marketing.videos.list_by_accountList an ad account's videosreadlinkedin_marketing.videos.updateUpdate a video in the media librarywrite
Ad publisher restrictions5
linkedin_marketing.ad_publisher_restrictions.createCreate a publisher restrictionwritelinkedin_marketing.ad_publisher_restrictions.generate_download_urlGet a publisher list download URLreadlinkedin_marketing.ad_publisher_restrictions.generate_upload_urlGet a publisher list upload URLwritelinkedin_marketing.ad_publisher_restrictions.getGet a publisher restrictionreadlinkedin_marketing.ad_publisher_restrictions.listList publisher restrictionsread
Conversions5
linkedin_marketing.conversions.batch_getGet several conversion rulesreadlinkedin_marketing.conversions.createCreate a conversion rulewritelinkedin_marketing.conversions.getGet a conversion rulereadlinkedin_marketing.conversions.listList conversion rulesreadlinkedin_marketing.conversions.updateUpdate a conversion rulewrite
Engagement rules5
linkedin_marketing.engagement_rules.batch_deleteDelete several engagement rulesdestructivelinkedin_marketing.engagement_rules.createCreate an engagement rulewritelinkedin_marketing.engagement_rules.deleteDelete an engagement ruledestructivelinkedin_marketing.engagement_rules.getGet an engagement rulereadlinkedin_marketing.engagement_rules.listList engagement rulesread
Events5
linkedin_marketing.events.createCreate an eventwritelinkedin_marketing.events.getGet an eventreadlinkedin_marketing.events.list_by_organizerList an organization's eventsreadlinkedin_marketing.events.list_lead_gen_enabledList events with registration formsreadlinkedin_marketing.events.updateUpdate an eventwrite
Images5
linkedin_marketing.images.batch_getGet several imagesreadlinkedin_marketing.images.getGet an imagereadlinkedin_marketing.images.initialize_uploadStart an image uploadwritelinkedin_marketing.images.list_by_accountList an ad account's imagesreadlinkedin_marketing.images.updateUpdate an image in the media librarywrite
Inmail contents5
linkedin_marketing.inmail_contents.batch_getGet several message ad contentsreadlinkedin_marketing.inmail_contents.createCreate message ad contentwritelinkedin_marketing.inmail_contents.getGet message ad contentreadlinkedin_marketing.inmail_contents.send_testSend a test message adwritelinkedin_marketing.inmail_contents.updateUpdate message ad contentwrite
Lead forms5
linkedin_marketing.lead_forms.batch_getGet several lead gen formsreadlinkedin_marketing.lead_forms.createCreate a lead gen formwritelinkedin_marketing.lead_forms.getGet a lead gen formreadlinkedin_marketing.lead_forms.listList lead gen formsreadlinkedin_marketing.lead_forms.updateUpdate a lead gen formwrite
Member boost5
linkedin_marketing.member_boost.delete_campaignStop a member post boostdestructivelinkedin_marketing.member_boost.hydrateConfigure a member post boostwritelinkedin_marketing.member_boost.initStart a member post boostwritelinkedin_marketing.member_boost.postLaunch a member post boostwritelinkedin_marketing.member_boost.statusCheck member post boost eligibilityread
Organization boost5
linkedin_marketing.organization_boost.delete_campaignStop an organization post boostdestructivelinkedin_marketing.organization_boost.hydrateConfigure an organization post boostwritelinkedin_marketing.organization_boost.initStart an organization post boostwritelinkedin_marketing.organization_boost.postLaunch an organization post boostwritelinkedin_marketing.organization_boost.statusCheck organization post boost eligibilityread
Organizations5
linkedin_marketing.organizations.batch_getGet several organizationsreadlinkedin_marketing.organizations.find_by_vanity_nameFind an organization by vanity namereadlinkedin_marketing.organizations.getGet an organizationreadlinkedin_marketing.organizations.list_childrenList child organizationsreadlinkedin_marketing.organizations.lookupLook up public organization dataread
Predictive audiences5
linkedin_marketing.predictive_audiences.createCreate a predictive audiencewritelinkedin_marketing.predictive_audiences.deleteDelete a predictive audiencedestructivelinkedin_marketing.predictive_audiences.getGet a predictive audiencereadlinkedin_marketing.predictive_audiences.listList predictive audiencesreadlinkedin_marketing.predictive_audiences.updateUpdate a predictive audiencewrite
Sponsored message contents5
linkedin_marketing.sponsored_message_contents.batch_deleteDelete conversation messagesdestructivelinkedin_marketing.sponsored_message_contents.createCreate a conversation messagewritelinkedin_marketing.sponsored_message_contents.getGet a conversation messagereadlinkedin_marketing.sponsored_message_contents.listList conversation messagesreadlinkedin_marketing.sponsored_message_contents.updateUpdate a conversation messagewrite
Ad targeting entities4
linkedin_marketing.ad_targeting_entities.by_urnsResolve targeting URNsreadlinkedin_marketing.ad_targeting_entities.list_by_facetList a facet's targeting valuesreadlinkedin_marketing.ad_targeting_entities.similarFind similar targeting valuesreadlinkedin_marketing.ad_targeting_entities.typeaheadType-ahead targeting valuesread
Campaign conversions4
linkedin_marketing.campaign_conversions.associateAssociate a conversion rule with a campaignwritelinkedin_marketing.campaign_conversions.deleteDetach a conversion rule from a campaigndestructivelinkedin_marketing.campaign_conversions.getGet a campaign-conversion associationreadlinkedin_marketing.campaign_conversions.listList conversion rules of campaignsread
Conversation ads4
linkedin_marketing.conversation_ads.batch_getGet several sponsored conversationsreadlinkedin_marketing.conversation_ads.createCreate a sponsored conversationwritelinkedin_marketing.conversation_ads.getGet a sponsored conversationreadlinkedin_marketing.conversation_ads.updateUpdate a sponsored conversationwrite
DMP segment list uploads4
linkedin_marketing.dmp_segment_list_uploads.createAttach an uploaded listwritelinkedin_marketing.dmp_segment_list_uploads.deleteDelete an uploaded listdestructivelinkedin_marketing.dmp_segment_list_uploads.getGet an uploaded listreadlinkedin_marketing.dmp_segment_list_uploads.listList a segment's uploaded listsread
Insight tags4
linkedin_marketing.insight_tags.createCreate an Insight Tagwritelinkedin_marketing.insight_tags.getGet an Insight Tagreadlinkedin_marketing.insight_tags.listList Insight Tagsreadlinkedin_marketing.insight_tags.updateUpdate an Insight Tagwrite
Lead notifications4
linkedin_marketing.lead_notifications.createSubscribe to new leadswritelinkedin_marketing.lead_notifications.deleteDelete a lead notification subscriptiondestructivelinkedin_marketing.lead_notifications.getGet a lead notification subscriptionreadlinkedin_marketing.lead_notifications.listList lead notification subscriptionsread
Third party tracking tags4
linkedin_marketing.third_party_tracking_tags.createAdd a third-party tracking tagwritelinkedin_marketing.third_party_tracking_tags.deleteDelete a third-party tracking tagdestructivelinkedin_marketing.third_party_tracking_tags.getGet a third-party tracking tagreadlinkedin_marketing.third_party_tracking_tags.listList a creative's tracking tagsread
Ad analytics3
linkedin_marketing.ad_analytics.analyticsGet ad analyticsreadlinkedin_marketing.ad_analytics.attributed_revenueGet attributed revenue metricsreadlinkedin_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 questionswritelinkedin_marketing.ad_lift_test_surveys.deleteDelete a lift test survey questiondestructivelinkedin_marketing.ad_lift_test_surveys.listList lift test survey questionsread
Ad previews3
linkedin_marketing.ad_previews.getPreview a creativereadlinkedin_marketing.ad_previews.live_previewLive-preview a creativereadlinkedin_marketing.ad_previews.live_preview_inlineLive-preview an inline creativeread
DMP segment destinations3
linkedin_marketing.dmp_segment_destinations.createAdd a matched audience destinationwritelinkedin_marketing.dmp_segment_destinations.getGet a matched audience destinationreadlinkedin_marketing.dmp_segment_destinations.listList matched audience destinationsread
Documents3
linkedin_marketing.documents.batch_getGet several documentsreadlinkedin_marketing.documents.getGet a documentreadlinkedin_marketing.documents.initialize_uploadStart a document uploadwrite
Insight tag domains3
linkedin_marketing.insight_tag_domains.getGet an Insight Tag domainreadlinkedin_marketing.insight_tag_domains.listList Insight Tag domainsreadlinkedin_marketing.insight_tag_domains.updateUpdate an Insight Tag domainwrite
Insight tag permissions3
linkedin_marketing.insight_tag_permissions.grantShare an Insight Tagwritelinkedin_marketing.insight_tag_permissions.listList Insight Tag permissionsreadlinkedin_marketing.insight_tag_permissions.revokeRevoke Insight Tag accessdestructive
Media plans3
linkedin_marketing.media_plans.createCreate a media planwritelinkedin_marketing.media_plans.getGet a media planreadlinkedin_marketing.media_plans.listList media plansread
Organization acls3
linkedin_marketing.organization_acls.listList an organization's page rolesreadlinkedin_marketing.organization_acls.list_mineList my page rolesreadlinkedin_marketing.organization_acls.upsertGrant a page rolewrite
Ad account trust preferences2
linkedin_marketing.ad_account_trust_preferences.getGet brand-safety preferencesreadlinkedin_marketing.ad_account_trust_preferences.putSet brand-safety preferenceswrite
Ad experiment results2
linkedin_marketing.ad_experiment_results.getGet A/B test resultsreadlinkedin_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 segmentdestructivelinkedin_marketing.ad_segment_sources.putLink a page set to an ad segmentwrite
Ad segments2
linkedin_marketing.ad_segments.getGet an ad segmentreadlinkedin_marketing.ad_segments.updateUpdate an ad segmentwrite
Conversion events2
linkedin_marketing.conversion_events.batch_createSend conversion events in bulkwritelinkedin_marketing.conversion_events.createSend a conversion eventwrite
DMP segment companies2
linkedin_marketing.dmp_segment_companies.addAdd or remove a matched audience companywritelinkedin_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 userwritelinkedin_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 typereadlinkedin_marketing.engagement_source_types.listList engagement source typesread
Engagement triggers2
linkedin_marketing.engagement_triggers.getGet an engagement triggerreadlinkedin_marketing.engagement_triggers.listList engagement triggersread
Lead form responses2
linkedin_marketing.lead_form_responses.getGet a leadreadlinkedin_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.