Skip to main content
Use the LinkedIn endpoints to monitor keyword-based post searches and individual profile or company page feeds. LinkedIn monitoring supports job title filtering, content type targeting, and mention-based targeting for precise social listening.

Keyword Search (POST /v1/searches/linkedin/posts)

How it works

  1. Send a POST request to /v1/searches/linkedin/posts with your keywords and optional filters
  2. Trigify begins monitoring LinkedIn on your configured frequency (DAILY, WEEKLY, MONTHLY, or QUARTERLY; HOURLY is available on Enterprise and Custom plans only)
  3. New posts matching your criteria appear in your search results via GET /v1/searches/{id}/results
  4. Optionally trigger workflows on new results for alerts, enrichment, or integrations

Supported filters

FieldTypeDescription
namestringRequired. Name for the search (1-255 characters)
keywordsstring[]Required. Keywords to search for (OR logic). Min 1, max 6 items
keywords_andstring[]Keywords that must all be present (AND logic)
keywords_notstring[]Keywords to exclude
time_framestringHow far back to search: past-24h, past-week, past-month, past-year, all-time
max_resultsnumberMaximum results per run (10-100)
frequencystringHow often to check: DAILY, WEEKLY, MONTHLY, QUARTERLY; HOURLY is Enterprise/Custom only
job_titlesstring[]Filter by author job titles (max 6). See Job titles filter
content_typestringLinkedIn content type: videos, photos, liveVideos, collaborativeArticles, documents
linkedin_sort_bystringSort order: date_posted (default), relevance
mentions_memberstring[]LinkedIn member URNs to match against mentioned people. See LinkedIn mention targeting
mentions_organizationnumber[]LinkedIn company IDs to match against mentioned organizations. See LinkedIn mention targeting

Keyword limit

LinkedIn searches are limited to 6 total keywords across keywords + keywords_and + keywords_not combined. This is a strict platform-level constraint. Requests exceeding 6 keywords will be rejected.

Job titles filter

The job_titles filter narrows results to posts authored by people with specific job titles. You can provide up to 6 job titles. This is useful for targeting decision-makers or specific roles in your social listening. Example job titles: CEO, CTO, VP Engineering, Head of Product, Founder, Director of Marketing
{
  "job_titles": ["CEO", "CTO", "VP Engineering", "Head of Product"]
}
The job_titles filter is only available for LinkedIn posts searches. It is not applicable to profile/company monitoring.

LinkedIn mention targeting

Use mentions_member and mentions_organization to find posts that mention specific people or companies. This is powerful for tracking engagement around key stakeholders. To get a member URN, call Enrich Profile with a LinkedIn profile URL. The response includes data.prospect.linkedin_urn.
curl -X POST https://api.trigify.io/v1/profile/enrich \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "profileUrl": "https://linkedin.com/in/amelia-chen"
  }'
To get a company ID, call Enrich Company with a LinkedIn company URL. The response includes data.linkedin_company_id.
curl -X POST https://api.trigify.io/v1/company/enrich \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "companyUrl": "https://linkedin.com/company/microsoft"
  }'
For a detailed walkthrough on enriching URNs and chaining them into a search, see LinkedIn Mention Filters.
curl -X POST https://api.trigify.io/v1/searches/linkedin/posts \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "AI strategy discussions by executives",
    "keywords": ["AI strategy", "enterprise AI"],
    "keywords_not": ["hiring"],
    "time_frame": "past-week",
    "max_results": 50,
    "frequency": "DAILY",
    "job_titles": ["CEO", "CTO", "VP Engineering"],
    "linkedin_sort_by": "date_posted"
  }'

Advanced: Search with mention targeting

Combine keywords with mention filters to find posts that discuss a topic while mentioning specific people or companies.
curl -X POST https://api.trigify.io/v1/searches/linkedin/posts \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Posts mentioning Microsoft about AI copilots",
    "keywords": ["AI copilot", "agentic workflow"],
    "time_frame": "past-week",
    "frequency": "DAILY",
    "mentions_member": [
      "urn:li:fsd_profile:ACoAAAEkwwAB9KEc2TrQgOLEQ-vzRyZeCDyc6DQ"
    ],
    "mentions_organization": [1035]
  }'

Profile/Company Monitoring (POST /v1/searches/linkedin/profile)

How it works

  1. Send a POST request to /v1/searches/linkedin/profile with a LinkedIn profile or company page URL
  2. Trigify auto-detects whether the URL is a personal profile (/in/username) or a company page (/company/name)
  3. New posts from the account appear in your search results via GET /v1/searches/{id}/results

Supported fields

FieldTypeDescription
namestringRequired. Name for the monitor (1-255 characters)
profile_urlstringRequired. LinkedIn profile or company URL (e.g. https://linkedin.com/in/username or https://linkedin.com/company/name)
max_resultsnumberMaximum results per run (10-100)
frequencystringHow often to check: DAILY, WEEKLY, MONTHLY, QUARTERLY; HOURLY is Enterprise/Custom only
time_framestringHow far back to search: past-24h, past-week, past-month, past-year, all-time

Create a LinkedIn profile monitor

curl -X POST https://api.trigify.io/v1/searches/linkedin/profile \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Monitor Satya Nadella posts",
    "profile_url": "https://linkedin.com/in/satyanadella",
    "max_results": 25,
    "frequency": "WEEKLY"
  }'

Create a LinkedIn company monitor

curl -X POST https://api.trigify.io/v1/searches/linkedin/profile \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Monitor Microsoft company posts",
    "profile_url": "https://linkedin.com/company/microsoft",
    "max_results": 50,
    "frequency": "DAILY"
  }'

Use Cases

Sales prospecting

Track posts from decision-makers discussing pain points your product solves. Use job_titles to target specific roles and keywords to match relevant topics.
{
  "name": "Sales ops pain points",
  "keywords": ["CRM migration", "sales automation"],
  "job_titles": ["VP Sales", "Head of Revenue Operations", "CRO"],
  "time_frame": "past-week",
  "frequency": "DAILY"
}

Competitor company monitoring

Monitor a competitor’s company page to track their announcements, product launches, and thought leadership content.
{
  "name": "Competitor company feed",
  "profile_url": "https://linkedin.com/company/competitor-name",
  "frequency": "DAILY"
}

Executive thought leadership tracking

Follow key executives in your industry to stay on top of strategic insights and industry commentary.
{
  "name": "Monitor industry CEO",
  "profile_url": "https://linkedin.com/in/ceo-username",
  "max_results": 25,
  "frequency": "WEEKLY"
}

Preview your filters

Before committing to a saved search, POST the exact same body to the preview endpoint to see a sample of matching posts. Useful for validating keywords, job-title filters, and mention operators before spending a credit.
  • Keyword preview: POST /v1/searches/linkedin/posts/preview
  • Profile preview: POST /v1/searches/linkedin/profile/preview
curl -X POST https://api.trigify.io/v1/searches/linkedin/posts/preview \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "VP Engineering hiring signals",
    "keywords": ["hiring", "engineers"],
    "job_titles": ["VP Engineering", "CTO"],
    "time_frame": "past-week",
    "max_results": 10
  }'
The response wraps an array of sample posts in the standard search-result shape (same as GET /v1/searches/{id}/results), plus a meta block:
{
  "success": true,
  "message": "Preview retrieved successfully",
  "data": [ /* SearchResult[] */ ],
  "meta": { "count": 10, "total_available": 246, "monitoring_type": "linkedin-posts" }
}
Preview is free — no credit charged. Once you’re happy, POST the same body to /v1/searches/linkedin/posts (or /profile) to commit the saved search. The name and frequency fields are accepted but ignored by preview, so you can reuse one payload for both calls.

Credit Usage

  • 1 credit per search or profile/company monitor created
  • Previewing filters via POST /v1/searches/linkedin/{posts,profile}/preview is free
  • Retrieving results via GET /v1/searches/{id}/results is free
  • Updating or deleting a search is free

Notes

  • LinkedIn keywords are required for post searches (minimum 1 keyword)
  • Keywords use OR logic by default. Use keywords_and for AND logic
  • The 6-keyword limit is enforced across keywords + keywords_and + keywords_not combined
  • job_titles is only available for LinkedIn posts searches, not profile/company monitors
  • mentions_member values must be valid LinkedIn member URNs (use the Enrich Profile endpoint to obtain them)
  • mentions_organization values must be numeric LinkedIn company IDs (use the Enrich Company endpoint to obtain them)
  • Profile URLs support both /in/username (personal profiles) and /company/name (company pages)
  • HOURLY frequency requires an Enterprise or Custom plan