Skip to main content

LinkedIn Pages

Sync overview

The LinkedIn Pages source only supports Full Refresh for now. Incremental Sync will be coming soon.

Airbyte uses LinkedIn Marketing Developer Platform - API to fetch data from LinkedIn Pages.

Output schema

This Source is capable of syncing the following data as streams:

Data type mapping

Integration TypeAirbyte TypeNotes
numbernumberfloat number
integerintegerwhole number
arrayarray
booleanbooleanTrue/False
stringstring

Features

FeatureSupported?(Yes/No)Notes
Full Refresh Overwrite SyncYes
Full Refresh Append SyncNo
Incremental - Append SyncYes
Incremental - Append + Deduplication SyncNo
NamespacesNo

Performance considerations

There are official Rate Limits for LinkedIn Pages API Usage, more information here. Rate limited requests will receive a 429 response. Rate limits specify the maximum number of API calls that can be made in a 24 hour period. These limits reset at midnight UTC every day. In rare cases, LinkedIn may also return a 429 response as part of infrastructure protection. API service will return to normal automatically. In such cases you will receive the next error message:

"Caught retryable error '<some_error> or null' after <some_number> tries. Waiting <some_number> seconds then retrying..."

This is expected when the connector hits the 429 - Rate Limit Exceeded HTTP Error. If the maximum of available API requests capacity is reached, you will have the following message:

"Max try rate limit exceeded..."

After 5 unsuccessful attempts - the connector will stop the sync operation. In such cases check your Rate Limits on this page > Choose your app > Analytics.

Getting started

The API user account should be assigned the following permissions for the API endpoints: Endpoints such as: Organization Lookup API, Follower Statistics, Share Statistics, Total Follower Count, Follower Statistics Time Bound, Share Statistics Time Bound require these permissions:

  • r_organization_social: Retrieve your organization's posts, comments, reactions, and other engagement data.
  • rw_organization_admin: Manage your organization's pages and retrieve reporting data.

The API user account should be assigned the ADMIN role.

Authentication

There are 2 authentication methods: Access Token or OAuth2.0. OAuth2.0 is recommended since it will continue streaming data for 12 months instead of 2 months with an access token.

Create the Refresh_Token or Access_Token:

The source LinkedIn Pages can use either the client_id, client_secret and refresh_token for OAuth2.0 authentication or simply use an access_token in the UI connector's settings to make API requests. Access tokens expire after 2 months from creation date (60 days) and require a user to manually authenticate again. Refresh tokens expire after 12 months from creation date (365 days). If you receive a 401 invalid token response, the error logs will state that your token has expired and to re-authenticate your connection to generate a new token. This is described more here.

  1. Log in to LinkedIn as the API user

  2. Create an App here:

    • App Name: airbyte-source
    • Company: search and find your LinkedIn Company Page
    • Privacy policy URL: link to company privacy policy
    • Business email: developer/admin email address
    • App logo: Airbyte's (or Company's) logo
    • Review/agree to legal terms and create app
    • Review the Auth tab:
      • Save your client_id and client_secret (for later steps)
      • Oauth 2.0 settings: Provide a redirect_uri (for later steps): https://airbyte.com
  3. Verify App:

    • In the Settings tab of your app dashboard, you'll see a Verify button. Click that button!
    • Generate and provide the verify URL to your Company's LinkedIn Admin to verify the app.
  4. Request API Access:

    • Navigate to the Products tab
    • Select the Advertising API and agree to the legal terms
    • After a few minutes, refresh the page to see a link to View access form in place of the Select button
    • Fill out the access form and access should be granted within 72 hours (usually quicker)
  5. Create A Refresh Token (or Access Token):

    • Navigate to the LinkedIn Developers' OAuth Token Tools and click Create token
    • Select your newly created app and check the boxes for the following scopes:
      • r_organization_social
      • rw_organization_admin
    • Click Request access token and once generated, save your Refresh token
  6. Use the client_id, client_secret and refresh_token from Steps 2 and 5 to autorize the LinkedIn Pages connector within the Airbyte UI.

    • As mentioned earlier, you can also simply use the Access token auth method for 60-day access.

IP allow list

If you use Airbyte Cloud and your organization restricts access to specific IPs, add the Airbyte Cloud IP addresses to your allow list.

Reference

Config fields reference

Field
Type
Property name
string
org_id
object
credentials
string
start_date
string
time_granularity_type

Changelog

Expand to review
VersionDatePull RequestSubject
1.1.252025-05-2460685Update dependencies
1.1.242025-05-1059786Update dependencies
1.1.232025-05-0358801Update dependencies
1.1.222025-04-1958174Update dependencies
1.1.212025-04-1257721Update dependencies
1.1.202025-04-0556679Update dependencies
1.1.192025-03-2256029Update dependencies
1.1.182025-03-1855816Bump LinkedIn API to 202503
1.1.172025-03-0855441Update dependencies
1.1.162025-03-0154775Update dependencies
1.1.152025-02-2254339Update dependencies
1.1.142025-02-1553859Update dependencies
1.1.132025-02-0853256Update dependencies
1.1.122025-02-0152767Update dependencies
1.1.112025-01-2552246Update dependencies
1.1.102025-01-1851798Update dependencies
1.1.92025-01-1151149Update dependencies
1.1.82024-12-2850645Update dependencies
1.1.72024-12-2150114Update dependencies
1.1.62024-12-1449593Update dependencies
1.1.52024-12-1249272Update dependencies
1.1.42024-12-1148924Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64
1.1.32024-10-2947749Update dependencies
1.1.22024-10-2847455Update dependencies
1.1.12024-08-1644196Bump source-declarative-manifest version
1.1.02024-08-1544132Refactor connector to manifest-only format
1.0.172024-08-1043560Update dependencies
1.0.162024-08-0343281Update dependencies
1.0.152024-07-2742782Update dependencies
1.0.142024-07-2042218Update dependencies
1.0.132024-07-1341833Update dependencies
1.0.122024-07-1041407Update dependencies
1.0.112024-07-0941274Update dependencies
1.0.102024-07-0640828Update dependencies
1.0.92024-06-2540422Update dependencies
1.0.82024-06-2239975Update dependencies
1.0.72024-06-1336744Add time bound incremental streams for follower & share statistics. Migrate to Low Code
1.0.62024-06-0639171[autopull] Upgrade base image to v1.2.2
1.0.52024-06-0338918Replace AirbyteLogger with logging.Logger
1.0.42024-06-0338918Replace AirbyteLogger with logging.Logger
1.0.32024-05-2138526[autopull] base image + poetry + up_to_date
1.0.22023-05-3024352Remove duplicate streams
1.0.12023-03-2224352Remove authSpecification as it's not yet supported
1.0.02023-03-1618967Fixed failing connection checks
0.1.02022-08-1113098Initial Release