Back to Help Center

Searching for people on LinkedIn

Use search_people to search LinkedIn's people directory. On LinkedIn Classic you can filter by keywords, location and industry (include values only), and network_distance (degrees 1, 2, or 3). Everything else, including current company and current job title, is a Sales Navigator filter. Sales Navigator accepts a 1-25 maximum; LinkedIn Classic returns a fixed page of 10, so smaller limits are rejected rather than silently exceeded. Live searches count against your daily search limit (300 by default, resetting at midnight UTC); a matching fresh cache hit does not.

Sales Navigator filters

These canonical filters require Sales Navigator: current_company, past_company, company_headcount, company_type, company_location, function, current_job_title, past_job_title, seniority, years_in_company, years_in_position, years_of_experience, postal_code, first_name, last_name, profile_language, group, school, following_your_company, viewed_your_profile_recently, connections_of, past_colleague, shared_experiences, changed_jobs, posted_on_linkedin, persona, account_list, lead_list, recent_interaction, and saved_resources. Excluding values from location or industry, or passing GROUP in network_distance, also requires Sales Navigator. The older names company and title map to current_company and current_job_title, so they are Sales Navigator-only as well. company_type accepts PUBLIC_COMPANY, EDUCATIONAL_INSTITUTION, SELF_EMPLOYED, GOVERNMENT_AGENCY, NON_PROFIT, SELF_OWNED, PRIVATELY_HELD, or PARTNERSHIP. Supplying any of these auto-routes the search to Sales Navigator, no configuration needed. These filters cannot be represented by Classic. If you explicitly select Classic, have no Sales Navigator seat, or your Sales Navigator session expires, Crispy returns CLASSIC_FALLBACK_UNSAFE, names every offending canonical filter, returns zero results, and does not call Classic.

LinkedIn's own saved-search controls (save_search, load_saved_search, load_recent_search inside a people search) are refused; use Crispy's save_search tool to store searches instead.

You can also paste a full LinkedIn or Sales Navigator search URL into the url parameter and Crispy runs it directly. When you do, all other filters are ignored, so it's the fastest way to reuse targeting you already built in the LinkedIn UI.

Reading the results

Every result includes a crispy_context object with what Crispy already knows about the person: is_connection (a real 1st-degree connection), profile_cached (present in Crispy's local cache), profile_saved (a real connection or deliberately saved profile), invitation_pending, invitation_accepted, viewed_your_profile, and blacklisted. Search results are automatically cached in connections with source=search_cache; this does not create CRM contacts and does not make profile_saved true. You can tell at a glance who is safe to contact without extra lookups.

Common mistakes: - Filtering by company or job title on LinkedIn Classic. current_company and current_job_title (and the older company and title) need Sales Navigator; on Classic the search fails with CLASSIC_FALLBACK_UNSAFE instead of returning a wider list. Without Sales Navigator you can put the company or role in keywords, but that is a broader text match, not a company or title filter. - Paging forever. Sales Navigator exposes up to 2,500 viewable lead results; Classic may exhaust earlier. If new results stop appearing, narrow with location or other filters instead of paging deeper. - Re-running the same search and burning your daily budget. Results are cached, add refresh: true only when you genuinely need live data.

Pro tip: results are automatically cached in your local profile library in the background, so you can recall people later with zero API calls.

Still stuck? Email [email protected] or browse answered questions.