# API Direct – LinkedIn Job Search

> API Direct – LinkedIn Job Search is a paid API for AI agents from x402.apidirect.io, paid per call via x402, $0.007/call, status unknown (last checked 2026-10-30).

Search LinkedIn job listings by keyword with filters for location, job type, recency, company, and sort order.

## Facts

- Endpoint: GET https://x402.apidirect.io/v1/linkedin/jobs?utm_source=zero.xyz
- Price: $0.007/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-direct-linkedin-job-search-3c405f42
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ADhDZt-TU5crECWCgBij8

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 api-direct-linkedin-job-search-3c405f42
```

Example prompt: Search LinkedIn for full-time machine learning engineer jobs posted in the last 7 days, sorted by most recent, and show me the first page of results.

## When to prefer this

Use this endpoint when you need to programmatically search LinkedIn job postings with flexible filters like job type, recency, company, and location. Prefer it over generic job board APIs when LinkedIn's professional network data is specifically required, or when you need to filter by LinkedIn-specific company IDs and location IDs.

## Known failure modes

- Invalid job_type value returns 400
- Page number above 40 returns 400
- Non-numeric location_id returns 400
- Empty or missing query parameter causes a validation error
- LinkedIn rate limiting or access restrictions may result in partial or empty results
- Stale listings may appear if LinkedIn's index hasn't updated

## How this service works

Search for LinkedIn job listings by keyword.

## Output

A paginated list of LinkedIn job listings matching the query, each typically including job title, company name, location, posting date, job type, and a link to the LinkedIn listing. Up to 25 jobs per page, with up to 40 pages available.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "query"
     ],
     "properties": {
      "page": {
       "type": "integer",
       "default": 1,
       "maximum": 40,
       "minimum": 1,
       "description": "Page number for pagination (1-40). 25 jobs per page; LinkedIn shows only the first 40 pages of results. Values below 1 are treated as 1; a page above 40 returns 400."
      },
      "query": {
       "type": "string",
       "maxLength": 500,
       "description": "Search query (max 500 characters)"
      },
      "sort_by": {
       "enum": [
        "most_recent",
        "relevance"
       ],
       "type": "string",
       "default": "relevance",
       "description": "Sort order for results"
      },
      "job_type": {
       "type": "string",
       "description": "Filter by employment type. Comma-separate multiple values (e.g., `full_time,contract`). Allowed values: full_time, part_time, contract, temporary, volunteer, internship, other. Any other value returns 400."
      },
      "posted_ago": {
       "enum": [
        "1h",
        "24h",
        "7d",
        "30d"
       ],
       "type": "string",
       "description": "Filter by maximum job age. Defaults to all time when omitted."
      },
      "company_ids": {
       "type": "string",
       "description": "Filter by company. Comma-separated LinkedIn company IDs (get IDs from the Search Companies endpoint)."
      },
      "location_id": {
       "type": "string",
       "description": "Filter by location. A numeric LinkedIn location ID. Non-numeric values return 400."
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-direct-linkedin-job-search-3c405f42/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.apidirect.io](https://www.zero.xyz/host/x402.apidirect.io/llms.txt)
