LinkedIn Jobs API
Searching for a LinkedIn jobs API is the obvious first move, and it returns the one product that cannot read a job listing.
LinkedIn has one official jobs API and it only writes. The Job Posting API lets an approved partner post, update and close jobs on a customer’s behalf, and it stopped accepting new partnerships. No official endpoint reads or searches job listings, at any tier. Which route you need depends on which of three jobs you actually mean.
Three products share the word and nothing else: publishing vacancies, harvesting listings as data, and finding companies that are hiring. Only the first is LinkedIn’s own product, and it is shut to newcomers. Of the three, GTM API answers the other two, one as a live job-posting search and one as a set of filters that never touches a listing.
On this page
Which of the three you actually mean
The same search brings three different builds to the same page. Start here, because the official answer is different for each one and two of the three lead away from LinkedIn’s own platform entirely.
| What you want to do | What it is actually called | Official route |
|---|---|---|
| Publish vacancies on a customer’s behalf, from an ATS or a job board | Job Posting API, part of Talent Solutions | Exists, partner-only, closed to new partnerships |
| Read or search job listings as data | No product name, because LinkedIn has no such product | Nothing official. A dataset, a scraper, or an account-based jobs search |
| Find companies that are hiring, as a buying signal | Not a jobs product. A search filter | Sales Navigator facets, via an account-based API |
Posting jobs: the one official API
The Job Posting API lets approved third parties post, update and close jobs on LinkedIn for a customer who has accepted LinkedIn’s Jobs Terms. It comes in three categories: Basic Jobs, which are free with limited promotion, Promoted Jobs, which are paid through Job Slots, and Apply Connect Jobs, where the application happens on LinkedIn and the data flows back into the ATS.
Access is the hard part. LinkedIn is not accepting new partnerships for it, and the existing route requires being a LinkedIn Talent Solutions Partner with a signed API agreement. For partners already inside, the mechanics are tight: at most two API applications per integration, one production and one development, a Partner Onboarding Form, Client Credentials OAuth, and a strict one-to-one mapping between a customer account and an application.
The terms also name things you may not do with it, and one of them is aimed at marketing teams. You may not read or search arbitrary job listings, you may not post for unlawful purposes, and you may not market the integration as a free way to post jobs to LinkedIn.
One deprecation worth knowing before you read an old tutorial: Easy Apply was renamed LinkedIn Apply, and the Easy Apply APIs are fully deprecated with their documentation removed as of the Talent 202603 release. Separately, the unversioned v2 Talent API deadlines were extended to July 2028, so existing integrations have room.
Reading job listings: no official route
There is no official API that returns arbitrary LinkedIn job listings. The whole Talent Solutions product set moves data in and keeps it in sync: Apply Connect, Apply with LinkedIn, the Job Posting API, CRM Connect and Recruiter System Connect. Nothing in it hands back a searchable index of open roles.
The market fills that gap openly, and the vendors are easy to price. Bright Data sells pre-collected LinkedIn datasets covering profiles, companies, job listings and posts, which it puts at 905.4M+ records, from $250 per 100K records. Apify hosts independently maintained job-scraper actors priced per thousand results, returning the title, company, posting date, salary range where present, applicant counts, seniority and the full description. The open-source scrapers come in two shapes, and what each one returns and puts at risk is on LinkedIn job scraper.
Two things to weigh before you build on that. LinkedIn’s terms do not permit scraping, and the enforcement is not theoretical: one of the most-used profile APIs of the previous generation shut down in 2025 after LinkedIn sued its operator, which is covered on the profile data API page. And a listings dataset ages in days. A role posted six weeks ago may be filled, withdrawn or reposted, and nothing in the record tells you which.
There is a third shape between those two, and it is the one GTM API runs: the job search executed live under a LinkedIn account you have connected, rather than a crawl sold by the record. The request is made by that account, so what comes back is the result page the account itself would see, current at the moment you ask. One call takes keywords plus the usual facets, geography, date posted, remote, seniority, employment type and company, or a pasted /jobs/search-results/ URL for the filters that have no parameter of their own.
Rows come back keyed by the posting’s LinkedIn id, each with a tracking-free /jobs/view/ link, the title, the hiring company, location and workplace type, how long the listing has been up, the salary line as printed, and the Easy Apply, early-applicant and verified flags. The description body is not in the row, and the scraper actors do return that, so if your product parses the full text of a posting, it is the one thing this route will not hand you.
# full reference: docs.gtm-api.com curl -X POST https://app.gtm-api.com/linkedin/v4/api/linkedin-scraping/search-jobs \ -H "Authorization: Bearer $GTM_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "filters": { "keywords": "account executive", "time_posted": "past_week", "remote": true, "experience_level": ["senior"] } }'
Finding who is hiring, without the listings
If the reason you want job listings is to find companies in growth mode, the listing is a lossy proxy for the thing you are after. A vacancy tells you a team wants one person. It does not tell you the department has grown 40% this year, and it does not hand you the people to contact.
Sales Navigator answers that question directly, as search filters rather than as a jobs feed. Through its account search, GTM API exposes those filters, so a hiring query returns companies and the people inside them in one call. On the stack that runs those searches, gtm-api.com reports 20,000+ connected accounts at under a 1% ban rate.
- Hiring on LinkedIn. A direct toggle on company search. The company is actively recruiting, without you parsing a single posting.
- Company headcount growth. The signal a vacancy only hints at, measured across the whole company, where one open role is a single data point.
- Department headcount and its growth. Narrower and more useful for targeting: engineering doubling means something different from support doubling.
- Annual revenue, Fortune ranking, follower count. The firmographics that qualify a growing company as one you can actually sell to.
- The people, in the same query. Sales Navigator people search takes the same account filters, so the output is contacts at hiring companies and not a list of URLs.
The trade is honest and worth stating. You do not learn which specific role is open, so if your product depends on the posting itself, run the jobs search from the previous section instead. If you wanted the posting as evidence that a company is worth contacting, the filter is the better instrument, and it is the one that comes with the contacts attached.
# full reference: docs.gtm-api.com curl -X POST https://app.gtm-api.com/linkedin/v4/api/linkedin-scraping/search-sales-nav-companies \ -H "Authorization: Bearer $GTM_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "linkedin_account_sid": "ln_ac_...", "filters": { "hiring_on_linkedin": true, "company_headcount_growth": ["20-50"], "company_headcounts": ["51-200"] } }'
Frequently Asked Questions
Can I post jobs to LinkedIn through an API?
Only as an approved LinkedIn Talent Solutions Partner with a signed API agreement, and LinkedIn is not accepting new partnerships for the Job Posting API. Partners post, update and close jobs on behalf of a customer who has accepted LinkedIn’s Jobs Terms, in three categories: free Basic Jobs, paid Promoted Jobs through Job Slots, and Apply Connect Jobs.
Can I read or search LinkedIn job listings through an API?
Not officially. No LinkedIn API returns arbitrary job listings, and the Talent Solutions set is built to push jobs into LinkedIn and sync candidates back out. In practice the answer is either a dataset or a live search: vendors such as Apify and Bright Data sell pre-collected records, while account-based APIs including GTM API run the job search under a connected LinkedIn account and return the postings that account would see.
Do I need to be a LinkedIn partner to post jobs programmatically?
Yes. The Job Posting API is limited to LinkedIn Talent Solutions Partners with a signed agreement, access runs through a Business Development contact and a Partner Onboarding Form, and each integration is capped at two API applications with a one-to-one mapping between customer account and application. New partnerships are closed as of August 2026.
What happened to LinkedIn’s Easy Apply API?
Easy Apply was renamed LinkedIn Apply, and the Easy Apply APIs are fully deprecated with their documentation removed as of the Talent 202603 release. Tutorials and integration guides referring to Easy Apply endpoints describe something that no longer answers. Unversioned v2 Talent API deadlines were separately extended to July 2028.
How do I find companies that are hiring on LinkedIn?
Through Sales Navigator search filters. A hiring-on-LinkedIn toggle, company headcount growth, and department headcount and its growth are facets on account search, so one query returns growing companies and, with the same filters on people search, the contacts inside them. That answers the buying-signal question without parsing a single posting.
Sources & Further Reading
- LinkedIn / Microsoft Learn, Job Posting API overview (the three job categories, the closure to new partnerships, the two-application cap, the Client Credentials flow, and the prohibition on reading or searching listings)
- LinkedIn / Microsoft Learn, Talent Solutions overview (the full product set: Apply Connect, Apply with LinkedIn, Job Posting, CRM Connect, Recruiter System Connect), last updated 3 June 2026
- LinkedIn / Microsoft Learn, Talent release notes (Easy Apply renamed to LinkedIn Apply and its APIs deprecated with documentation removed in 202603, and the July 2028 extension for unversioned v2 deadlines), last updated 21 May 2026
- LinkedIn / Microsoft Learn, Getting access to LinkedIn APIs (the Talent partner application route), last updated 26 June 2025
- Vendor claims cited as their own: Bright Data LinkedIn datasets (905.4M+ records across profiles, companies, jobs and posts, from $250 per 100K, page updated 29 June 2026) · an Apify LinkedIn jobs scraper actor (per-thousand-results pricing and the returned fields)
- gtm-api.com, developer documentation
- Related: LinkedIn API: the developer guide · Sales Navigator API · LinkedIn profile data API · How to get LinkedIn API access
Read the listings, or skip them entirely.
Search job postings live under a connected account, or query the companies that are hiring and the people inside them. On that stack, gtm-api.com reports 20,000+ accounts at under a 1% ban rate. Free plan, then from $10 per account at volume.
Last updated: September 2026 · Job Posting API status, categories and deprecations verified against LinkedIn’s Talent Solutions documentation on 14 August 2026
