Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Warning
Deprecation Notice The Marketing Version 202411 (Marketing November 2024) has been sunset. We recommend that you migrate to the latest versioned APIs to avoid disruptions. See the Migration page for more details. If you haven’t yet migrated and have questions, submit a request on the LinkedIn Developer Support Portal.
The Company Intelligence API delivers company(target account)-level data for all companies engaged through LinkedIn. It provides metrics such as engagement score, paid impressions, paid clicks, leads, organic impressions, and organic engagements. Designed to support attribution tools, the API offers accurate company-level data. Use it to gain insights, improve targeting, and measure how companies across your ad accounts interact with your brand on LinkedIn effectively.
Prerequisites
- The developer application must be provisioned with the Company Intelligence API access.
- The developer application must be provisioned with the Advertising API access.
- The authenticated member must have a valid user role
VIEWERor above on the requested ad account for this API. - The authenticated member must have consented to the
r_ads_reportingpermission of the Advertising API product for your developer app. If the member has already consented through an existing integration (e.g., Ad Analytics API), you can use their existing member access token and do not need to require re-authentication.
Note
This is a private API that's available to qualified developers who meet additional criteria for access. If you wish to request access, please fill out this form.
Retrieve Company Intelligence
Use the Company Intelligence API to retrieve company-level paid and organic engagement for a Sponsored Account, using filter criteria.
Limits
- The maximum number of total results that can be returned is 100,000. You can page through the results using the
startandcountparameters. You can leverage thehrefreturned underlinkswithrel:nextin the response to make your next paginated request in a loop and exit when there are no elements in the responseelements:[]. - The maximum supported page size (i.e.,
countparameter) is 1,000. We recommend a smaller page size (count=500or lower) to prevent server timeout issues. - All impression, engagement, and click metrics must meet specific number thresholds to protect member privacy. If that threshold isn’t met, you’ll see a
0value for those metrics in the response.
- All results available are returned via the API with no upper limits. You can page through the results using the
startandcountparameters. You can leverage thehrefreturned underlinkswithrel:nextin the response to make your next paginated request in a loop and exit when there are no elements in the responseelements:[]. - The maximum supported page size (i.e.,
countparameter) is 1,000. We recommend a smaller page size (count=500or lower) to prevent server timeout issues. - All impression, engagement, and click metrics must meet specific number thresholds to protect member privacy. If that threshold isn’t met, you’ll see a
0value for those metrics in the response.
Sort Order
Elements in the response are sorted by paidImpressions in descending order.
Schema
Request Schema
| Field Name | Type | Description | Required |
|---|---|---|---|
| account | SponsoredAccountUrn | Ad Account URN of the advertiser requesting the account intelligence data. The format is urn:li:sponsoredAccount:1234. The authenticated user must have a valid role on this ad account. For more information, see Find Ad Accounts by Authenticated User API. |
Yes |
| filterCriteria | Array [Company Intelligence Filter Criteria] | Contains filters to apply to the request as described in Company Intelligence Filter Criteria. | Yes |
| Field Name | Type | Description | Required |
|---|---|---|---|
| account | SponsoredAccountUrn | Ad Account URN of the advertiser requesting the account intelligence data. The format is urn:li:sponsoredAccount:1234. The authenticated user must have a valid role on this ad account. For more information, see Find Ad Accounts by Authenticated User API. |
Yes |
| filterCriteria | Array [Company Intelligence Filter Criteria] | Contains filters to apply to the request as described in Company Intelligence Filter Criteria. | Yes |
| skipCompanyDecoration | boolean | Indicates whether to skip fetching companyName in response. If set to true the companyName is returned as an empty string reducing latency of the API. |
No (defaults to false) |
Company Intelligence Filter Criteria
| Field Name | Type | Description | Required |
|---|---|---|---|
| lookbackWindow | LAST_90_DAYS, LAST_60_DAYS, LAST_30_DAYS, LAST_7_DAYS | The inclusive lookback window in days to filter results. Engagement events are included only if they fall within this lookback range from the day the results are calculated. The lookback window starts approximately 2 days prior to the current date and extends backward 90, 60, 30, or 7 days. The range is rounded to the start of day (00:00 UTC) for the beginning and to the end of day (23:00 UTC) for the end. For example, for a LAST_7_DAYS request sent on 5/21, response data will be from 5/12 00:00 UTC to 5/19 23:00 UTC. If this field is not provided, a default lookback of 90 days is applied. |
No (defaults to last 90 days) |
| adSegments | Array[Ad Segment URN] | The collection of ad segment URNs to filter results. You can provide none, one, or multiple ad segments. Example: ["urn:li:adSegment:1234", "urn:li:adSegment:4567"]. For more information, see Find Ad Segments by Ad Account API. |
No (defaults to all ad segments) |
| campaign | Sponsored Campaign URN | You can provide none or one campaign URN to filter results. Multiple campaigns are not supported. Example: urn:li:sponsoredCampaign:1234. For more information, see Search for Campaigns API. Note: Organic metrics will be 0 when the campaign filter is used. |
No (defaults to all campaigns) |
Response Schema
| Field Name | Type | Description |
|---|---|---|
| companyName | string | Name of the engaged member’s company (target company). |
| companyPageUrl | string | URL of the target company's company page on linkedin.com (e.g., http://linkedin.com/company/linkedin). |
| companyWebsite | string | URL of the target company’s website domain (e.g., https://www.microsoft.com). |
| engagementLevel | string | The engagement level of the target company is calculated based on the number of paid and organic member engagements, normalized over the selected time range. The possible values are LOW, VERY_LOW, MEDIUM, HIGH, VERY_HIGH. |
| organicImpressions | long | Number of visits to the advertiser's LinkedIn company page, feed impressions, and product page impressions from members in the target company. |
| organicEngagements | long | Number of interactions with page posts and product pages on the advertiser's LinkedIn company page from members in the target company. |
| paidClicks | long | Number of clicks on sponsored ads and ads virally shared from the members of the target company. |
| paidEngagements | long | Sum of all social actions, clicks to ad landing page, and clicks to LinkedIn company page (chargeable and free). |
| paidLeads | long | Number of leads collected from the target company. |
| Field Name | Type | Description |
|---|---|---|
| companyName | string | Name of the engaged member’s company (target company). Returns empty string if skipCompanyDecoration is set to true. |
| companyPageUrl | string | URL of the target company's company page on linkedin.com (e.g., http://linkedin.com/company/linkedin). |
| companyWebsite | string | URL of the target company’s website domain (e.g., https://www.microsoft.com). |
| engagementLevel | string | The engagement level of the target company is calculated based on the number of paid and organic member engagements, normalized over the selected time range. The possible values are LOW, VERY_LOW, MEDIUM, HIGH, VERY_HIGH. |
| organicImpressions | long | Number of visits to the advertiser's LinkedIn company page, feed impressions, and product page impressions from members in the target company. |
| organicEngagements | long | Number of interactions with page posts and product pages on the advertiser's LinkedIn company page from members in the target company. |
| paidImpressions | long | Number of times sponsored ads were shown to members from the target company. |
| paidClicks | long | Number of clicks on sponsored ads and ads virally shared from the members of the target company. |
| paidEngagements | long | Sum of all social actions, clicks to ad landing page, and clicks to LinkedIn company page (chargeable and free). |
| paidLeads | long | Number of leads collected from the target company. |
Sample Requests
Lookback Window Filter
GET https://api.linkedin.com/rest/accountIntelligence?q=account&start=0&count=10&account=urn%3Ali%3AsponsoredAccount%3A123456789&filterCriteria=(lookbackWindow:LAST_7_DAYS)
Ad Segment Filter
GET https://api.linkedin.com/rest/accountIntelligence?q=account&start=0&count=10&account=urn%3Ali%3AsponsoredAccount%3A123456789&filterCriteria=(lookbackWindow:LAST_7_DAYS,adSegments:List(urn%3Ali%3AadSegment%3A1234,urn%3Ali%3AadSegment%3A5678))
Campaign Filter
GET https://api.linkedin.com/rest/accountIntelligence?q=account&start=0&count=10&account=urn%3Ali%3AsponsoredAccount%3A123456789&filterCriteria=(lookbackWindow:LAST_30_DAYS,campaign:urn%3Ali%3AsponsoredCampaign%3A12345678)
Sample Response
{
"elements": [
{
"companyPageUrl": "https://www.linkedin.com/company/microsoft",
"companyWebsite": "http://www.microsoft.com",
"paidClicks": 20,
"organicEngagements": 50,
"companyName": "Microsoft",
"paidLeads": 40,
"paidEngagements": 300,
"paidImpressions": 133,
"organicImpressions": 50,
"engagementLevel": "VERY_LOW"
}
// ...
],
"paging": {
"count": 10,
"start": 0,
"total": 30,
"links": [
{
"rel": "next",
"type": "application/json",
"href": "/rest/accountIntelligence?q=account&filterCriteria=(lookbackWindow:LAST_7_DAYS,adSegments:List())&start=10&count=10&account=urn%3Ali%3AsponsoredAccount%3A123456789"
}
]
}
}
API Error Details
| HTTP STATUS | ERROR MESSAGE | ERROR DESCRIPTION |
|---|---|---|
| 403 | ACCESS_DENIED: Not enough permissions to access /accountIntelligence API | Your developer application may not be provisioned with the Company Intelligence API product. |
| 403 | PERMISSION_DENIED: Access request for sponsored account denied for READ_SPONSORED_ACCOUNT permissions. | The authenticated member doesn't have the required user role on the sponsored ad account to view the data. |
| 403 | Ads reporting permission is required to fetch Company Intelligence data. | The authenticated member hasn’t granted access to r_ads_reporting permission to your developer app. |
| 400 | Row index {rowIndex} exceeds maximum limit of 100,000. | The maximum number of total results that can be returned is 100,000. You can page through the results using the start and count parameters. |
| HTTP STATUS | ERROR MESSAGE | ERROR DESCRIPTION |
|---|---|---|
| 403 | ACCESS_DENIED: Not enough permissions to access /accountIntelligence API | Your developer application may not be provisioned with the Company Intelligence API product. |
| 403 | PERMISSION_DENIED: Access request for sponsored account denied for READ_SPONSORED_ACCOUNT permissions. | The authenticated member doesn't have the required user role on the sponsored ad account to view the data. |
| 403 | Ads reporting permission is required to fetch Company Intelligence data. | The authenticated member hasn’t granted access to r_ads_reporting permission to your developer app. |
