What is the LinkedIn Ads API?
It is LinkedIn's Marketing API: versioned REST endpoints for ad accounts, campaign groups, campaigns, creatives and the adAnalytics reporting endpoint. Access needs a LinkedIn developer app approved for the Advertising API, OAuth tokens that you refresh, and a Linkedin-Version header on every call. LinkedIn's documentation lives on Microsoft Learn.
Official docs: LinkedIn Marketing API documentation.
How does the LinkedIn Ads reporting API work?
You call /rest/adAnalytics with a pivot, a date range, a time granularity and an explicit fields= list. Without fields=, it returns only impressions and clicks. Monetary values arrive as strings and timestamps as Unix epoch milliseconds, so parse both before doing arithmetic.
curl -H "Authorization: Bearer $TOKEN" \
-H "Linkedin-Version: 202603" \
-H "X-Restli-Protocol-Version: 2.0.0" \
"https://api.linkedin.com/rest/adAnalytics?q=analytics&pivot=CAMPAIGN&timeGranularity=MONTHLY&dateRange=(start:(year:2026,month:9,day:1),end:(year:2026,month:9,day:30))&accounts=List(urn%3Ali%3AsponsoredAccount%3A123456)&fields=impressions,clicks,landingPageClicks,costInLocalCurrency,oneClickLeads,oneClickLeadFormOpens,dateRange,pivotValues"
clicksis not traffic. It counts likes, comments, shares and profile clicks. UselandingPageClicksfor traffic; at the median account only about 1 in 7 clicks reaches your website.oneClickLeadFormOpensare not leads. OnlyoneClickLeadsare submissions.- Conversation ads are judged on opens, not clicks.
- Versioning: LinkedIn retires API versions on a schedule, so the header needs updating.
LinkedIn Ads API or an MCP server: which should you use?
Use the API if you are building your own pipeline or product and have an approved developer app. Use an MCP server such as Kiin if you want answers and changes inside Claude, ChatGPT or Copilot without building anything. Kiin handles auth, versions, field lists and the metric rules for you.
| Raw Marketing API | Kiin MCP server | |
|---|---|---|
| Access | Approved developer app | Sign in with LinkedIn |
| Auth and refresh | You build it | Handled |
| Version header | You maintain it | Handled |
fields= lists | You name every field | Handled |
| Traffic metric | Whatever you compute | Landing page CTR and cost per landing page click |
| Benchmarks | None | 1,000+ advertiser accounts |
| Writes | If your app has write access | Preview-then-confirm |
| Time to first answer | Weeks | Minutes |
If you still want a warehouse, how to get LinkedIn Ads data into PostgreSQL walks through the schema. LinkedIn also runs an undocumented MCP endpoint of its own; see does LinkedIn have an MCP server?
What can Kiin Intelligence do?
Kiin Intelligence registers 95 MCP tools. This is what they cover. Writes need Analyst access on that ad account (paid, or during the 14-day trial), and every write is logged.
| Area | What it covers | Example tools |
|---|---|---|
| Account reporting | Account snapshot, reporting overview, time series, campaign metrics and setup, budgets | get_account_snapshot, get_reporting_overview, get_time_series, get_campaign_budgets |
| Creatives | Creative-level performance, creative health and fatigue, top creatives | get_creative_health_report, get_top_creatives |
| Format reports | Thought leader ads by author and hook, conversation ads (opens, not clicks), lead gen forms (submissions, not opens), video | get_tla_report, get_conversation_ads_report, get_lead_gen_report, get_video_performance_report |
| Audience and waste | Demographics, demographic waste against your ICP, company engagement (which companies saw or engaged), reach and frequency, audience inventory, targeting search | get_demographic_waste, get_company_engagement, get_reach_report, search_targeting |
| Audits and recommendations | Account hygiene and full audit, prioritised recommendations, bid recommendations, Kiin Brain hard rules | run_audit, get_account_hygiene, get_recommendations, get_bid_recommendations, get_hard_rules |
| Benchmarks | Your numbers against the Kiin Labs panel: 1,000+ advertiser accounts, $65M+ of LinkedIn spend, no cohort under 10 advertisers | get_benchmarks, benchmark_me |
| Writes (preview-then-confirm) | Create, duplicate and update campaigns (budgets, bids, schedule, status, targeting, Audience Network and Audience Expansion switches); pause and reactivate; create and update campaign groups and creatives; create saved audiences. New campaigns are drafts. | create_campaign, duplicate_campaign, update_campaign, patch_campaign_targeting, pause_campaign, reactivate_campaign, create_campaign_group, update_campaign_group, create_creatives, update_creative, create_saved_audience |
| CRM and pipeline | HubSpot, Salesforce, Pipedrive and Attio. Influenced pipeline and revenue: deals at companies your ads reached or engaged before the deal | get_pipeline_report, get_deals, get_contacts |
| Memory and monitoring | Saved ICP and account strategy; scheduled monitoring with Slack alerts | get_icp, get_account_strategy, set_monitoring |
Building on the API and want a second opinion? Book a call →