Skip to main content
Glama

Search people on LinkedIn

linkedin_search_people
Read-only

Search 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

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many results to return.
titleNoCurrent job title filter.
cursorNoCursor from a previous page.
schoolNoSchool or university name filter.
keywordsNoFree-text query: a name, a title, or both.
freshnessNorecent (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_nameNoLast-name filter, exact match.
first_nameNoFirst-name filter, exact match.
max_creditsNoSpend 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_companyNoSame accepted forms as current_company; names are resolved to an id server-side.
current_companyNoCompany name, slug, numeric id, or urn:li:fsd_company URN. Names are fuzzy-matched by LinkedIn; ids and URNs filter exactly.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
usageYes
commonYes
entityYes
platformYes
freshnessYes
data_as_ofYes
canonical_urlYes
schema_versionYes
platform_fieldsYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description expands significantly beyond annotations (readOnlyHint, openWorldHint). Discloses credit costs (10 + 1 per 10 results), pagination pricing, limit restrictions, freshness behavior, company matching details, and anonymous profile handling. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lengthy but each sentence adds value. It is front-loaded with main purpose and key usage. Could benefit from slightly more structured formatting (e.g., bullet points), but the information density is high and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (11 params, credit system, fuzzy matching), the description covers input guidance, parameter interactions, cost model, limit constraints, output fields, and post-processing advice. The output schema is referenced but description already states return fields, making it complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even with 100% schema coverage, the description adds substantial meaning: explains parameter interactions (e.g., keywords derived from name/title, school/company rejection), accepted forms for company filters, credit cost implications, and freshness behavior. This goes well beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states purpose: 'Find people on LinkedIn by keywords and filters.' It distinguishes from sibling tools by specifying when to use it (without a profile URL) vs. linkedin_get_profile. Clear verb (find/search) and resource (people on LinkedIn).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use ('right tool... without a profile URL'), when-not-to-use (avoid combining past_company name with limit=30, don't pass anonymous profiles to get_profile), and alternatives (use linkedin_get_profile for known URL). Also explains cost implications and parameter constraints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/veezeehq/veezee-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server