# LinkedIn People Search & Profile Extraction

> LinkedIn People Search & Profile Extraction is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.12/call, status unknown (last checked 2026-10-02).

Search LinkedIn public profiles by name, title, company, school, location, or keywords and optionally enrich results with full profile data

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/linkedin-search?utm_source=zero.xyz
- Price: $0.12/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/linkedin-people-search-profile-extraction-db7ed9be
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BKOb32I1aIg1IyK9KUFpT

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability linkedin-people-search-profile-extraction-db7ed9be -d '<json body>'
```

Example prompt: Find me up to 50 LinkedIn profiles of senior product managers at Stripe or Square based in New York — enrich the results with full profile data so I can see their summaries, schools, and current roles.

## When to prefer this

Choose this endpoint when you need structured LinkedIn people-search results with filtering by name, title, company, school, location, seniority, or job function. It is well-suited for lead generation, recruiting pipelines, competitive research, and building contact lists from LinkedIn's public index. The pay-per-call model with no charge for failed/empty runs makes it cost-effective for exploratory queries. Prefer it over generic web scrapers when you specifically need LinkedIn profile-card data in a structured JSON format with optional enrichment.

## Known failure modes

- Empty result set if search filters are too narrow or profiles are private — not charged
- Profile enrichment blocked by LinkedIn anti-scraping measures — partial rows returned with a flag
- Invalid or expired session cookie causes authenticated search to fall back to public discovery
- Rate limiting or IP blocking by LinkedIn may reduce result count or return error
- Malformed input schema returns a 4xx validation error

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON array of matched LinkedIn profile cards, each containing name, job title, current company, location, school(s), profile URL, summary, and languages. The count of returned items is included. When enrichProfiles is enabled, full public profile data replaces indexed search card snippets; blocked profiles are flagged as partial results. Failed or empty runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "title": {
   "type": "string",
   "description": "Words to match against the visible role or profile summary."
  },
  "cookie": {
   "type": "string",
   "description": "Optional session cookie for authenticated people-search discovery. Keep it private."
  },
  "school": {
   "type": "string",
   "description": "Words to match against public education entries."
  },
  "company": {
   "type": "string",
   "description": "Words to match against the first public employer listed on a profile."
  },
  "queries": {
   "type": "array",
   "description": "Extra people-search phrases to run independently."
  },
  "keywords": {
   "type": "string",
   "description": "Words to search for across indexed public profile cards; visible phrase matching is applied before a row is returned."
  },
  "lastName": {
   "type": "string",
   "description": "Last name to match on the public profile."
  },
  "location": {
   "type": "string",
   "description": "Location words included in discovery; partial cards may lack a visible location and cannot confirm the location."
  },
  "firstName": {
   "type": "string",
   "description": "First name to match on the public profile."
  },
  "maxResults": {
   "type": "integer",
   "default": 100,
   "maximum": 1000,
   "minimum": 1,
   "description": "Maximum number of profile rows to return."
  },
  "profileUrls": {
   "type": "array",
   "description": "Optional known public profile URLs to extract directly when discovery is limited."
  },
  "jobFunctions": {
   "type": "array",
   "description": "Return only rows classified into these job functions."
  },
  "enrichProfiles": {
   "type": "boolean",
   "default": false,
   "description": "Attempt to replace indexed search cards with full public profile data. Blocked pages retain clearly flagged partial search rows."
  },
  "seniorityLevels": {
   "type": "array",
   "description": "Return only rows classified into these seniority levels."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "name": null,
    "schools": null,
    "summary": null,
    "jobTitle": null,
    "location": null,
    "languages": null,
    "profileUrl": null,
    "currentCompany": null
   }
  ],
  "product": "linkedin-search"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/linkedin-people-search-profile-extraction-db7ed9be/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
