Skip to main content
LinkedIn is the world’s largest professional networking platform, connecting professionals and businesses globally. The LinkedIn Community Management API provides access to organic page analytics, follower statistics, post performance, and audience demographics for your organization’s LinkedIn Page.
This connector extracts organic data from your LinkedIn Organization Page. For paid advertising data, see the LinkedIn Ads connector.

Configuring LinkedIn as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the LinkedIn option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

You’ll need to authorize Nekt to access your LinkedIn Organization data. Click on the LinkedIn Authorization button and log in with your LinkedIn account.
Make sure you’re logged in with a LinkedIn account that has Admin or Content Admin access to the Organization Page you want to extract data from.
Once you authorize your account, add the following information:
  • Organization ID: The LinkedIn organization ID you want to extract data from. This is the numeric ID that identifies your company page.
  • Start Date: The earliest date from which records will be synced. Note that LinkedIn only returns up to 1 year of historical data for daily reports.
You can find your Organization ID in several ways:
  1. From the Admin View URL:
    • Go to your LinkedIn Company Page
    • Click on “Admin tools” or access the admin view
    • Look at the URL - it will contain something like /company/12345678/admin/
    • The number (e.g., 12345678) is your Organization ID
  2. From the Page Source:
    • Visit your company page on LinkedIn
    • View the page source (right-click > View Page Source)
    • Search for “organizationId” or “companyId”
    • The associated number is your Organization ID
  3. From LinkedIn Campaign Manager:
    • If you have access to Campaign Manager, the Organization ID is visible in the account settings
Once you’re done, click Next.

2. Select streams

Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones. Available Streams:
  • Follower Statistics - Daily follower gains and demographics
  • Page Statistics - Page views and visitor analytics
  • Share Statistics - Aggregate engagement metrics
  • Organization Posts - All posts from your page
  • Post Statistics - Individual post performance
Tip: The stream can be found more easily by typing its name.
Select the streams and click Next.

3. Configure data streams

Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.
  • Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix and make this process faster!
  • Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
    • Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
    • Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
Once you are done configuring, click Next.

4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can determine when to execute a full sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while. Once you are ready, click Next to finalize the setup.

5. Check your new source

You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Below you’ll find all available data streams from LinkedIn and their corresponding fields:
Daily follower statistics for your organization, including follower gains and demographic breakdowns.Key Fields:
  • date - The date of the report
  • organizationalEntity - The organization URN
Time Range:
  • timeRange - Time range for the statistics
    • start - Start timestamp (epoch milliseconds)
    • end - End timestamp (epoch milliseconds)
Follower Gains (Daily):
  • followerGains - Daily follower changes
    • organicFollowerGain - New organic followers gained
    • paidFollowerGain - New paid followers gained (from ads)
Follower Demographics (Lifetime Breakdowns):
  • followerCountsByAssociationType - Followers by relationship (employee, etc.)
  • followerCountsByGeoCountry - Followers by country
  • followerCountsByFunction - Followers by job function
  • followerCountsByIndustry - Followers by industry
  • followerCountsByGeo - Followers by market area/region
  • followerCountsBySeniority - Followers by seniority level
  • followerCountsByStaffCountRange - Followers by company size
Each demographic breakdown contains:
  • organicFollowerCount - Count of organic followers
  • paidFollowerCount - Count of paid followers
Daily page view and click statistics for your organization’s LinkedIn page, with breakdowns by visitor demographics.Key Fields:
  • date - The date of the report
  • organization - The organization URN
Time Range:
  • timeRange - Time range for the statistics
    • start - Start timestamp (epoch milliseconds)
    • end - End timestamp (epoch milliseconds)
Total Page Statistics:
  • totalPageStatistics - Aggregate statistics
    • views - Page view metrics (see below)
    • clicks - Button click counts
      • desktopCustomButtonClickCounts - Desktop button clicks (buttonId, clicks)
      • mobileCustomButtonClickCounts - Mobile button clicks (buttonId, clicks)
Page Views (Available in all breakdowns):Each view metric contains pageViews (total) and uniquePageViews (unique visitors).Aggregate Views:
  • allPageViews - Total page views across all devices
  • allDesktopPageViews - All desktop page views
  • allMobilePageViews - All mobile page views
Overview Tab:
  • overviewPageViews - Overview/home tab views (all devices)
  • desktopOverviewPageViews - Desktop overview views
  • mobileOverviewPageViews - Mobile overview views
About Tab:
  • aboutPageViews - About tab views (all devices)
  • desktopAboutPageViews - Desktop about views
  • mobileAboutPageViews - Mobile about views
Jobs Tab:
  • jobsPageViews - Jobs tab views (all devices)
  • desktopJobsPageViews - Desktop jobs views
  • mobileJobsPageViews - Mobile jobs views
Careers/Life Tab:
  • careersPageViews - Careers tab views (all devices)
  • desktopCareersPageViews - Desktop careers views
  • mobileCareersPageViews - Mobile careers views
  • lifeAtPageViews - Life at [Company] views (all devices)
  • desktopLifeAtPageViews - Desktop life at views
  • mobileLifeAtPageViews - Mobile life at views
Products Tab:
  • productsPageViews - Products tab views (all devices)
  • desktopProductsPageViews - Desktop products views
  • mobileProductsPageViews - Mobile products views
People Tab:
  • peoplePageViews - People tab views (all devices)
  • desktopPeoplePageViews - Desktop people views
  • mobilePeoplePageViews - Mobile people views
Insights Tab:
  • insightsPageViews - Insights tab views (all devices)
  • desktopInsightsPageViews - Desktop insights views
  • mobileInsightsPageViews - Mobile insights views
Demographic Breakdowns:
  • pageStatisticsByGeoCountry - Views by country
  • pageStatisticsByFunction - Views by job function
  • pageStatisticsByIndustryV2 - Views by industry (v2)
  • pageStatisticsByGeo - Views by region/market area
  • pageStatisticsBySeniority - Views by seniority
  • pageStatisticsByStaffCountRange - Views by company size
  • pageStatisticsByTargetedContent - Views by targeted content
Daily aggregate share and engagement statistics for your organization’s content.Key Fields:
  • date - The date of the report
  • organizationalEntity - The organization URN
  • share - The share URN (blank for aggregate statistics)
  • ugcPost - The UGC post URN (blank for aggregate statistics)
Time Range:
  • timeRange - Time range for the statistics
    • start - Start timestamp (epoch milliseconds)
    • end - End timestamp (epoch milliseconds)
Total Share Statistics:
  • totalShareStatistics - Aggregate engagement metrics
    • clickCount - Number of clicks on content
    • commentCount - Number of comments
    • engagement - Engagement rate (decimal)
    • impressionCount - Total impressions
    • likeCount - Number of likes/reactions
    • shareCount - Number of reshares
    • uniqueImpressionsCount - Unique member impressions
All posts published by your organization on LinkedIn.Key Fields:
  • id - The post ID (URN)
  • author - The author URN (organization)
  • createdAt - Creation timestamp (epoch milliseconds)
  • publishedAt - Publication timestamp (epoch milliseconds)
  • lastModifiedAt - Last modification timestamp
  • lifecycleState - Post state (PUBLISHED, DRAFT, etc.)
Content:
  • commentary - The post text/caption
  • content - The attached content object
    • media - Image or video media
      • id - Media ID
      • title - Media title
      • altText - Alt text for accessibility
    • article - Link/article share
      • title - Article title
      • description - Article description
      • source - Source URL
      • thumbnail - Thumbnail image URL
      • thumbnailAltText - Thumbnail alt text
    • poll - Poll content
      • question - Poll question
      • options - Array of poll options
    • multiImage - Multiple images
      • images - Array of image objects (url, id, altText)
    • carousel - Carousel items
      • items - Array of items (url, title)
    • celebration - Celebration post
      • type - Celebration type
      • message - Celebration message
    • reference - Reference content (url, title)
Call to Action:
  • contentCallToActionLabel - CTA button label
  • contentLandingPage - CTA landing page URL
Visibility & Distribution:
  • visibility - Visibility setting (PUBLIC, CONNECTIONS, LOGGED_IN, CONTAINER)
  • distribution - Distribution settings
    • feedDistribution - Feed distribution type
    • targetEntities - Array of targeted audiences (entity, type)
    • thirdPartyDistributionChannels - External distribution channels
Ad Context (if promoted):
  • adContext - Ad information if post is sponsored
    • adId - Ad identifier
    • campaignId - Campaign identifier
    • isDsc - Whether it’s a Direct Sponsored Content
    • dscStatus - DSC status
    • dscName - DSC name
    • dscAdType - DSC ad type
    • dscAdAccount - DSC ad account
Reshare Context:
  • reshareContext - If this is a reshare
    • parent - Parent post URN
    • root - Root post URN
  • isReshareDisabledByAuthor - Whether resharing is disabled
Lifecycle Info:
  • lifecycleStateInfo - Additional state information
    • contentStatus - Content moderation status
    • isEditedByAuthor - Whether edited after publishing
    • reviewStatus - Review status
Individual post performance metrics. This stream is a child of Organization Posts, providing statistics for each post.Key Fields:
  • organizationalEntity - The organization URN
  • share - The share URN (for legacy shares)
  • ugcPost - The UGC post URN
Time Range:
  • timeRange - Time range for the statistics
    • start - Start timestamp (epoch milliseconds)
    • end - End timestamp (epoch milliseconds)
Total Share Statistics:
  • totalShareStatistics - Post performance metrics
    • clickCount - Number of clicks on the post
    • commentCount - Number of comments
    • engagement - Engagement rate (decimal)
    • impressionCount - Total impressions
    • likeCount - Number of likes/reactions
    • shareCount - Number of reshares
    • uniqueImpressionsCount - Unique member impressions

Data Model

The following diagram illustrates the relationships between the core data streams in LinkedIn. The arrows indicate the join keys that link the different entities.

Use Cases for Data Analysis

This guide outlines valuable business intelligence use cases when consolidating LinkedIn organic data, along with ready-to-use SQL queries that you can run on Explorer.

Content Performance Analysis

1. Post Engagement Overview

Track the performance of your LinkedIn posts to identify top-performing content. Business Value:
  • Identify which content types drive the most engagement
  • Understand optimal posting patterns
  • Inform content strategy with data-driven insights

SQL query

WITH post_metrics AS (
    SELECT
        p.id AS post_id,
        p.commentary AS post_text,
        FROM_UNIXTIME(p."publishedAt" / 1000) AS published_date,
        p."lifecycleState" AS status,
        CASE
            WHEN p.content.media IS NOT NULL THEN 'MEDIA'
            WHEN p.content.article IS NOT NULL THEN 'ARTICLE'
            WHEN p.content.poll IS NOT NULL THEN 'POLL'
            WHEN p.content."multiImage" IS NOT NULL THEN 'MULTI_IMAGE'
            WHEN p.content.carousel IS NOT NULL THEN 'CAROUSEL'
            ELSE 'TEXT_ONLY'
        END AS content_type,
        ps."totalShareStatistics"."impressionCount" AS impressions,
        ps."totalShareStatistics"."uniqueImpressionsCount" AS unique_impressions,
        ps."totalShareStatistics"."clickCount" AS clicks,
        ps."totalShareStatistics"."likeCount" AS likes,
        ps."totalShareStatistics"."commentCount" AS comments,
        ps."totalShareStatistics"."shareCount" AS shares,
        ps."totalShareStatistics".engagement AS engagement_rate
    FROM
        nekt_raw.linkedin_organization_posts p
        LEFT JOIN nekt_raw.linkedin_post_statistics ps 
            ON p.id = COALESCE(ps."ugcPost", ps.share)
    WHERE
        p."lifecycleState" = 'PUBLISHED'
)
SELECT
    post_id,
    SUBSTRING(post_text, 1, 100) AS post_preview,
    published_date,
    content_type,
    impressions,
    unique_impressions,
    clicks,
    likes,
    comments,
    shares,
    ROUND(engagement_rate * 100, 2) AS engagement_rate_pct,
    (likes + comments + shares) AS total_engagements
FROM
    post_metrics
ORDER BY
    total_engagements DESC
LIMIT 20
post_idpost_previewpublished_datecontent_typeimpressionsunique_impressionsclickslikescommentssharesengagement_rate_pcttotal_engagements
urn:li:share:123456We’re excited to announce our new product…2024-11-15 14:30:00MEDIA45,23038,4501,234892156784.821,126
urn:li:ugcPost:789012Join us for our upcoming webinar on…2024-11-12 09:00:00ARTICLE32,15028,32095654389453.21677
urn:li:share:345678Proud to share that our team has been…2024-11-10 16:45:00MULTI_IMAGE28,90024,6704456782341235.121,035

2. Follower Growth Analysis

Track your organization’s follower growth over time and understand the source of new followers. Business Value:
  • Monitor organic vs paid follower acquisition
  • Track growth trends over time
  • Measure the impact of content and campaigns on follower growth

SQL query

WITH daily_followers AS (
    SELECT
        DATE(date) AS report_date,
        "followerGains"."organicFollowerGain" AS organic_gained,
        "followerGains"."paidFollowerGain" AS paid_gained,
        ("followerGains"."organicFollowerGain" + "followerGains"."paidFollowerGain") AS total_gained
    FROM
        nekt_raw.linkedin_follower_statistics
    WHERE
        date >= CURRENT_DATE - INTERVAL '30' DAY
),
running_totals AS (
    SELECT
        report_date,
        organic_gained,
        paid_gained,
        total_gained,
        SUM(total_gained) OVER (ORDER BY report_date) AS cumulative_growth,
        AVG(total_gained) OVER (
            ORDER BY report_date 
            ROWS BETWEEN 6 PRECEDING AND CURRENT ROW
        ) AS seven_day_avg
    FROM
        daily_followers
)
SELECT
    report_date,
    organic_gained,
    paid_gained,
    total_gained,
    cumulative_growth,
    ROUND(seven_day_avg, 1) AS seven_day_moving_avg,
    ROUND(organic_gained * 100.0 / NULLIF(total_gained, 0), 1) AS organic_pct
FROM
    running_totals
ORDER BY
    report_date DESC
report_dateorganic_gainedpaid_gainedtotal_gainedcumulative_growthseven_day_moving_avgorganic_pct
2024-11-274512571,23448.378.9
2024-11-26388461,17746.782.6
2024-11-255215671,13145.177.6
2024-11-24285331,06443.984.8
2024-11-23317381,03144.281.6

3. Page Visitor Demographics

Analyze who is visiting your LinkedIn page to understand your audience. Business Value:
  • Understand your audience composition
  • Identify high-value visitor segments
  • Inform content targeting decisions

SQL query

WITH seniority_stats AS (
    SELECT
        s.seniority,
        SUM(s."pageStatistics".views."allPageViews"."pageViews") AS total_views,
        SUM(s."pageStatistics".views."allPageViews"."uniquePageViews") AS unique_views
    FROM
        nekt_raw.linkedin_page_statistics ps
        CROSS JOIN UNNEST(ps."pageStatisticsBySeniority") AS t(s)
    WHERE
        DATE(ps.date) >= CURRENT_DATE - INTERVAL '30' DAY
    GROUP BY
        s.seniority
),
total AS (
    SELECT SUM(total_views) AS grand_total FROM seniority_stats
)
SELECT
    seniority,
    total_views,
    unique_views,
    ROUND(total_views * 100.0 / grand_total, 1) AS pct_of_total
FROM
    seniority_stats, total
ORDER BY
    total_views DESC
senioritytotal_viewsunique_viewspct_of_total
urn:li:seniority:512,4509,23028.4
urn:li:seniority:69,8707,45622.5
urn:li:seniority:48,2346,12318.8
urn:li:seniority:36,5434,89014.9
urn:li:seniority:74,3213,2109.9

Implementation Notes

LinkedIn analytics data typically has a delay of 24-48 hours. The most recent data available may be from 1-2 days ago.
  • Daily reports: Updated once per day
  • Post statistics: Updated as engagement occurs, with some delay
  • Lifetime demographics: Represent current state, not historical
LinkedIn limits historical data access:
  • Daily statistics (Follower, Page, Share): Up to 1 year of historical data
  • Posts: All published posts are available
  • Post statistics: Available for all posts, but metrics are cumulative (not daily)
This connector requires the following LinkedIn permissions:
  • r_organization_social - Read organization posts and social data
  • Access to Community Management API
The LinkedIn account used for authorization must have Admin or Content Admin access to the organization page.
LinkedIn uses URNs (Uniform Resource Names) to identify entities:
  • Organizations: urn:li:organization:{id}
  • Posts: urn:li:share:{id} or urn:li:ugcPost:{id}
  • Seniority levels: urn:li:seniority:{id}
  • Industries: urn:li:industry:{id}
  • Functions: urn:li:function:{id}
  • Countries: urn:li:geo:{id} or urn:li:country:{code}
These URNs are used as identifiers and can be decoded to get the underlying IDs.
LinkedIn’s engagement field is calculated as:
engagement = (clicks + likes + comments + shares) / impressions
This is returned as a decimal (e.g., 0.0482 = 4.82%). Multiply by 100 to get the percentage.