SalesNav Structured Filters

SalesNav Structured Filters

The POST /api/salesnav/search endpoint supports 22 structured filter types for precise lead search, matching the full SalesNav UI filter panel.

Quick Example

1POST /api/salesnav/search
2{
3 "filters": [
4 { "type": "SCHOOL", "values": [{ "text": "University of Cambridge" }] },
5 { "type": "REGION", "values": [{ "text": "London" }] },
6 { "type": "SENIORITY_LEVEL", "values": [{ "id": "8", "text": "CXO" }] }
7 ],
8 "maxResults": 25
9}

Filter values can be names (auto-resolved via typeahead) or numeric IDs (faster, more reliable).

Filter Types

Company Filters

TypeDescriptionSupports Exclude
CURRENT_COMPANYCurrent employerYes
PAST_COMPANYPrevious employerYes
COMPANY_HEADCOUNTSize: B=1-10, C=11-50, D=51-200, E=201-500, F=501-1K, G=1K-5K, H=5K-10K, I=10K+No
COMPANY_TYPEPublic/private/etcNo
COMPANY_HEADQUARTERSHQ locationYes

Role Filters

TypeDescriptionSupports Exclude
CURRENT_TITLECurrent job titleYes
PAST_TITLEPrevious job titleYes
FUNCTIONJob function (Engineering, Sales, etc)Yes
SENIORITY_LEVEL3=Entry, 4=Senior, 5=Manager, 6=Director, 7=VP, 8=CXO, 9=Partner, 10=OwnerYes

Personal Filters

TypeDescriptionSupports Exclude
SCHOOLEducation institutionYes
REGIONGeography/locationYes
INDUSTRYIndustry verticalYes
GROUPLinkedIn group membershipNo
FIRST_NAMEFirst name (text)No
LAST_NAMELast name (text)No

Toggle Filters (boolean — no values needed)

TypeDescription
RECENTLY_CHANGED_JOBSChanged jobs in last ~90 days
POSTED_ON_LINKEDINPosted content recently
FOLLOWS_YOUR_COMPANYFollows your company page
PAST_COLLEAGUEShared a company with you
WITH_SHARED_EXPERIENCESAny shared experience (school, company, group)
VIEWED_YOUR_PROFILEViewed your profile recently
VIEWED_YOUR_COMPANY_PAGEViewed your company page recently

Toggle filters are passed with an empty values array:

1{ "type": "RECENTLY_CHANGED_JOBS", "values": [] }

Filter Logic

  • Multiple values in ONE filter = OR: PAST_COMPANY with Barclays + HSBC → worked at either
  • Multiple filter TYPES = AND: SCHOOL + REGION → went to school AND lives in region
  • Exclusion: "selectionType": "EXCLUDED" → NOT this value

Typeahead Resolution

Resolve names to IDs before searching:

$GET /api/salesnav/typeahead?type=SCHOOL&query=Cambridge
$→ [{ "id": "4522", "text": "University of Cambridge" }, ...]

Supported typeahead types: SCHOOL, COMPANY_WITH_LIST, INDUSTRY, TITLE, BING_GEO, FUNCTION, GROUP, CONNECTION_OF.

Performance Tips

  • 2-3 filters is the sweet spot — best result quality
  • 4+ filters starts to narrow significantly
  • Use numeric IDs when possible — skips typeahead round-trip
  • Avoid mixing keywords + filters — keywords dilute filter precision
  • Toggle filters combine freely — 2+ toggles work together

Common Patterns

See Query Patterns for tested examples including:

  • Career trajectory analysis (ex-bankers at startups)
  • Competitive intelligence (who left X for Y)
  • Diaspora mapping (Greek/Indian/Nigerian tech workers abroad)
  • Alumni at target companies
  • Buying signals (viewed profile + changed jobs)