st.searchJobs

This action allows you to search for jobs applying various filtering criteria.

Constraints

Root Start: allowed.

Parent Actions: N/A.

Child Actions: st.doForJobs.

Parameters

json
{
  "actionType": "st.searchJobs",
  "label": "productManagerSearch1",
  "term": "product manager",
  "limit": 2,
  "filter": {
    "location": "San Francisco, California, United States",
    "datePosted": "pastWeek",
    "experienceLevels": ["midSeniorLevel", "director"],
    "employmentTypes": ["fullTime"],
    "workplaceTypes": ["remote", "hybrid"],
    "companies": ["Example Company"],
    "industries": ["Software Development"],
    "jobFunctions": ["Product Management"],
    "easyApply": true,
    "hasVerifications": true,
    "under10Applicants": false,
    "inYourNetwork": false,
    "fairChanceEmployer": false
  },
  "customSearchUrl": "https://www.linkedin.com/jobs/search/?keywords=product%20manager",
  "then": { ... }
}
  • label (optional) - custom label for tracking this action in workflow completion.
  • term (optional) - keyword or phrase to search. If omitted, Linked API starts from a broad jobs search and applies the provided filters.
  • limit (optional) - number of search results to return. Defaults to 10, with a maximum value of 1000.
  • filter (optional) - object that specifies filtering criteria for jobs. When multiple filter fields are specified, they are combined using AND logic.
    • location (optional) - free-form location string selected through LinkedIn jobs location search.
    • datePosted (optional) - enum with possible values:
      • anyTime.
      • past24Hours.
      • pastWeek.
      • pastMonth.
    • experienceLevels (optional) - array of enums with possible values:
      • internship.
      • entryLevel.
      • associate.
      • midSeniorLevel.
      • director.
      • executive.
    • employmentTypes (optional) - array of enums with possible values:
      • fullTime.
      • partTime.
      • contract.
      • temporary.
      • volunteer.
      • internship.
      • other.
    • workplaceTypes (optional) - array of enums with possible values:
      • onSite.
      • remote.
      • hybrid.
    • companies (optional) - array of company names selected through LinkedIn jobs company search.
    • industries (optional) - array of industry names selected through LinkedIn jobs industry search.
    • jobFunctions (optional) - array of job function names selected through LinkedIn jobs job-function search.
    • easyApply (optional) - when true, filters to jobs with Easy Apply.
    • hasVerifications (optional) - when true, filters to jobs with verification signals.
    • under10Applicants (optional) - when true, filters to jobs with fewer than 10 applicants.
    • inYourNetwork (optional) - when true, filters to jobs from your network.
    • fairChanceEmployer (optional) - when true, filters to fair chance employer jobs.
  • customSearchUrl (optional) - URL copied from a LinkedIn jobs search page after configuring desired filters. When specified, it overrides term and filter.
  • then (optional) - object or array of child actions to be executed within this action.

Result options

  1. Successful search:
json
{
  "actionType": "st.searchJobs",
  "label": "productManagerSearch1",
  "success": true,
  "data": [
    {
      "jobId": "4416248954",
      "jobUrl": "https://www.linkedin.com/jobs/view/4416248954/",
      "title": "Senior Product Manager",
      "companyName": "Example Company",
      "location": "San Francisco, CA",
      "workplaceType": "remote",
      "salary": {
        "currency": "usd",
        "minAmount": 140000,
        "maxAmount": 180000,
        "period": "yearly"
      },
      "easyApply": true,
      "isPromoted": false,
      "then": { ... }
    }
  ]
}
  • label - included only if specified in the action parameters.
  • data - array of search outputs with results of child actions execution.
    • jobId - LinkedIn job identifier, when it can be extracted.
    • jobUrl - LinkedIn job URL, when jobId can be extracted.
    • title - job title.
    • companyName - company name, if available.
    • location - free-form job location, if available.
    • workplaceType - workplace type label as shown by LinkedIn (such as remote, hybrid, or on-site), if available. Not one of the workplaceTypes filter values.
    • salary - parsed salary range, if LinkedIn shows one.
      • currency - lowercase currency code, such as usd, eur, or gbp.
      • minAmount - minimum amount in the parsed range.
      • maxAmount - maximum amount in the parsed range.
      • period - salary period. Possible values are yearly, monthly, and hourly.
    • easyApply - boolean indicating whether the search card mentions Easy Apply.
    • isPromoted - boolean indicating whether the search card is promoted.
    • then - results of child actions execution.
  1. Failed search:
json
{
  "actionType": "st.searchJobs",
  "label": "productManagerSearch1",
  "success": false,
  "error": {
    "type": "searchingNotAllowed",
    "message": "LinkedIn has blocked performing the search."
  }
}
  • label - included only if specified in the action parameters.
  • error.type - enum with the following possible values:
    • searchingNotAllowed - LinkedIn has blocked performing the search due to exceeding limits or other restrictions.