Profile Viewers

🚧 Coming soon. Signals are not available yet. This page describes how they will work at launch – the /signals endpoints, signal.* events and the SDK, CLI and MCP signal commands do not work today.

The profileViewers signal watches the account's "Who viewed your profile" list and reports every new viewer LinkedIn identifies. A profile view is often the first sign of interest – someone checked you out after your invitation, your comment or your post – and it is worth a follow-up while it is recent.

Events

Event typeWebhook eventWhat happened
profileViewedsignal.profileViewedA new identified viewer appeared in the list, or a person already reported viewed the profile again.

Creating

The signal watches the account itself and takes no target. An account has at most one.

json
{
  "type": "profileViewers"
}
CheckedEach check spends
every 3 hoursnothing from account limits

A check reads the viewers list, the same as st.retrieveProfileViewers. The baseline is the viewers already listed at the first check.

💡 How many viewers you get depends on LinkedIn, not on the signal. On an account without LinkedIn Premium, LinkedIn shows only a few recent viewers, so the signal can report only those. With Premium, it reports every viewer LinkedIn lists.

Only identified viewers produce events. Viewers who browse in semi-private mode appear in LinkedIn's list only as a description, such as "Someone at Example Company", with no profile to follow up with; read them with st.retrieveProfileViewers when you need them. Viewers in fully private mode are not shown by LinkedIn at all.

Event fields

json
{
  "id": "5d6e7f8a-9b0c-4d1e-8f2a-3b4c5d6e7f8a",
  "signalId": "8f9a0b1c-2d3e-4f4a-9b5c-6d7e8f9a0b1c",
  "signalType": "profileViewers",
  "label": null,
  "type": "profileViewed",
  "detectedAt": "2026-10-12T13:00:00Z",
  "viewer": {
    "viewedAt": "2026-10-12T11:00:00Z",
    "viewedAgo": "2h",
    "name": "Nicolai Elmqvist",
    "publicUrl": "https://www.linkedin.com/in/elmqvist",
    "urn": "urn:li:member:123456789",
    "headline": "Turn live event audiences into video creators",
    "connectionDegree": 2,
    "avatarUrl": "https://media.licdn.com/dms/image/profile-photo.jpg"
  }
}
  • viewer – the viewer, with the same fields as an identified item of st.retrieveProfileViewers.
    • viewedAt is an estimate: LinkedIn shows only a relative age such as 2h or 3d, so the time is as precise as that unit.

The common fields – id, signalId, signalType, label, type, detectedAt – are described in Receiving events.

Repeat views. LinkedIn lists each viewer once, with their latest view. When a person already reported views the profile again, LinkedIn moves them up with a newer time, and the signal reports that as a new profileViewed event. Views by the same person within 24 hours are reported once.

Following up with viewers

  1. Create the profileViewers signal once per account.
  2. For each profileViewed event, check viewer.connectionDegree:
  3. Keep it human: someone who glanced at your profile did not ask to be contacted, so mention why you are writing and keep the volume within the account's daily limits.