Skip to main content

Engagers API

The Engagers API provides unified access to post interactions (comments, reactions) and deduplicated contact information from both signals and workbooks.

Authentication Required

All API requests require authentication. See API Overview for details.

Signal Engagers

Retrieve paginated engagers (commenters and reactors) for a signal. Only available for user_profile and company_profile signal types.

GET /api/engagers/signal/{signal_id}

Path Parameters

ParameterTypeDescription
signal_idstringThe signal ID to retrieve engagers for

Query Parameters

ParameterTypeDefaultDescription
workspace_idstring(required)Workspace ID that owns this signal
pageinteger1Page number (1-indexed)
page_sizeinteger100Items per page (1-500)
snapshot_timestringcurrent timeISO 8601 snapshot timestamp for consistent pagination
engagement_typestring(all)Filter by type: COMMENT or REACTION

Response

{
"items": [
{
"engagement_type": "COMMENT",
"urn": "urn:li:comment:(activity:123,456)",
"post_url": "https://www.social.com/feed/update/urn:li:activity:123",
"author": {
"name": "Jane Smith",
"first_name": "Jane",
"last_name": "Smith",
"urn": "urn:li:member:789",
"username": "janesmith",
"profile_url": "https://social.com/in/janesmith",
"profile_image_url": "https://...",
"description": "VP Engineering at TechCo",
"profile_type": "user",
"summary": "Building great teams...",
"company_name": "TechCo",
"company_website": "techco.com",
"title": "VP Engineering",
"company_icon_url": "https://...",
"loc_country": "United States",
"loc_region": "NA",
"loc_code": "US",
"loc_city": "San Francisco",
"loc_state": "California",
"company_size": "L",
"company_industry": "TECH_INFO_MEDIA",
"company_hq_loc_country": "United States",
"company_hq_loc_code": "US",
"authority": "L",
"function": "ENG"
},
"content": "Great insight! Thanks for sharing.",
"comment_meta": {
"is_reply": false,
"replies": 2,
"is_pinned": false,
"is_edited": false
},
"reaction_type": null,
"engaged_at": "2024-01-15T10:45:00Z"
},
{
"engagement_type": "REACTION",
"urn": "urn:li:like:(member:101,activity:123)",
"post_url": "https://www.social.com/feed/update/urn:li:activity:123",
"author": {
"name": "Bob Johnson",
"first_name": "Bob",
"last_name": "Johnson",
"urn": "urn:li:member:101",
"username": "bobjohnson",
"profile_url": "https://social.com/in/bobjohnson",
"profile_image_url": "https://...",
"description": "Sales Director",
"profile_type": "user",
"summary": null,
"company_name": "Acme Corp",
"company_website": "acme.com",
"title": "Sales Director",
"company_icon_url": null,
"loc_country": "United Kingdom",
"loc_region": "EU",
"loc_code": "GB",
"loc_city": "London",
"loc_state": null,
"company_size": "M",
"company_industry": "PROFESSIONAL_SERVICES",
"company_hq_loc_country": null,
"company_hq_loc_code": null,
"authority": "M",
"function": "SAL"
},
"content": null,
"comment_meta": null,
"reaction_type": "LIKE",
"engaged_at": "2024-01-15T10:30:00Z"
}
],
"total": 150,
"page": 1,
"page_size": 100,
"pages": 2,
"snapshot_time": "2024-01-15T12:00:00.000000+00:00"
}

Response Fields

Engager Item

FieldTypeDescription
engagement_typestringCOMMENT or REACTION
urnstringEngagement URN (dedup key)
post_urlstringURL of the post that was engaged with
authorobjectEngager author details (see below)
contentstring | nullComment text (null for reactions)
comment_metaobject | nullComment metadata (null for reactions)
reaction_typestring | nullReaction type (null for comments)
engaged_atstringISO 8601 timestamp of the engagement

Author Fields

FieldTypeDescription
namestringDisplay name
first_namestring | nullFirst name
last_namestring | nullLast name
urnstring | nullMember URN
usernamestring | nullUsername
profile_urlstring | nullProfile URL
profile_image_urlstring | nullProfile image URL
descriptionstring | nullHeadline/title
profile_typestringuser or company
summarystring | nullAbout/summary section
company_namestring | nullCurrent company name
company_websitestring | nullCompany website domain
titlestring | nullCurrent job title
company_icon_urlstring | nullCompany logo URL
loc_countrystring | nullCountry name
loc_regionstring | nullGeographic region (NA, EU, AP)
loc_codestring | nullISO country code
loc_citystring | nullCity name
loc_statestring | nullState/province name
company_sizestring | nullCompany size category
company_industrystring | nullCompany industry
company_hq_loc_countrystring | nullCompany HQ country
company_hq_loc_codestring | nullCompany HQ ISO country code
authoritystring | nullAuthority level (L, M, S, XS, NA)
functionstring | nullJob function (ENG, MKT, SAL, etc.)

Comment Metadata

FieldTypeDescription
is_replybooleanWhether this is a reply to another comment
repliesintegerNumber of replies to this comment
is_pinnedbooleanWhether the comment is pinned
is_editedbooleanWhether the comment was edited

Reaction Types

  • LIKE
  • APPRECIATION
  • EMPATHY
  • INTEREST
  • PRAISE
  • ENTERTAINMENT

Example Request

# All engagers
curl -H "X-API-Key: your_api_key_here" \
"https://production.viacurrent.com/api/engagers/signal/507f1f77bcf86cd799439012?workspace_id=507f1f77bcf86cd799439013&page=1&page_size=100"

# Comments only
curl -H "X-API-Key: your_api_key_here" \
"https://production.viacurrent.com/api/engagers/signal/507f1f77bcf86cd799439012?workspace_id=507f1f77bcf86cd799439013&engagement_type=COMMENT"

# Reactions only
curl -H "X-API-Key: your_api_key_here" \
"https://production.viacurrent.com/api/engagers/signal/507f1f77bcf86cd799439012?workspace_id=507f1f77bcf86cd799439013&engagement_type=REACTION"

Rate Limiting

  • 60 requests per minute per API key

Workbook Engagers

Retrieve paginated engagers (commenters and reactors) from a workbook.

GET /api/engagers/workbook/{workbook_id}

Path Parameters

ParameterTypeDescription
workbook_idstringThe workbook ID to retrieve engagers from

Query Parameters

ParameterTypeDefaultDescription
pageinteger1Page number (1-indexed)
page_sizeinteger100Items per page (1-500)
snapshot_timestringcurrent timeISO 8601 snapshot timestamp for consistent pagination
engagement_typestring(all)Filter by type: COMMENT or REACTION

Response

Same format as Signal Engagers response.

Example Request

curl -H "X-API-Key: your_api_key_here" \
"https://production.viacurrent.com/api/engagers/workbook/507f1f77bcf86cd799439012?page=1&page_size=100"

Rate Limiting

  • 60 requests per minute per API key

Workbook Contacts

Retrieve paginated, deduplicated contact information from a workbook. Each contact represents a unique person with aggregated engagement stats.

GET /api/engagers/workbook/{workbook_id}/contacts

Path Parameters

ParameterTypeDescription
workbook_idstringThe workbook ID to retrieve contacts from

Query Parameters

ParameterTypeDefaultDescription
pageinteger1Page number (1-indexed)
page_sizeinteger500Items per page (1-500)
snapshot_timestringcurrent timeISO 8601 snapshot timestamp for consistent pagination
activity_filterstring(all)Filter by activity: commenters, reactors, or comma-separated combinations

Response

{
"items": [
{
"name": "Jane Smith",
"first_name": "Jane",
"last_name": "Smith",
"urn": "urn:li:member:789",
"profile_type": "user",
"profile_url": "https://social.com/in/janesmith",
"profile_image_url": "https://...",
"description": "VP Engineering at TechCo",
"username": "janesmith",
"summary": "Building great teams...",
"company_name": "TechCo",
"company_website": "techco.com",
"title": "VP Engineering",
"company_icon_url": "https://...",
"loc_country": "United States",
"loc_region": "NA",
"loc_code": "US",
"loc_city": "San Francisco",
"loc_state": "California",
"company_size": "L",
"company_industry": "TECH_INFO_MEDIA",
"company_hq_loc_country": "United States",
"company_hq_loc_code": "US",
"authority": "L",
"function": "ENG",
"stats": {
"comments": 3,
"reactions": 1
},
"last_engaged_at": "2024-01-15T10:45:00Z"
}
],
"total": 87,
"page": 1,
"page_size": 500,
"pages": 1,
"snapshot_time": "2024-01-15T12:00:00.000000+00:00"
}

Contact Fields

Contacts include the same author fields as engagers, plus:

FieldTypeDescription
statsobjectEngagement counts: { "comments": 3, "reactions": 1 }
last_engaged_atstring | nullMost recent engagement timestamp

Example Request

# All contacts
curl -H "X-API-Key: your_api_key_here" \
"https://production.viacurrent.com/api/engagers/workbook/507f1f77bcf86cd799439012/contacts?page=1&page_size=500"

# Commenters only
curl -H "X-API-Key: your_api_key_here" \
"https://production.viacurrent.com/api/engagers/workbook/507f1f77bcf86cd799439012/contacts?activity_filter=commenters"

Rate Limiting

  • 60 requests per minute per API key

Pagination

All engager endpoints use the same pagination pattern as the Posts API.

Response Fields

FieldTypeDescription
itemsarrayPage of results
totalintegerTotal number of matching items
pageintegerCurrent page number
page_sizeintegerItems per page
pagesintegerTotal number of pages
snapshot_timestringSnapshot timestamp for consistent pagination

Consistent Pagination

For consistent results across pages, reuse the snapshot_time from the first page:

# Page 1
curl -H "X-API-Key: your_api_key_here" \
"https://production.viacurrent.com/api/engagers/signal/SIGNAL_ID?workspace_id=WS_ID&page=1&page_size=100"

# Response includes: "snapshot_time": "2024-01-15T12:00:00.000000+00:00"

# Page 2 - reuse snapshot_time
curl -H "X-API-Key: your_api_key_here" \
"https://production.viacurrent.com/api/engagers/signal/SIGNAL_ID?workspace_id=WS_ID&page=2&page_size=100&snapshot_time=2024-01-15T12:00:00.000000+00:00"

Error Responses

400 Bad Request

{
"detail": "invalid_signal_id_format"
}
{
"detail": "signal_type_does_not_have_engagers"
}
{
"detail": "invalid_engagement_type"
}

403 Forbidden

{
"detail": "signal_not_in_workspace"
}

429 Too Many Requests

{
"detail": "Rate limit exceeded"
}