Tracker
The Tracker feature lets you monitor companies and people on LinkedIn for specific changes. When a tracked entity matches one of your rules, Fiber delivers a signal via webhook so you can act on it immediately.
This is also known as the "signals," "subscriptions," or "watchers" product. Note that saved searches are distinct from this.
How It Works
Create a tracker list — a named container that holds tracked entities and one or more rules.
Add entities — add companies (by LinkedIn URL, slug, or org ID) or people (by LinkedIn URL, slug, or user ID) to your list.
Define rules — each rule watches for a specific type of change (e.g., "headcount crossed 100", "person changed company").
Fiber monitors automatically — at the refresh interval you set (1–30 days), Fiber checks each entity and evaluates all rules.
Receive signals — when a rule fires, Fiber sends a webhook with details about what changed.
Key Concepts
Concept | Description |
|---|---|
Tracker List | A named group of entities (companies or people) with shared tracking rules and a refresh cadence. |
Tracking Rule | A condition evaluated on each refresh. Up to 10 rules per list. |
Signal | A detected change that matched one of your rules. Delivered via webhook. |
Refresh Interval | How often (in days) Fiber checks entities for changes. Min 1, max 30. |
Lookback Period | Optional. Compare against a snapshot from N days ago instead of the most recent check. Max 90 days. |
Limits
Limit | Value |
|---|---|
Companies per list | 1,000 |
People per list | 10,000 |
Total tracked entities per organization | 10,000 |
Rules per list | 10 |
Entities per add/remove call | 100 |
Refresh interval | 1–30 days |
Lookback period | 1–90 days |
Pricing
Each entity check costs 2 credits per refresh. For example, a list of 500 companies refreshed every 7 days costs 500 × 2 = 1,000 credits per week.
Use the Tracker Overview endpoint to get estimated daily and monthly credit burn for all your lists.
Lookback Period
By default, Fiber compares the current snapshot of an entity to the most recent previous snapshot (i.e., what changed since last check).
With the optional lookbackDays field, you can instead compare against a snapshot from approximately N days ago. This is useful for:
Detecting changes over a longer window regardless of check frequency
"Did X happen in the past 30 days?" style alerts
Avoiding missed signals when check cadences change
If no historical snapshot from N days ago is available (e.g., the entity was recently added), the rule falls back to comparing against the most recent previous snapshot.
{ "type": "headcount_growth_percent", "entityType": "company", "minPercentChange": 20, "direction": "grew", "lookbackDays": 30 }
Company Rules (24 types)
Headcount & Growth
headcount_crossed_threshold
Fires when a company's employee count crosses a specific number going up or down.
Field | Type | Required | Description |
|---|---|---|---|
| integer | Yes | The headcount number to watch for crossing |
|
| Yes | Alert when crossing up or down |
Use case: Get notified when a prospect company grows past 50 employees (likely ready for enterprise tools) or shrinks below 20 (may be downsizing).
{ "type": "headcount_crossed_threshold", "entityType": "company", "direction": "above", "threshold": 100 }
headcount_growth_percent
Fires when headcount grows or shrinks by at least a given percentage.
Field | Type | Required | Description |
|---|---|---|---|
| number (1–1000) | Yes | Minimum percent change to trigger (e.g., 20 = 20%) |
|
| Yes | Direction of change |
Use case: Catch fast-growing startups (grew 30%+) or companies in trouble (shrank 20%+).
{ "type": "headcount_growth_percent", "entityType": "company", "minPercentChange": 25, "direction": "grew" }
employee_count_milestone
Fires when a company's employee count crosses a specific milestone (e.g., 100, 500, 1000).
Field | Type | Required | Description |
|---|---|---|---|
| integer | Yes | Employee count milestone to watch |
|
| Yes | Alert when crossing up or down |
Use case: Similar to headcount_crossed_threshold but semantically represents major milestones for segmentation.
{ "type": "employee_count_milestone", "entityType": "company", "milestone": 500, "direction": "above" }
department_size_threshold
Fires when a specific department's headcount crosses a threshold.
Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Department name (e.g., "Engineering", "Sales") |
| integer | Yes | Employee count threshold |
|
| Yes | Alert when crossing up or down |
Use case: Alert when a company's engineering team grows past 20 — they're likely investing in building and may need dev tools.
{ "type": "department_size_threshold", "entityType": "company", "department": "Engineering", "threshold": 20, "direction": "above" }
recently_hired_with_title
Fires when a company makes a new hire whose title matches your keywords.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | Yes | Title keywords to match (e.g., ["VP Sales", "Head of"]) |
| integer | No | Minimum new hires to trigger. Default: 1. |
Use case: Know when a target account hires a new VP of Sales (your buyer persona) or a new CTO (decision-maker for your product).
{ "type": "recently_hired_with_title", "entityType": "company", "titleKeywords": ["VP Sales", "Head of Sales", "CRO"], "minNewHires": 1 }
follower_count_growth
Fires when a company's LinkedIn follower count grows significantly.
Field | Type | Required | Description |
|---|---|---|---|
| integer | No | Minimum absolute follower increase. Omit for any increase. |
| number | No | Minimum percent increase. Omit for any increase. |
Use case: Identify companies gaining social traction — often a leading indicator of brand momentum or viral marketing.
{ "type": "follower_count_growth", "entityType": "company", "minAbsoluteGrowth": 1000, "minPercentGrowth": 10 }
Funding & Financials
new_funding_round
Fires when a company raises a new round of funding.
Field | Type | Required | Description |
|---|---|---|---|
| number | No | Only alert for rounds above this amount. Omit for any. |
| string[] | No | Filter by round type. Options: |
Use case: Get notified when tracked companies raise Series B+ rounds above $10M — they now have budget to spend.
{ "type": "new_funding_round", "entityType": "company", "minAmountUsd": 10000000, "roundTypes": ["series_b", "series_c", "series_d"] }
funding_stage_changed
Fires when a company moves to a new funding stage.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert for these target stages. Options: |
Use case: Detect companies progressing to Series A — transitioning from founder-led to building a proper GTM team.
{ "type": "funding_stage_changed", "entityType": "company", "toStages": ["series_a", "series_b"] }
acquired_company
Fires when a company makes an acquisition.
Field | Type | Required | Description |
|---|---|---|---|
| number | No | Only alert for acquisitions above this price. Omit for any. |
Use case: Acquisitions often trigger technology consolidation and vendor re-evaluation — a prime selling window.
{ "type": "acquired_company", "entityType": "company", "minPriceUsd": 5000000 }
new_investor
Fires when a new investor is added to a company's profile.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert for these investor types (e.g., "venture_capital"). Omit for any. |
Use case: When a strategic investor joins the cap table, it often signals a new direction or partnership opportunity.
{ "type": "new_investor", "entityType": "company" }
Hiring & Job Postings
job_posting_with_keyword
Fires when a company posts a job whose title contains your keywords.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | Yes | Alert when a job title contains any of these |
| string[] | No | Filter by seniority level. Omit for any. |
| string[] | No | Filter by location type: |
Use case: A company posting for "data engineer" or "ML engineer" likely needs data infrastructure tools.
{ "type": "job_posting_with_keyword", "entityType": "company", "keywords": ["data engineer", "machine learning", "ML engineer"], "seniorityLevels": ["Senior", "Lead"] }
job_posting_in_function
Fires when a company posts a job in a specific department/function.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | Yes | Department or function names (e.g., "Engineering", "Sales") |
Use case: A company hiring heavily in Sales means they're scaling revenue — they may need CRM, sales enablement, or marketing tools.
{ "type": "job_posting_in_function", "entityType": "company", "jobFunctions": ["Sales", "Business Development"] }
News & Content
company_news
Fires when any news article is published about the company.
Field | Type | Required | Description |
|---|---|---|---|
| integer | No | Only alert if at least this many articles found. Omit for any. |
Use case: Stay informed about companies in your pipeline — news is a natural conversation starter.
{ "type": "company_news", "entityType": "company", "minArticles": 2 }
news_with_keyword
Fires when a news article about the company matches specific keywords.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | Yes | Match against article title or summary |
Use case: Track when target accounts are mentioned in news related to expansion, layoffs, product launches, or specific technologies.
{ "type": "news_with_keyword", "entityType": "company", "keywords": ["expansion", "launch", "partnership", "contract"] }
company_posted
Fires when the company publishes a LinkedIn post.
Field | Type | Required | Description |
|---|---|---|---|
| integer | No | Only alert for posts with at least this many reactions. Omit for any. |
Use case: High-engagement posts from target companies can reveal priorities, wins, or challenges that make great outreach hooks.
{ "type": "company_posted", "entityType": "company", "minReactions": 50 }
company_posted_with_keyword
Fires when a company post matches specific keywords.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Keywords to match. |
| integer | No | Minimum reactions. Omit for any. |
Use case: Know when a company posts about hiring, product launches, or topics relevant to your solution.
{ "type": "company_posted_with_keyword", "entityType": "company", "keywords": ["hiring", "scaling", "AI", "automation"] }
Company Profile Changes
hq_location_changed
Fires when a company's headquarters location changes.
No additional fields — triggers on any HQ move.
Use case: Relocations often signal growth (moving to a bigger market) or downsizing. Either way, it's a trigger event for outreach.
{ "type": "hq_location_changed", "entityType": "company" }
company_status_changed
Fires when a company's operating status changes.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Target statuses: |
Use case: Know when a tracked prospect gets acquired (new buyer), goes public (bigger budget), or shuts down (remove from pipeline).
{ "type": "company_status_changed", "entityType": "company", "toStatuses": ["acquired", "ipo"] }
technology_added
Fires when a company adopts new technologies in their stack.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert for these technologies. Omit for any new tech. |
Use case: If a company adds a competing technology, it's too late. If they add a complementary one, it's the perfect time to reach out.
{ "type": "technology_added", "entityType": "company", "technologies": ["Snowflake", "dbt", "Databricks"] }
company_name_changed
Fires when a company changes its name. No additional fields.
Use case: Name changes often signal rebranding, pivots, or post-acquisition integration.
{ "type": "company_name_changed", "entityType": "company" }
company_description_changed
Fires when a company changes its LinkedIn description/tagline.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert if new description contains one of these keywords. Omit for any change. |
Use case: Description changes reflect strategic pivots — a company adding "AI-powered" to their description may be a fit for your ML tools.
{ "type": "company_description_changed", "entityType": "company", "keywords": ["AI", "machine learning", "automation"] }
company_logo_changed
Fires when a company updates its logo. No additional fields.
Use case: Logo changes are often part of a broader rebrand — a company reinventing itself may be evaluating new vendors.
{ "type": "company_logo_changed", "entityType": "company" }
company_went_inactive
Fires when a company's LinkedIn page appears to have gone inactive. No additional fields.
Use case: Detect companies that may be winding down operations, allowing you to clean your pipeline or adjust outreach.
{ "type": "company_went_inactive", "entityType": "company" }
new_office_location
Fires when a company opens a new office.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert for offices in these countries. Omit for any. |
| string[] | No | Only alert for offices in these cities. Omit for any. |
Use case: A company opening an office in your city creates a local relationship opportunity.
{ "type": "new_office_location", "entityType": "company", "countries": ["US", "UK"], "cities": ["San Francisco", "New York"] }
Person Rules (19 types)
Career Changes
person_changed_company
Fires when a person moves to a different company.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert if they moved TO one of these companies (domains or slugs). Omit for any. |
| string[] | No | Only alert if they moved FROM one of these companies. Omit for any. |
Use case: Your champion at a customer account just moved to a new company — follow them and sell into their new org.
{ "type": "person_changed_company", "entityType": "person" }
person_title_changed
Fires when a person changes their job title.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert if new title contains these keywords. Omit for any title change. |
Use case: Detect when contacts get promoted to decision-making roles (VP, Director, C-level).
{ "type": "person_title_changed", "entityType": "person", "titleKeywords": ["VP", "Director", "Head of", "Chief"] }
person_got_promoted
Fires when a person gets promoted (stays at the same company but gets a more senior title).
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert if new title contains these seniority keywords. Omit for any promotion. |
Use case: A newly promoted VP often gets new budget authority and wants to make their mark — ideal for outreach.
{ "type": "person_got_promoted", "entityType": "person", "seniorityKeywords": ["VP", "SVP", "Director", "Chief"] }
person_started_company
Fires when a person starts their own company. No additional fields.
Use case: Track former champions or industry contacts who start companies — they'll need tools from day one.
{ "type": "person_started_company", "entityType": "person" }
person_employment_type_changed
Fires when a person's employment type changes (e.g., full-time to contract).
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert for these types (e.g., "Contract", "Part-time"). Omit for any change. |
Use case: Someone going from full-time to contract/consulting may be a sign they're available as an advisor or buyer at a new client.
{ "type": "person_employment_type_changed", "entityType": "person", "toTypes": ["Contract", "Self-employed"] }
Status Signals
person_stealth_changed
Fires when a person enters or exits stealth mode (hides their activity/profile).
Field | Type | Required | Description |
|---|---|---|---|
|
| Yes | Which transition to watch |
Use case: Someone entering stealth may be preparing to change jobs or start a company — reach out before the news breaks.
{ "type": "person_stealth_changed", "entityType": "person", "direction": "entered" }
person_open_to_work
Fires when a person starts or stops signaling they're open to new opportunities.
Field | Type | Required | Description |
|---|---|---|---|
|
| Yes | Which transition to watch |
Use case: A VP of Engineering who just started "Open to Work" will soon land somewhere and need to evaluate vendors — get on their radar early.
{ "type": "person_open_to_work", "entityType": "person", "direction": "started" }
person_is_hiring
Fires when a person starts or stops signaling they're hiring.
Field | Type | Required | Description |
|---|---|---|---|
|
| Yes | Which transition to watch |
Use case: When your champion signals "Hiring" — they have budget and headcount. Great time to pitch solutions that help their growing team.
{ "type": "person_is_hiring", "entityType": "person", "direction": "started" }
person_became_verified
Fires when a person gets LinkedIn verification. No additional fields.
Use case: Verified profiles often belong to high-profile individuals gaining influence — may indicate leadership visibility.
{ "type": "person_became_verified", "entityType": "person" }
Profile Changes
person_headline_changed
Fires when a person updates their LinkedIn headline.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert if new headline contains these keywords. Omit for any change. |
Use case: Headline changes often signal career transitions, new responsibilities, or personal branding shifts.
{ "type": "person_headline_changed", "entityType": "person", "keywords": ["looking for", "advisor", "consultant", "building"] }
person_summary_changed
Fires when a person updates their LinkedIn summary/about section.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert if new summary contains these keywords. Omit for any change. |
Use case: Summary updates signal a person is actively curating their professional image — often precedes or follows a career change.
{ "type": "person_summary_changed", "entityType": "person", "keywords": ["open to", "seeking", "building"] }
person_location_changed
Fires when a person's location changes.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert if moved to one of these country codes. Omit for any relocation. |
Use case: Detect when contacts relocate to your target geography — opens door for local meetups and relationship building.
{ "type": "person_location_changed", "entityType": "person", "toCountries": ["US", "GB", "DE"] }
Skills & Activity
person_skills_added
Fires when a person adds new skills to their profile.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert for these specific skills. Omit for any new skill. |
Use case: Someone adding "Kubernetes" or "Terraform" to their skills may be starting a cloud migration — relevant for infrastructure vendors.
{ "type": "person_skills_added", "entityType": "person", "skills": ["Kubernetes", "Terraform", "AWS"] }
person_new_certification
Fires when a person earns a new certification.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Only alert for certifications matching these keywords. Omit for any new cert. |
Use case: A new AWS or Azure certification suggests the person is investing in a technology — they may be evaluating complementary tools.
{ "type": "person_new_certification", "entityType": "person", "certificationKeywords": ["AWS", "Azure", "GCP", "Kubernetes"] }
person_tag_gained
Fires when a person gains a system-assigned tag.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | Yes | Tags to watch for |
Use case: Track when contacts gain specific organizational or behavioral tags within Fiber's enrichment system.
{ "type": "person_tag_gained", "entityType": "person", "tags": ["founder", "investor"] }
Social Activity
person_posted
Fires when a person publishes a LinkedIn post.
Field | Type | Required | Description |
|---|---|---|---|
| integer | No | Only alert for posts with at least this many reactions. Omit for any. |
Use case: Monitor decision-makers' posts for engagement opportunities. Commenting on their posts builds relationship before pitching.
{ "type": "person_posted", "entityType": "person", "minReactions": 10 }
person_posted_with_keyword
Fires when a person posts about a specific topic.
Field | Type | Required | Description |
|---|---|---|---|
| string[] | No | Keywords to match in post content. |
| integer | No | Minimum reactions. Omit for any. |
Use case: Know when your buyer posts about pain points your product solves — the most timely, relevant outreach possible.
{ "type": "person_posted_with_keyword", "entityType": "person", "keywords": ["struggling with", "looking for", "evaluating", "scaling challenges"] }
Growth Metrics
person_connections_milestone
Fires when a person's connection count crosses a threshold.
Field | Type | Required | Description |
|---|---|---|---|
| integer | Yes | Connection count to watch for |
|
| Yes | Alert when crossing up or down |
Use case: Track influencers growing their network — crossing 10K+ connections means broader reach for potential partnerships.
{ "type": "person_connections_milestone", "entityType": "person", "threshold": 10000, "direction": "above" }
person_follower_milestone
Fires when a person's follower count crosses a threshold.
Field | Type | Required | Description |
|---|---|---|---|
| integer | Yes | Follower count to watch for |
|
| Yes | Alert when crossing up or down |
Use case: Track contacts becoming thought leaders — crossing 50K followers means they're gaining significant influence.
{ "type": "person_follower_milestone", "entityType": "person", "threshold": 50000, "direction": "above" }
Creative Use Cases: Combining Rules
The real power of Tracker comes from combining multiple rules on the same list to catch complex signals. Here are proven strategies:
1. Buying Intent Detection (Company List)
Combine hiring signals with growth signals to find companies actively investing:
[ { "type": "job_posting_with_keyword", "entityType": "company", "keywords": ["data engineer", "analytics"] }, { "type": "headcount_growth_percent", "entityType": "company", "minPercentChange": 15, "direction": "grew" }, { "type": "new_funding_round", "entityType": "company", "minAmountUsd": 5000000 } ]
Any one of these firing means the company is likely spending — all three together is a very strong signal.
2. Champion Tracking (Person List)
Track your existing champions and power users for career moves:
[ { "type": "person_changed_company", "entityType": "person" }, { "type": "person_got_promoted", "entityType": "person" }, { "type": "person_open_to_work", "entityType": "person", "direction": "started" }, { "type": "person_is_hiring", "entityType": "person", "direction": "started" } ]
When a champion changes companies, you have a warm intro to their new org. When they get promoted, they have more authority to expand your contract.
3. Competitive Intelligence (Company List)
Monitor competitors for strategic moves:
[ { "type": "technology_added", "entityType": "company", "technologies": ["React", "Next.js"] }, { "type": "recently_hired_with_title", "entityType": "company", "titleKeywords": ["VP Product", "CTO"] }, { "type": "acquired_company", "entityType": "company" }, { "type": "company_description_changed", "entityType": "company" } ]
4. Market Expansion Detection (Company List)
Identify companies entering new markets:
[ { "type": "new_office_location", "entityType": "company", "countries": ["US"] }, { "type": "job_posting_with_keyword", "entityType": "company", "keywords": ["country manager", "regional director"] }, { "type": "hq_location_changed", "entityType": "company" } ]
5. Pre-Churn Risk Detection (Person List)
Monitor key contacts at existing customers for early churn signals:
[ { "type": "person_open_to_work", "entityType": "person", "direction": "started" }, { "type": "person_stealth_changed", "entityType": "person", "direction": "entered" }, { "type": "person_changed_company", "entityType": "person" }, { "type": "person_headline_changed", "entityType": "person", "keywords": ["looking for", "open to"] } ]
If your main point of contact is leaving, you need to build a new relationship before the handoff.
6. Fundraise Timing (Company List + Lookback)
Use lookback periods to detect sustained growth patterns that predict upcoming fundraises:
[ { "type": "headcount_growth_percent", "entityType": "company", "minPercentChange": 30, "direction": "grew", "lookbackDays": 90 }, { "type": "job_posting_in_function", "entityType": "company", "jobFunctions": ["Finance", "Legal"] }, { "type": "recently_hired_with_title", "entityType": "company", "titleKeywords": ["CFO", "VP Finance", "Controller"] } ]
30%+ headcount growth over 90 days combined with finance hires often precedes a fundraise announcement.
7. Decision-Maker Identification (Person List)
Track people for signals they've become decision-makers:
[ { "type": "person_got_promoted", "entityType": "person", "seniorityKeywords": ["VP", "C-level", "Director"] }, { "type": "person_is_hiring", "entityType": "person", "direction": "started" }, { "type": "person_follower_milestone", "entityType": "person", "threshold": 5000, "direction": "above" } ]
8. Technology Adoption Timing (Company List)
Catch companies at the exact moment they're evaluating new tech:
[ { "type": "technology_added", "entityType": "company", "technologies": ["Snowflake"] }, { "type": "job_posting_with_keyword", "entityType": "company", "keywords": ["Snowflake", "data warehouse", "dbt"] }, { "type": "recently_hired_with_title", "entityType": "company", "titleKeywords": ["Data Engineer", "Analytics Engineer"] } ]
If they're adding Snowflake, hiring data engineers, AND posting data jobs — they're building a data stack right now.
API Quick Reference
Operation | Method | Path |
|---|---|---|
Create company list | POST |
|
List company lists | GET |
|
Get company list | GET |
|
Update company list | PATCH |
|
Delete company list | DELETE |
|
Add companies | POST |
|
Remove companies | POST |
|
List changes | GET |
|
Create person list | POST |
|
List person lists | GET |
|
Get person list | GET |
|
Update person list | PATCH |
|
Delete person list | DELETE |
|
Add people | POST |
|
Remove people | POST |
|
List changes | GET |
|
Tracker overview | GET |
|
Webhook Delivery
When a rule fires, Fiber delivers a webhook containing the signal. Each signal includes:
id— Unique signal IDentityId— The tracked entity that triggered the signalentityType—"company"or"person"linkedinIdentifier— LinkedIn org ID or user IDtype— The rule type that fired (e.g.,"headcount_crossed_threshold")summary— Human-readable description of what changedchangeData— Array of objects with the specific changes detectedobservedAt— When the change was detected
Configure your webhook URL in the Fiber dashboard under Tracker settings.