LinkedIn APIlinkedin.com ↗
Search LinkedIn jobs, look up job details, browse the public people directory, read profile activity, and fetch top posts by topic. 7 endpoints.
What is the LinkedIn API?
This API covers 7 endpoints across LinkedIn's public job board, people directory, profile activity feeds, and Top Content post directory. Use search_jobs to query job listings with filters for employment type, workplace type, salary, and recency, then drill into any posting with get_job_details to retrieve the full description, seniority level, job function, and applicant count. Separate endpoints handle people search, profile activity, and browsing public posts by topic.
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 Posting Details
search_jobs accepts keywords, location, job_type, workplace_type, salary, time_period, and experience_level filters and paginates via the start parameter in increments of 25. Each result in the jobs array includes job_id, title, company, location, posted_date, job_url, company_logo, and the full description text. To enumerate all valid filter codes before querying, call get_filters — it returns an options map for every filterable field with accepted code values and display labels. Once you have a job_id, get_job_details returns the full posting: description, criteria (containing seniority_level, employment_type, job_function, and industries), applicants count text, and apply_url when present.
People Directory and Profile Activity
search_people accepts a keywords string (typically a name or role) and returns up to 50 people per page, each with name, profile_picture_url, headline, location, and profile_url. Results reflect LinkedIn's public directory — data shown is limited to what LinkedIn surfaces without authentication. get_profile_activity takes a profile_id (the URL slug, e.g. williamhgates) and returns recent public posts, reposts, and reactions. Each activity item includes activity_type, author, author_url, timestamp, target_author, and the post text and URL.
Top Content Posts by Topic
list_post_topics maps LinkedIn's public Top Content directory tree. Called with no parameters it returns roughly 40 top-level category slugs such as technology or supply-chain-management; pass one of those slugs as topic to retrieve its sub-topics. search_posts then accepts a topic slug path and returns up to 50 recent public posts with post_id, post_url, author, author_headline, author_followers, text, reactions_count, and comments_count. Pass sort_by_engagement=true to order results by combined reaction and comment counts. An optional keywords parameter filters posts to those containing all specified words. Note that LinkedIn's free-text post search and hashtag feeds require sign-in and are outside the scope of this endpoint.
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?+
- Build a job aggregator that filters LinkedIn postings by salary range, remote workplace type, and seniority level using search_jobs and get_job_details.
- Track applicant counts and job function data for a set of open roles to benchmark posting competitiveness.
- Power a recruiter tool that looks up candidates by name via search_people and returns headline and location data.
- Monitor a public LinkedIn profile's recent posts, reposts, and reactions with get_profile_activity to track thought-leadership output.
- Surface trending industry content by fetching top-engagement posts from a specific topic using search_posts with sort_by_engagement.
- Discover available topic sub-categories with list_post_topics to build a content taxonomy for a content marketing dashboard.
- Export job criteria fields — including industries and job_function — from get_job_details to classify and tag listings in a recruitment CRM.
| 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.