Searching for companies on LinkedIn
Use search_companies to find companies on LinkedIn. Sales Navigator accepts a 1-25 maximum; LinkedIn Classic returns a fixed page of 10, so smaller limits are rejected rather than silently exceeded. Results include a company_id for every match, are cached locally, and count against the daily search limit (300 by default).
Filters that work on Classic and Sales Navigator
keywords(orkeyword)industryandlocation(headquarters): a name, an ID, comma-separated IDs, or{include, exclude}of IDs. Excluding values requires Sales Navigator.headcount: one of the fixed ranges 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, and 10001+, or[{min, max}].has_job_offers: truefor companies hiring on LinkedIn.falseis refused, because LinkedIn does not document what it means.network_distance: connection degrees 1, 2, or 3.
Sales Navigator-only filters
location_by_postal_code, headcount_growth, department_headcount, department_headcount_growth, annual_revenue, followers_count, fortune, technologies, recent_activities (FUNDING_EVENTS, SENIOR_LEADERSHIP_CHANGES), saved_accounts, and account_lists. For annual_revenue, currency is an uppercase code such as USD, and a max of 1001 means 1000+.
With a Sales Navigator seat, any of these, or headcount or industry, routes the search to Sales Navigator automatically; set linkedin_api to override. If you explicitly select Classic, have no Sales Navigator seat, or your Sales Navigator session expires, a search with a Sales Navigator-only filter returns CLASSIC_FALLBACK_UNSAFE, names every offending filter, returns zero results, and does not call Classic. The same holds for saved company searches, run_search_to_list, and the nightly cache refresh.
LinkedIn's own saved-search controls (save_search, saved_search_id, recent_search_id, last_viewed_at inside a company search) are refused; use Crispy's save_search tool instead. You can also paste a LinkedIn or Sales Navigator company search URL into the url parameter to run it directly; all other filters are then ignored.
In the CLI, crispy search companies --api sales_navigator --max-results 500 collects up to 2,500 companies one page at a time, removes duplicates, and reports why it stopped.
The real power is chaining company search into people search:
- Search companies matching your ICP, for example software companies in London with 51-200 employees.
- Take the
company_idfrom each result. - With Sales Navigator, run
search_peoplewith that company incurrent_company, plus acurrent_job_titleorseniorityfilter.
Company and job title filters on people search require Sales Navigator. On LinkedIn Classic, a people search with current_company or current_job_title (or the older company and title) returns CLASSIC_FALLBACK_UNSAFE with zero results rather than a wider list.
Common mistakes: - Using an invalid headcount string. Only the fixed ranges listed above are accepted, and anything else is refused rather than ignored. - Passing a Sales Navigator-only filter without a seat. The search fails closed; remove the filter or reconnect Sales Navigator. - Chaining into a Classic people search with a company filter. Classic cannot filter people by company, so the search fails closed.
Pro tip: for account-based outreach, save the company search with save_search (search_type companies). Re-running it periodically surfaces new companies entering your ICP, which are often the best-timed accounts to approach.