curl --request GET \
--url https://openapi.enginy.ai/v1/social-selling/analytics/overview \
--header 'x-api-key: <api-key>'import requests
url = "https://openapi.enginy.ai/v1/social-selling/analytics/overview"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://openapi.enginy.ai/v1/social-selling/analytics/overview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://openapi.enginy.ai/v1/social-selling/analytics/overview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://openapi.enginy.ai/v1/social-selling/analytics/overview"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://openapi.enginy.ai/v1/social-selling/analytics/overview")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.enginy.ai/v1/social-selling/analytics/overview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "<string>",
"data": {
"dateFrom": "2026-09-19",
"dateTo": "2026-10-19",
"countedDays": 123,
"totals": {
"posts": 123,
"impressions": 123,
"reactions": 123,
"comments": 123,
"reached": 123,
"newReached": 123
},
"previousPeriod": {
"dateFrom": "<string>",
"dateTo": "<string>",
"totals": {
"posts": 123,
"impressions": 123,
"reactions": 123,
"comments": 123,
"reached": 123,
"newReached": 123
},
"fullyTracked": true
},
"changePct": {
"posts": 123,
"impressions": 123,
"reactions": 123,
"comments": 123,
"reached": 123,
"newReached": 123
},
"impressionsSource": "LINKEDIN_ANALYTICS",
"trackingStartedAt": "<string>",
"dataThrough": "<string>",
"computedAt": "<string>",
"series": [
{
"identityId": 123,
"label": "<string>",
"impressionsSource": "LINKEDIN_ANALYTICS",
"totals": {
"impressions": 123,
"reactions": 123,
"comments": 123,
"newReached": 123
}
}
],
"daily": [
{
"date": "<string>",
"posted": true,
"postsCount": 123,
"impressions": 123,
"reactions": 123,
"comments": 123,
"newReached": 123,
"trackingStatus": "NOT_TRACKED"
}
]
}
}Get Social Selling overview
Summarize LinkedIn performance of the caller’s Social Selling identities over a date range: posts published, impressions, reactions, comments, people reached and new people reached, compared with the previous period of the same length (previousPeriod, changePct), plus per-identity impressions, reactions, comments and new people reached (series; use list_social_selling_identity_performance for posts and people reached per identity). Requested identityIds the caller may not see or the workspace does not have are ignored. Same numbers as the Social Selling Overview page. Defaults to the last 30 days; only completed UTC days count (metrics are snapshotted daily at 03:00 UTC). Add includeDaily=true for one row per day. Read-only.
Required scope:
SOCIAL_SELLING_READRate limit: 100 requests per minute
curl --request GET \
--url https://openapi.enginy.ai/v1/social-selling/analytics/overview \
--header 'x-api-key: <api-key>'import requests
url = "https://openapi.enginy.ai/v1/social-selling/analytics/overview"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://openapi.enginy.ai/v1/social-selling/analytics/overview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://openapi.enginy.ai/v1/social-selling/analytics/overview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://openapi.enginy.ai/v1/social-selling/analytics/overview"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://openapi.enginy.ai/v1/social-selling/analytics/overview")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.enginy.ai/v1/social-selling/analytics/overview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "<string>",
"data": {
"dateFrom": "2026-09-19",
"dateTo": "2026-10-19",
"countedDays": 123,
"totals": {
"posts": 123,
"impressions": 123,
"reactions": 123,
"comments": 123,
"reached": 123,
"newReached": 123
},
"previousPeriod": {
"dateFrom": "<string>",
"dateTo": "<string>",
"totals": {
"posts": 123,
"impressions": 123,
"reactions": 123,
"comments": 123,
"reached": 123,
"newReached": 123
},
"fullyTracked": true
},
"changePct": {
"posts": 123,
"impressions": 123,
"reactions": 123,
"comments": 123,
"reached": 123,
"newReached": 123
},
"impressionsSource": "LINKEDIN_ANALYTICS",
"trackingStartedAt": "<string>",
"dataThrough": "<string>",
"computedAt": "<string>",
"series": [
{
"identityId": 123,
"label": "<string>",
"impressionsSource": "LINKEDIN_ANALYTICS",
"totals": {
"impressions": 123,
"reactions": 123,
"comments": 123,
"newReached": 123
}
}
],
"daily": [
{
"date": "<string>",
"posted": true,
"postsCount": 123,
"impressions": 123,
"reactions": 123,
"comments": 123,
"newReached": 123,
"trackingStatus": "NOT_TRACKED"
}
]
}
}Authorizations
Query Parameters
First day (UTC, inclusive). Defaults to 30 days before dateTo.
^\d{4}-\d{2}-\d{2}$"2026-09-01"
Last day (UTC, inclusive). Defaults to today. At most 366 days in total. Only completed days count: today (and yesterday before 03:00 UTC) has no metrics yet.
^\d{4}-\d{2}-\d{2}$"2026-09-01"
List of identity ids to include (REST also accepts a comma-separated value). Defaults to every identity the caller may see; ids outside that scope are ignored.
1"12,34"
Also return one row per day (daily). Off by default to keep the answer small.