LinkedIn APIlinkedin.com ↗
Search LinkedIn job listings with filters for type, level, salary, and location. Retrieve full job details and search the public people directory.
What is the LinkedIn API?
This API covers 4 endpoints across LinkedIn's public job board and people directory. Use search_jobs to run full-text queries against active listings with filters for employment type, experience level, workplace type, salary floor, and posting recency, then call get_job_details to retrieve the complete job description, seniority level, job function, applicant count, and direct apply URL for any individual posting.
curl -X GET 'https://api.parse.bot/scraper/63156746-cbe3-420a-84ff-704dee742857/search_jobs?limit=5&start=0&salary=1&job_type=F&keywords=software+engineer&location=United+States&time_period=r86400&workplace_type=1&experience_level=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search over LinkedIn's public job board. Supports filtering by job type, experience level, workplace type, salary range, and posting recency. Paginates in increments of 25 via the start parameter. Returns job cards with full description text; each result includes the complete job posting description fetched inline, eliminating the need for a separate get_job_details call for description content.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results to return |
| start | integer | Pagination offset (increments of 25) |
| salary | string | Minimum salary filter. |
| job_type | string | Employment type filter. |
| keywords | string | Search keywords (job title, skills, etc.) |
| location | string | Location to search in (city, state, country) |
| time_period | string | Time posted filter. |
| workplace_type | string | Workplace type filter. |
| experience_level | string | Experience level filter. |
{
"type": "object",
"fields": {
"jobs": "array of job card objects with job_id, title, company, company_url, location, posted_date, posted_text, job_url, company_logo, description",
"total_returned": "integer count of jobs returned",
"filters_applied": "object with active filter values (keywords, location, job_type, experience_level, workplace_type, time_period, salary)"
},
"sample": {
"data": {
"jobs": [
{
"title": "Software Engineer, New Grad",
"job_id": "4406118990",
"company": "Notion",
"job_url": "https://www.linkedin.com/jobs/view/software-engineer-new-grad-at-notion-4406118990",
"location": "San Francisco, CA",
"company_url": "https://www.linkedin.com/company/notionhq",
"posted_date": "2026-06-05",
"posted_text": "5 days ago",
"company_logo": "https://media.licdn.com/dms/image/v2/D4E0BAQGwvcv_1tHZ4w/company-logo_100_100/notionhq_logo"
}
],
"total_returned": 5,
"filters_applied": {
"salary": null,
"job_type": null,
"keywords": "software engineer",
"location": "United States",
"time_period": null,
"workplace_type": null,
"experience_level": null
}
},
"status": "success"
}
}About the LinkedIn API
Job Search and Filtering
The search_jobs endpoint accepts keywords, location, and five structured filters: job_type, workplace_type, experience_level, salary, and time_period. Results paginate in increments of 25 via the start parameter. Each result in the jobs array includes a job_id, title, company, company_url, location, posted_date, posted_text, job_url, and company_logo. The filters_applied object in the response echoes back the active filter values so you can confirm what the query actually ran with. To discover valid filter codes before building a query, call get_filters, which returns the accepted option maps for all five filterable dimensions.
Job Detail Retrieval
get_job_details accepts a single job_id (the numeric string from search_jobs results) and returns the full posting. Beyond what the search card exposes, you get the description field with the complete job posting text, a criteria object containing seniority_level, employment_type, job_function, and industries, plus applicants (the count text LinkedIn displays) and apply_url when the poster has set an external application link. Fields like apply_url and applicants are nullable when not present on the original posting.
People Directory Search
search_people queries LinkedIn's public people directory using a keywords string, typically a name or role title. Each page returns up to 50 person objects. Each object includes name, profile_picture_url, headline (which surfaces current company affiliations when available), location, and profile_url. The endpoint is pagination-limited by the limit parameter and echoes the keywords used alongside a total_returned count.
The LinkedIn API is a managed, monitored endpoint for linkedin.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when linkedin.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official linkedin.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate job listings across multiple searches into a custom job board filtered by salary and remote workplace type
- Monitor applicant count growth on specific job IDs to gauge posting competitiveness over time
- Enrich a recruiter CRM by pulling full job descriptions and industries from get_job_details using IDs surfaced in search results
- Match candidate profiles by searching people with search_people using role or skill keywords and extracting headline data
- Build a job alert system that polls search_jobs with time_period filters to surface postings from the last 24 hours
- Validate filter code values programmatically at startup using get_filters before constructing dynamic search queries
- Research hiring trends by querying search_jobs with industry-specific keywords across different locations and experience levels
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.