Discover/LinkedIn API
live

LinkedIn APIlinkedin.com

Search LinkedIn's public job board and retrieve full job details via 3 endpoints. Filter by job type, location, salary, experience level, and workplace type.

Endpoint health
verified 15h ago
get_filters
search_jobs
get_job_details
3/3 passing latest checkself-healing
Endpoints
3
Updated
17h ago

What is the LinkedIn API?

This API exposes 3 endpoints for querying LinkedIn's public job board and retrieving structured posting data. Use search_jobs to run keyword searches filtered by location, salary, job type, experience level, workplace type, and recency — getting back job cards with IDs, titles, companies, and URLs. Feed those IDs into get_job_details to retrieve full descriptions, seniority level, job function, industry classification, applicant counts, and external apply URLs.

Try it
Maximum number of results to return
Pagination offset (increments of 25)
Minimum salary filter.
Employment type filter.
Search keywords (job title, skills, etc.)
Location to search in (city, state, country)
Time posted filter.
Workplace type filter.
Experience level filter.
api.parse.bot/scraper/63156746-cbe3-420a-84ff-704dee742857/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/63156746-cbe3-420a-84ff-704dee742857/search_jobs?limit=5&start=0&salary=6&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'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace linkedin-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: LinkedIn Jobs SDK — search, filter, and drill into job postings."""
from parse_apis.linkedin_jobs_search_api import (
    LinkedIn, JobType, ExperienceLevel, WorkplaceType, TimePeriod, Salary, JobNotFound
)

linkedin = LinkedIn()

# Discover available filters and their accepted values
filters = linkedin.filteroptionses.get()
print(filters.job_type.description, filters.job_type.options)

# Search for remote senior data engineering jobs posted in the past week
for job_summary in linkedin.jobsummaries.search(
    keywords="data engineer",
    location="New York",
    job_type=JobType.FULL_TIME,
    workplace_type=WorkplaceType.REMOTE,
    experience_level=ExperienceLevel.MID_SENIOR,
    time_period=TimePeriod.PAST_WEEK,
    salary=Salary.USD_120K,
    limit=5,
):
    print(job_summary.title, job_summary.company, job_summary.location)

# Drill into the first result's full details
first = linkedin.jobsummaries.search(keywords="python developer", limit=1).first()
if first:
    detail = first.details()
    print(detail.title, detail.company, detail.applicants)
    if detail.criteria:
        print(detail.criteria.seniority_level, detail.criteria.employment_type)

# Fetch a job directly by ID with error handling
try:
    job = linkedin.jobs.get(job_id="4407498584")
    print(job.title, job.company, job.location)
except JobNotFound as exc:
    print(f"Job not found: {exc.job_id}")

print("exercised: filteroptionses.get / jobsummaries.search / jobsummary.details / jobs.get")
All endpoints · 3 totalmissing one? ·

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 basic metadata; use get_job_details for the full posting.

Input
ParamTypeDescription
limitintegerMaximum number of results to return
startintegerPagination offset (increments of 25)
salarystringMinimum salary filter.
job_typestringEmployment type filter.
keywordsstringSearch keywords (job title, skills, etc.)
locationstringLocation to search in (city, state, country)
time_periodstringTime posted filter.
workplace_typestringWorkplace type filter.
experience_levelstringExperience level filter.
Response
{
  "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",
    "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

Searching Jobs

The search_jobs endpoint accepts keywords (job title, skills, or any free-text query) alongside a location string that can be a city, state, or country. Results paginate in increments of 25 via the start offset parameter. Each job card in the jobs array includes job_id, title, company, company_url, location, posted_date, posted_text, job_url, and company_logo. The response also echoes back a filters_applied object so you can confirm which filters were active on a given request.

Filtering Options

Four discrete filter dimensions are available alongside keywords and location: job_type (e.g. full-time, contract, part-time), experience_level, workplace_type (on-site, remote, hybrid), time_period (recency of posting), and salary (minimum salary threshold). If you want to programmatically enumerate accepted values before building a UI, call get_filters — it returns each filter's accepted option codes and their display labels without requiring any parameters.

Job Detail Fields

get_job_details takes a single required job_id (the numeric string from search_jobs results) and returns the complete posting. Notable fields include description (full text of the posting), criteria (an object containing seniority_level, employment_type, job_function, and industries), applicants (the applicant count text as shown on the listing), and apply_url (the external application link when LinkedIn exposes one). Fields like apply_url and applicants are returned as null when the source listing does not include them.

Coverage Notes

All three endpoints target LinkedIn's public job board — postings that are visible without authentication. Data freshness tracks the live listings, and posted_text / posted_date reflect the recency label attached to each posting. Pagination through large result sets is supported but bounded by the limit and start parameters on search_jobs.

Reliability & maintenanceVerified

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.

Last verified
15h ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a job aggregator that pulls listings by keyword and location using search_jobs and displays company logos and posting dates.
  • Track applicant counts on specific job IDs over time using get_job_details to gauge competition for roles.
  • Power a remote-work job board by filtering search_jobs with workplace_type set to remote.
  • Populate a recruiting dashboard that enriches job cards with full descriptions and apply URLs from get_job_details.
  • Dynamically render filter dropdowns in a job search UI using the option maps returned by get_filters.
  • Analyze salary range availability by querying search_jobs with different salary thresholds across the same keyword set.
  • Aggregate job postings by industry or job function using the criteria.industries and criteria.job_function fields from get_job_details.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does LinkedIn have an official developer API for job listings?+
LinkedIn offers a limited official API at developer.linkedin.com, but programmatic access to job listing search and details requires a partnership agreement and is not available to most developers through that program.
What does `get_job_details` return beyond what `search_jobs` provides?+
search_jobs returns lightweight job cards: job_id, title, company, location, posted_text, job_url, and company_logo. get_job_details adds the full description text, the structured criteria object (seniority level, employment type, job function, industries), the applicants count, and the external apply_url when available.
Does the API return LinkedIn company profile data or employee information?+
Not currently. The API covers public job board listings and the metadata attached to individual postings. It does not return company employee counts, follower data, or individual LinkedIn profiles. You can fork this API on Parse and revise it to add endpoints covering those data types.
How does pagination work in `search_jobs`?+
Results paginate in increments of 25 using the start offset parameter. To get the second page of results, set start to 25; for the third page, set it to 50. The total_returned field in each response tells you how many job cards were returned in that call, not the total available on LinkedIn.
Can I filter by a specific company name in `search_jobs`?+
There is no dedicated company filter parameter. You can include a company name in the keywords field to bias results toward that employer, but the endpoint does not guarantee company-scoped filtering the way job_type, experience_level, or workplace_type do. You can fork this API on Parse and revise it to add a dedicated company filter if that endpoint surface is available.
Page content last updated . Spec covers 3 endpoints from linkedin.com.
Related APIs in JobsSee all →
indeed.com API
Search and discover job opportunities on Indeed while accessing detailed job descriptions, company profiles, and salary insights all in one place. Get comprehensive career information including specific compensation data to help you find and evaluate the right job opportunity for you.
jobs.lever.co API
Access job postings on any Lever-hosted company job board. List, filter, search, and group open roles, retrieve full posting details, and extract application form questions via Lever's public API.
cv.lv API
Search for job listings on CV.lv and access detailed job descriptions, categories, locations, and information about top employers. Find the right opportunity by browsing available positions across different industries and regions.
nofluffjobs.com API
Search and filter job openings from No Fluff Jobs by category, seniority level, location, and keywords to find IT, marketing, sales, and HR positions tailored to your needs. Retrieve detailed information about specific job postings including requirements, company details, and employment terms to help you make informed application decisions.
timesjobs.com API
Search and browse job listings from TimesJobs.com to find positions by role, category, and company, while discovering popular job roles, featured employers, and detailed job information. Filter opportunities using available facets and explore career statistics to match your skills with the right opportunities.
builtin.com API
Search and browse tech job listings on Built In to find opportunities that match your skills, then view detailed information about positions including company profiles, salary ranges, benefits, and direct application links. Get job title suggestions to refine your search and discover relevant roles across the tech industry.
monster.com API
Search and retrieve job listings from Monster.com. Supports keyword and location-based search with structured results including job descriptions, salary ranges, company info, and employment details. Also provides access to popular job categories.
seek.com.au API
Search for job listings on SEEK Australia and retrieve detailed information about positions. Browse jobs across any keyword, title, and location, and access full job descriptions, classifications, salary info, and employment details.