Create Company Page Engagement signal
Find prospects who actively engage with posts from specific company pages—a strong signal of intent in those business areas.
Input: one or more target LinkedIn company page URLs (linkedinCompanyUrls), plus optional ICP filters (targetPersonas, companySizeFilters, locations, industryFilters, excludedTitles, etc.) and engagement settings (engagementTypes—defaults to likes/comments; minEngagement—minimum post reactions to trigger a lead; postedLimit—time window, default "week"). Optional excludedCommentKeywords skips people whose comment is only a polite reaction — e.g. ["félicitations", "bravo", "congrats"] on a post announcing a new job; matched as whole words, ignoring case and accents; reactions are never affected.
Output: every person who engages with posts from those company pages, matching your engagement and filter config, is pushed to your webhookUrl as an enriched lead; those not matching are filtered out. Engagement defaults to people who liked OR commented (combine values: use ["both"] for intersection—highest intent).
Use cases:
- Competitor-audience capture — reach people engaging with a competitor's company posts.
- Industry-intent — engagers on industry content signal active category interest.
Request
- Base URL: https://api.rodz.io (the document declares no server; this is the origin it was published from)
- URL: https://api.rodz.io/api/v1/signals/company-page-engagement
- Auth: HTTP bearer
Request body
Example request
{
"config": {
"companySizeFilters": [],
"customPersonaTitles": [],
"detectTechnologies": false,
"engagementTypes": [
"likes",
"comments"
],
"excludedCommentKeywords": [
"félicitations",
"bravo",
"congrats"
],
"excludedCompanySizeFilters": [],
"excludedCompanyUrls": [],
"excludedIndustryFilters": [],
"excludedLocations": [],
"excludedTitles": [],
"getEmails": true,
"getHomepageContent": false,
"getPhones": false,
"getSireneData": false,
"industryFilters": [],
"linkedinCompanyUrls": [
"https://www.linkedin.com/company/lemlist"
],
"locations": [],
"maxPosts": 0,
"minEngagement": 5,
"postedLimit": "week",
"targetPersonas": []
},
"dailyLeadLimit": 50,
"name": "Company page reactions",
"status": "active",
"webhookUrl": "https://your-server.com/webhooks/rodz"
}Response
Signal created
Example response
{
"applied": {
"allowUnknownCompanySize": false,
"maxJobAgeDays": 180
},
"config": {
"companySizeFilters": [
"201-500",
"501-1000"
],
"getEmails": true,
"jobTitles": [
"CTO"
],
"locations": [
"France"
],
"maxJobAgeDays": 90
},
"createdAt": "2026-01-15T10:30:00Z",
"dailyLeadLimit": 50,
"duplicateHandling": "refuse",
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"lastLeadAt": "2026-03-15T14:22:00Z",
"leadsToday": 3,
"leadsTotal": 127,
"name": "CTOs changing jobs in France",
"signalTypeId": "job_changes",
"status": "active",
"updatedAt": "2026-03-16T08:00:00Z",
"warnings": [
{
"code": "VALUE_BELOW_MINIMUM",
"field": "maxJobAgeDays",
"message": "`maxJobAgeDays` is 90; this signal applies 180. Job changes are delivered up to 180 days after the start date, and a shorter window is raised to that minimum.",
"severity": "info",
"values": [
"90"
]
}
],
"webhookUrl": "https://your-server.com/webhooks/rodz"
}Changes
No recorded changes to this operation across all 1 revision of this API.