curl --request POST \
--url https://openapi.enginy.ai/v1/social-selling/engagers/export-preview \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"prospectIds": [
5101,
5102
],
"postId": 123,
"dateFrom": "2026-09-01",
"dateTo": "2026-09-01",
"identityIds": [
123
],
"interaction": "all",
"contacts": "all",
"scrapeFromLinkedIn": false
}
'import requests
url = "https://openapi.enginy.ai/v1/social-selling/engagers/export-preview"
payload = {
"prospectIds": [5101, 5102],
"postId": 123,
"dateFrom": "2026-09-01",
"dateTo": "2026-09-01",
"identityIds": [123],
"interaction": "all",
"contacts": "all",
"scrapeFromLinkedIn": False
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prospectIds: [5101, 5102],
postId: 123,
dateFrom: '2026-09-01',
dateTo: '2026-09-01',
identityIds: [123],
interaction: 'all',
contacts: 'all',
scrapeFromLinkedIn: false
})
};
fetch('https://openapi.enginy.ai/v1/social-selling/engagers/export-preview', 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/engagers/export-preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prospectIds' => [
5101,
5102
],
'postId' => 123,
'dateFrom' => '2026-09-01',
'dateTo' => '2026-09-01',
'identityIds' => [
123
],
'interaction' => 'all',
'contacts' => 'all',
'scrapeFromLinkedIn' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://openapi.enginy.ai/v1/social-selling/engagers/export-preview"
payload := strings.NewReader("{\n \"prospectIds\": [\n 5101,\n 5102\n ],\n \"postId\": 123,\n \"dateFrom\": \"2026-09-01\",\n \"dateTo\": \"2026-09-01\",\n \"identityIds\": [\n 123\n ],\n \"interaction\": \"all\",\n \"contacts\": \"all\",\n \"scrapeFromLinkedIn\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://openapi.enginy.ai/v1/social-selling/engagers/export-preview")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"prospectIds\": [\n 5101,\n 5102\n ],\n \"postId\": 123,\n \"dateFrom\": \"2026-09-01\",\n \"dateTo\": \"2026-09-01\",\n \"identityIds\": [\n 123\n ],\n \"interaction\": \"all\",\n \"contacts\": \"all\",\n \"scrapeFromLinkedIn\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.enginy.ai/v1/social-selling/engagers/export-preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prospectIds\": [\n 5101,\n 5102\n ],\n \"postId\": 123,\n \"dateFrom\": \"2026-09-01\",\n \"dateTo\": \"2026-09-01\",\n \"identityIds\": [\n 123\n ],\n \"interaction\": \"all\",\n \"contacts\": \"all\",\n \"scrapeFromLinkedIn\": false\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "<string>",
"data": {
"prospectCount": 123,
"scrapeFromLinkedIn": true,
"creditsPerContact": 123,
"estimatedCredits": 123,
"availableCredits": 123,
"wouldExceedBalance": true
}
}Preview Social Selling engager export
Preview exporting Social Selling engagers (people who reacted to or commented on the caller’s tracked LinkedIn posts) to a contacts list, without creating anything. Select engagers with prospectIds (from the engagers lists), with postId (a tracked post id, not publishingPostId), or with dateFrom/dateTo (UTC days of post publication) optionally narrowed by identityIds; then interaction (all, commented, reacted) and contacts (new = not yet in Enginy). The caller’s own identities and blocklisted people are never exported. Returns how many engagers the export would add (prospectCount), the LinkedIn enrichment price per contact, the credit estimate when scrapeFromLinkedIn is true (an upper bound), the credits available to the caller, and whether the export would be refused for lack of credits. One export takes at most 5000 engagers. Read-only: call it before the export to confirm the size and cost with the user.
Required scope:
SOCIAL_SELLING_READRate limit: 100 requests per minute
curl --request POST \
--url https://openapi.enginy.ai/v1/social-selling/engagers/export-preview \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"prospectIds": [
5101,
5102
],
"postId": 123,
"dateFrom": "2026-09-01",
"dateTo": "2026-09-01",
"identityIds": [
123
],
"interaction": "all",
"contacts": "all",
"scrapeFromLinkedIn": false
}
'import requests
url = "https://openapi.enginy.ai/v1/social-selling/engagers/export-preview"
payload = {
"prospectIds": [5101, 5102],
"postId": 123,
"dateFrom": "2026-09-01",
"dateTo": "2026-09-01",
"identityIds": [123],
"interaction": "all",
"contacts": "all",
"scrapeFromLinkedIn": False
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prospectIds: [5101, 5102],
postId: 123,
dateFrom: '2026-09-01',
dateTo: '2026-09-01',
identityIds: [123],
interaction: 'all',
contacts: 'all',
scrapeFromLinkedIn: false
})
};
fetch('https://openapi.enginy.ai/v1/social-selling/engagers/export-preview', 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/engagers/export-preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prospectIds' => [
5101,
5102
],
'postId' => 123,
'dateFrom' => '2026-09-01',
'dateTo' => '2026-09-01',
'identityIds' => [
123
],
'interaction' => 'all',
'contacts' => 'all',
'scrapeFromLinkedIn' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://openapi.enginy.ai/v1/social-selling/engagers/export-preview"
payload := strings.NewReader("{\n \"prospectIds\": [\n 5101,\n 5102\n ],\n \"postId\": 123,\n \"dateFrom\": \"2026-09-01\",\n \"dateTo\": \"2026-09-01\",\n \"identityIds\": [\n 123\n ],\n \"interaction\": \"all\",\n \"contacts\": \"all\",\n \"scrapeFromLinkedIn\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://openapi.enginy.ai/v1/social-selling/engagers/export-preview")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"prospectIds\": [\n 5101,\n 5102\n ],\n \"postId\": 123,\n \"dateFrom\": \"2026-09-01\",\n \"dateTo\": \"2026-09-01\",\n \"identityIds\": [\n 123\n ],\n \"interaction\": \"all\",\n \"contacts\": \"all\",\n \"scrapeFromLinkedIn\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.enginy.ai/v1/social-selling/engagers/export-preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prospectIds\": [\n 5101,\n 5102\n ],\n \"postId\": 123,\n \"dateFrom\": \"2026-09-01\",\n \"dateTo\": \"2026-09-01\",\n \"identityIds\": [\n 123\n ],\n \"interaction\": \"all\",\n \"contacts\": \"all\",\n \"scrapeFromLinkedIn\": false\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "<string>",
"data": {
"prospectCount": 123,
"scrapeFromLinkedIn": true,
"creditsPerContact": 123,
"estimatedCredits": 123,
"availableCredits": 123,
"wouldExceedBalance": true
}
}Authorizations
Body
Export exactly these engagers (prospectId from the engagers lists), 1–1000. Do not combine with postId, dateFrom/dateTo or identityIds.
1 - 1000 elements[5101, 5102]
Filter: every engager of this tracked post (id from the posts list, not publishingPostId). Wins over dateFrom/dateTo.
Filter: engagers of the posts published from this day (UTC, inclusive). Required with dateTo unless postId is set.
^\d{4}-\d{2}-\d{2}$"2026-09-01"
Filter: engagers of the posts published until this day (UTC, inclusive).
^\d{4}-\d{2}-\d{2}$"2026-09-01"
Filter: only engagers of these identities’ posts. Defaults to every identity the caller may see; ids outside that scope match nothing.
1 - 500 elementsWhich engagers: all, only those who commented, or only those who reacted.
all, commented, reacted new keeps only engagers that are not contacts in Enginy yet.
all, new Enrich every exported contact with LinkedIn profile data after the export. Costs creditsPerContact credits per enriched contact; off by default.