> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mavera.io/llms.txt
> Use this file to discover all available pages before exploring further.

# LinkedIn Marketing

> 4 production-ready jobs — sponsored content focus groups, lead gen persona enrichment, campaign analytics briefs, and ad copy generation with brand voice

LinkedIn Campaign Manager holds your highest-intent B2B signals — ad impressions by seniority, lead gen form fills with job titles, and creative performance by industry vertical. These four jobs pull that data through Mavera's surfaces (Focus Groups, Personas, Mave Agent, Generate) so every sponsored post, lead nurture, and content brief is grounded in real campaign intelligence.

***

## API Reference Card

| Detail          | Value                                                                                       |
| --------------- | ------------------------------------------------------------------------------------------- |
| **Base URL**    | `https://api.linkedin.com/rest/`                                                            |
| **Auth**        | OAuth 2.0 (3-legged) — `Authorization: Bearer {token}` + `LinkedIn-Version: 202401` header  |
| **Rate limits** | Daily, unpublished — varies by endpoint and app tier; throttled via `X-Li-Throttle` headers |
| **Mavera base** | `https://app.mavera.io/api/v1`                                                              |
| **Mavera auth** | `Authorization: Bearer mvra_live_...`                                                       |

<Info>
  All examples use two environment variables: `LINKEDIN_ACCESS_TOKEN` and `MAVERA_API_KEY`. LinkedIn tokens expire — use the refresh token flow for production jobs. Never commit tokens.
</Info>

***

## Prerequisites

<Steps>
  <Step title="LinkedIn Marketing API access">Create an app at [LinkedIn Developers](https://www.linkedin.com/developers/apps) with the **Advertising API** product. Request access to `r_ads`, `r_ads_reporting`, `r_ads_leadgen_automation`, and `r_organization_social` scopes.</Step>
  <Step title="3-legged OAuth token">Complete the [Authorization Code Flow](https://learn.microsoft.com/en-us/linkedin/shared/authentication/authorization-code-flow) to obtain an access token. Store the refresh token for automated renewal.</Step>
  <Step title="Mavera API key">Get your key from [Mavera dashboard](https://app.mavera.io/settings/api-keys).</Step>
  <Step title="Environment variables">`export LINKEDIN_ACCESS_TOKEN="AQV..."` and `export MAVERA_API_KEY="mvra_live_xxxxx"`</Step>
</Steps>

***

## Jobs

| # | Job                                                                                           | LinkedIn Data                                    | Mavera Surface                      | Output                                   |
| - | --------------------------------------------------------------------------------------------- | ------------------------------------------------ | ----------------------------------- | ---------------------------------------- |
| 1 | [Sponsored Content → Focus Group](/integrations/linkedin-marketing/sponsored-content-testing) | Creatives from ad accounts                       | Focus Groups + Personas             | B2B persona feedback on ad relevance     |
| 2 | [Lead Gen → Persona Enrichment](/integrations/linkedin-marketing/lead-gen-personas)           | Lead gen form responses                          | Persona Discovery + Custom Personas | Enriched personas by title/industry/size |
| 3 | [Campaign Analytics → Content Brief](/integrations/linkedin-marketing/campaign-content-brief) | Analytics pivoted by industry/function/seniority | Mave Agent + Generate               | Segment-specific content briefs          |
| 4 | [Ad Copy Generation](/integrations/linkedin-marketing/ad-copy-generation)                     | Existing ad copy + metrics                       | Generate + Brand Voice              | New ad copy with brand voice             |

***

## Rate Limits & Production Notes

| LinkedIn Endpoint     | Limit                     | Strategy                             |
| --------------------- | ------------------------- | ------------------------------------ |
| Creatives / Campaigns | Daily quota (unpublished) | Cache responses; batch requests      |
| Ad Analytics          | Daily quota               | Run overnight; store results locally |
| Lead Gen Forms        | Daily quota               | Paginate with `start`/`count`; cache |

<Warning>
  LinkedIn does **not** publish exact rate limits for Marketing API endpoints. Monitor `X-Li-Throttle-*` response headers and respect `Retry-After` on 429s. For production, implement exponential backoff starting at the `Retry-After` value.
</Warning>

**Checklist:** Secure tokens in env vars or secrets manager. Implement OAuth refresh token rotation — access tokens expire after 60 days. Include `LinkedIn-Version` header on every call. Monitor Mavera credits at [Dashboard](https://app.mavera.io/settings/usage). Cache LinkedIn data locally for daily jobs.

***

<CardGroup cols={3}>
  <Card title="All Integrations" icon="plug" href="/integrations" />

  <Card title="LinkedIn Marketing API" icon="linkedin" href="https://learn.microsoft.com/en-us/linkedin/marketing/" />

  <Card title="Personas" icon="user" href="/features/personas" />

  <Card title="Focus Groups" icon="users" href="/features/focus-groups" />

  <Card title="Brand Voice" icon="microphone" href="/features/brand-voice" />

  <Card title="Mave Agent" icon="brain" href="/features/mave-agent" />
</CardGroup>
