LinkedIn job postings by title, company or location
apify.linkedin.search.jobsScrape LinkedIn job postings by title, company, location or filters — the hiring-signal search that also answers 'what is this company hiring for' via the company filter
- Price
- $0.001/resultAu prix du fournisseur
- Success rate
- 100 %Last 30 days · 6 106 calls
- Latency p50
- 6.5 sp95 41 s
- Last verified
- 26 sept. 2026Verified working
POSThttps://toolswitch.dev/v1/tools/apify.linkedin.search.jobs?timeout=90&maxItems=1&maxTotalChargeUsd=0.05Preview- Uses platform quota
- Synchronous response
- Reads public data
Paramètres
only the declared body fields are accepted: geoIds is refused because the actor bills a start for each geo id it searches — name places in `locations` instead. The response is the dataset items array directly — no run envelope. Community actor scraping LinkedIn's public job search: no LinkedIn login needed, but expect the flakiness every LinkedIn scraper shows — retry before concluding a company has no openings
| Paramètre | Type | Obligatoire | Description | Exemple |
|---|---|---|---|---|
| Paramètres de requête | ||||
timeout | entier | Facultatif | treg's key requires 1-90 so the run and its rows arrive before any wait gives up (a larger pull needs your own key). seconds before the synchronous run is cut off; Apify closes the connection at 300s regardless | 90 |
maxItems | entier | Facultatif | optional row cap; pay-per-event actors that take the row count from their own input ignore it, so maxTotalChargeUsd is the spend limit | 25 |
maxTotalChargeUsd | nombre | Facultatif | the spend cap Apify enforces on every event this run bills, in dollars. treg's key requires it, above 0 and at most 1, and holds it for the call | 0.5 |
- Paramètres de requête
timeoutentierFacultatiftreg's key requires 1-90 so the run and its rows arrive before any wait gives up (a larger pull needs your own key). seconds before the synchronous run is cut off; Apify closes the connection at 300s regardless
Exemple :
90maxItemsentierFacultatifoptional row cap; pay-per-event actors that take the row count from their own input ignore it, so maxTotalChargeUsd is the spend limit
Exemple :
25maxTotalChargeUsdnombreFacultatifthe spend cap Apify enforces on every event this run bills, in dollars. treg's key requires it, above 0 and at most 1, and holds it for the call
Exemple :
0.5
Exemples de code
Remplacez $TOOLSWITCH_KEY par la clé créée dans la console.
curl -X POST 'https://toolswitch.dev/v1/tools/apify.linkedin.search.jobs?timeout=90&maxItems=1&maxTotalChargeUsd=0.05' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY" \
-H "Content-Type: application/json" \
--data-raw '{"maxItems":1,"jobTitles":["attorney"],"locations":["Miami, Florida"]}'import os
import json
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/apify.linkedin.search.jobs?timeout=90&maxItems=1&maxTotalChargeUsd=0.05",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
json=json.loads("{\"maxItems\":1,\"jobTitles\":[\"attorney\"],\"locations\":[\"Miami, Florida\"]}"),
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/apify.linkedin.search.jobs?timeout=90&maxItems=1&maxTotalChargeUsd=0.05", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
"Content-Type": "application/json",
},
body: JSON.stringify(JSON.parse("{\"maxItems\":1,\"jobTitles\":[\"attorney\"],\"locations\":[\"Miami, Florida\"]}")),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());Cette API de passerelle est en préversion ; son URL et son authentification peuvent changer. Les paramètres de l’exemple sont des données fictives. Les appels sont facturés à $0.001/result, frais de service inclus.