ssh.autos

Catalog / Job listings

JOB LISTINGS

LinkedIn Jobs

Search public LinkedIn job postings by keywords and location with date, job-type, remote and experience filters.

PER CALL · X402 / MPP From $0.01 per call 1 endpoint at api.ssh.autos. Pay in USDC, no account. See the endpoint
APIFY STORE Public actor Run it with your Apify account: bulk runs, schedules and exports. Open on Apify

About this data

Search public LinkedIn job postings by keywords and location with date, job-type, remote and experience filters. Each job is one row: title, company, location, posting date, full description, seniority, employment type, job function, industries and applicants. No LinkedIn account needed.

From the actor’s Apify Store listing. The per-call endpoint may return a bounded subset; its own description is below.

Buy per call over x402

One endpoint at api.ssh.autos. Each call is one JSON POST, paid in USDC with no account or API key, and answered in the same HTTP response.

POST /v1/linkedin/jobs

Up to three cards from one public LinkedIn guest-job search page: job ID/link, title, company name/link/logo, location, source posting date/age and benefits where published.

PRICE$0.01 per call, in USDC
RESULTUp to 3 per call
PAYMENTx402 or MPP · no account

One keyword/location search with an optional posted-date filter.

No detail pages, employee profiles, applicant data or pagination.

A successful empty guest fragment returns no records.

Input

Send a JSON body to POST https://api.ssh.autos/v1/linkedin/jobs.

FieldTypeRequiredNotes
querystringrequired1–150 characters
locationstringoptional1–150 characters; default "United States"
datePostedstringoptionalone of any, past24h, pastWeek, pastMonth; default "any"
maxResultsintegeroptional1–3; default 3

Returned fields

The answer is JSON: records, a list of up to 3, and summary, the run status and counts. Each record has these 25 fields; a field the source does not publish comes back null.

25 fields per record
FieldTypeNotes
jobIdstringLinkedIn job posting id.
urlstringCanonical job page link.
companyNamestring—
companyUrlstringCompany page on LinkedIn.
companyLogostring—
locationstring—
postedAtstringPosting date (YYYY-MM-DD) from the search card.
postedAgostringRelative posting time as LinkedIn shows it, e.g. "2 weeks ago".
salarystringSalary text when LinkedIn shows one; null otherwise.
benefitsstringCard badge such as "Actively Hiring" or "Be an early applicant".
descriptionTextstringFull job description as plain text (null when details are off).
descriptionHtmlstringFull job description HTML (null when details are off).
seniorityLevelstring—
employmentTypestring—
jobFunctionstringJob function when the public job page shows it; LinkedIn currently omits it, so usually null.
industriesstring—
applicantsTextstringApplicant caption, e.g. "Over 200 applicants".
applicantsCountintegerNumber in the applicant caption ("Over 200" gives 200).
applyTypestringoffsite = apply on the company site; easyApply = apply on LinkedIn.
one of offsite, easyApply
applyUrlstringExternal apply link when the public job page exposes one; usually null for signed-out visitors.
isClosedbooleanTrue when the job no longer accepts applications; null when details are off.
searchKeywordsstring—
searchLocationstring—
searchPositionintegerRank of the job in its search results.
scrapedAtstring—

Example call

TERMINAL · $0.01 PER RUN
npx agentcash@latest fetch https://api.ssh.autos/v1/linkedin/jobs -m POST -b '{"query": "python developer", "location": "United States", "maxResults": 2}'

The example values come from the API spec or the actor’s own sample input. Running it is a paid call.

What is and isn’t charged

Free

  • Invalid input (422), busy (503), source failure (502), timeout (504) and calls whose client hung up are never charged.
  • Invalid input and source failures are not charged.

Prefer a subscription? Run it on Apify

This data source is a public actor on the Apify Store: LinkedIn Jobs Scraper. Run it with your Apify account and plan for larger, scheduled or exported runs; it may offer more input options than the per-call endpoint.

Open on Apify

How x402 payment works

  1. Your client sends the request. The API answers 402 Payment Required with the price and where to pay.
  2. The client pays from its own wallet: USDC on Base or Solana over x402, or over MPP on Tempo. No account, sign-up or API key.
  3. The client retries with the payment attached and gets the JSON answer in the same call. You are only charged for answers.

The AgentCash CLI in the example does all three steps for you and pays from your AgentCash wallet. Any x402 or MPP client works the same way.

Machine-readable: openapi.json · llms.txt

Some links to Apify are affiliate links. We may earn a commission if you sign up and become a paying customer.