Search people on LinkedIn
linkedin_search_peopleSearch LinkedIn for people by keywords and filters. Solves 'who is the X at Y' questions without a profile URL.
Instructions
Find people on LinkedIn by keywords and filters. The right tool when you have a name, role, or 'who is the X at Y' question without a profile URL. Pass keywords (free text: name, title, or both) and any of first_name, last_name, title, school, current_company, past_company. If keywords is omitted it is derived from the name or title filters; school or company filters alone are rejected with INVALID_INPUT, so include keywords with those. Company filters accept a company name, slug, numeric id, or URN. current_company names are matched by LinkedIn's own company search: typo-tolerant and fuzzy, so results can include people whose headline merely mentions the company; when you need exact filtering, pass the numeric id or URN (linkedin_get_company returns both). past_company names are resolved to an id for you. Costs 10 credits including the first 10 results; each further 10 results add 1 credit (limit max 30; trial keys max 10). A cursor page is a NEW call priced the same way by its own limit, so one limit=30 call is much cheaper than three limit=10 pages; prefer a larger limit over paginating. Do NOT combine a past_company NAME or a company-URL filter with limit=30: resolving those spends one of the call's three internal fetches, so that combination is rejected; keep limit<=20 with them or pass the numeric id. current_company names never spend a fetch, so they combine with any limit. Returns name, position, location, urn, public_identifier per result, a cursor for the next page, and total_matches. Results with is_anonymous=true are private profiles; do not pass them to linkedin_get_profile. For one known person with a URL/slug, call linkedin_get_profile directly instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many results to return. | |
| title | No | Current job title filter. | |
| cursor | No | Cursor from a previous page. | |
| school | No | School or university name filter. | |
| keywords | No | Free-text query: a name, a title, or both. | |
| freshness | No | recent (default) serves cached data from the last few hours when available; realtime forces a live fetch for +2 credits (refunded if we fall back to cached data). Trial keys are cached-only and reject realtime with TRIAL_CAP_EXCEEDED; paying upgrades this same key to unlock it. | recent |
| last_name | No | Last-name filter, exact match. | |
| first_name | No | First-name filter, exact match. | |
| max_credits | No | Spend ceiling for this one call. The call is rejected (nothing charged) if its quote exceeds this. Only the quote is ever reserved, never this ceiling. | |
| past_company | No | Same accepted forms as current_company; names are resolved to an id server-side. | |
| current_company | No | Company name, slug, numeric id, or urn:li:fsd_company URN. Names are fuzzy-matched by LinkedIn; ids and URNs filter exactly. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| usage | Yes | ||
| common | Yes | ||
| entity | Yes | ||
| platform | Yes | ||
| freshness | Yes | ||
| data_as_of | Yes | ||
| canonical_url | Yes | ||
| schema_version | Yes | ||
| platform_fields | Yes |