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:
- Organization Lookup
- Follower Statistics
- Share Statistics
- Total Follower Count
- Follower Statistics Time Bound (Incremental)
- Share Statistics Time Bound (Incremental)
Data type mapping
Integration Type | Airbyte Type | Notes |
---|---|---|
number | number | float number |
integer | integer | whole number |
array | array | |
boolean | boolean | True/False |
string | string |
Features
Feature | Supported?(Yes/No) | Notes |
---|---|---|
Full Refresh Overwrite Sync | Yes | |
Full Refresh Append Sync | No | |
Incremental - Append Sync | Yes | |
Incremental - Append + Deduplication Sync | No | |
Namespaces | No |
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.
-
Log in to LinkedIn as the API user
-
Create an App here:
App Name
: airbyte-sourceCompany
: search and find your LinkedIn Company PagePrivacy policy URL
: link to company privacy policyBusiness email
: developer/admin email addressApp logo
: Airbyte's (or Company's) logo- Review/agree to legal terms and create app
- Review the Auth tab:
- Save your
client_id
andclient_secret
(for later steps) - Oauth 2.0 settings: Provide a
redirect_uri
(for later steps):https://airbyte.com
- Save your
-
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.
-
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)
-
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
-
Use the
client_id
,client_secret
andrefresh_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.
Changelog
Expand to review
Version | Date | Pull Request | Subject |
---|---|---|---|
1.1.2 | 2024-10-28 | 47455 | Update dependencies |
1.1.1 | 2024-08-16 | 44196 | Bump source-declarative-manifest version |
1.1.0 | 2024-08-15 | 44132 | Refactor connector to manifest-only format |
1.0.17 | 2024-08-10 | 43560 | Update dependencies |
1.0.16 | 2024-08-03 | 43281 | Update dependencies |
1.0.15 | 2024-07-27 | 42782 | Update dependencies |
1.0.14 | 2024-07-20 | 42218 | Update dependencies |
1.0.13 | 2024-07-13 | 41833 | Update dependencies |
1.0.12 | 2024-07-10 | 41407 | Update dependencies |
1.0.11 | 2024-07-09 | 41274 | Update dependencies |
1.0.10 | 2024-07-06 | 40828 | Update dependencies |
1.0.9 | 2024-06-25 | 40422 | Update dependencies |
1.0.8 | 2024-06-22 | 39975 | Update dependencies |
1.0.7 | 2024-06-13 | 36744 | Add time bound incremental streams for follower & share statistics. Migrate to Low Code |
1.0.6 | 2024-06-06 | 39171 | [autopull] Upgrade base image to v1.2.2 |
1.0.5 | 2024-06-03 | 38918 | Replace AirbyteLogger with logging.Logger |
1.0.4 | 2024-06-03 | 38918 | Replace AirbyteLogger with logging.Logger |
1.0.3 | 2024-05-21 | 38526 | [autopull] base image + poetry + up_to_date |
1.0.2 | 2023-05-30 | 24352 | Remove duplicate streams |
1.0.1 | 2023-03-22 | 24352 | Remove authSpecification as it's not yet supported |
1.0.0 | 2023-03-16 | 18967 | Fixed failing connection checks |
0.1.0 | 2022-08-11 | 13098 | Initial Release |