Search LinkedIn jobs
Input
keywords requiredFree-text job search query, same as the jobs search box (e.g. "data engineer").
page optional1-based page, 25 jobs per page (start=(page-1)*25). Caller loops while (page-1)*25 < total. Job lists move as postings open/close; cross-page fan-out can skip/dupe near edits.
Default: 1sortBy optionalSort order. Default: relevance (LinkedIn's own default).
Default: "relevance"location optionalFree-text location (e.g. "Paris, France", "Germany"). Resolved server-side by LinkedIn's own geo resolution (battle-tested: "Paris, France" → "Paris, Île-de-France, France"). Omit for Worldwide — the script then pins geoId=92000000 ON PURPOSE because LinkedIn's UI default silently restricts to the viewer's country.
datePosted optionalPosted-date window (f_TPR). Omit for any time.
workplaceTypes optionalWorkplace-type filter (f_WT), several allowed (OR). Omit for all.
Output
jobs requiredpage requiredtotal requiredTotal matching postings for this filter, read from the SSR blob. 0 with empty jobs[] = no matching jobs (first-class outcome, not an error).
resolvedLocation optionalThe location label LinkedIn resolved the free-text `location` arg to (e.g. "Paris, Île-de-France, France"), read from the search box. "Worldwide" when no location was given. Returned so the caller can detect a mis-resolved location.
