{
  "openapi": "3.0.1",
  "info": {
    "title": "SmartRecruiters Jobs Scraper — Keyword Search, No Company ID",
    "description": "Search live SmartRecruiters jobs by keyword across the employers hiring for it (no company ID needed), or pull every opening from specific companies. Full descriptions, published salaries, apply links, location, remote/hybrid and custom fields. No login.",
    "version": "0.1",
    "x-build-id": "S2Nwtb5sVz4PyfRnq"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yugenox~smartrecruiters-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yugenox-smartrecruiters-jobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/yugenox~smartrecruiters-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-yugenox-smartrecruiters-jobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/yugenox~smartrecruiters-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-yugenox-smartrecruiters-jobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "title": "Search keywords",
            "type": "array",
            "description": "Job titles or skills to search for, e.g. \"data analyst\" or \"nurse\". Without companies, the scraper finds the SmartRecruiters employers currently hiring for each keyword and collects their matching jobs. With companies, keywords filter those companies' jobs.",
            "items": {
              "type": "string"
            }
          },
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "Employers to scrape: the company ID (e.g. \"BoschGroup\"), its careers link (jobs.smartrecruiters.com/BoschGroup or careers.smartrecruiters.com/BoschGroup), a company name (e.g. \"Northwestern Medicine\") or a link to a single job posting. Leave empty to search across all SmartRecruiters employers by keyword.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code (\"us\", \"ca\", \"gb\", \"de\", \"in\"…) or a country name."
          },
          "region": {
            "title": "State / province / region",
            "type": "string",
            "description": "Code or name, e.g. \"CA\" or \"California\", \"ON\" or \"Ontario\". Matches every spelling employers use."
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "e.g. \"Chicago\", \"Toronto\", \"Bengaluru\". Case and accents don't matter."
          },
          "locationType": {
            "title": "Workplace type",
            "enum": [
              "any",
              "ONSITE",
              "HYBRID",
              "REMOTE"
            ],
            "type": "string",
            "description": "On-site, hybrid or remote jobs only.",
            "default": "any"
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "any",
              "24h",
              "3d",
              "7d",
              "14d",
              "30d"
            ],
            "type": "string",
            "description": "Only jobs published in this period. Handy for daily or weekly scheduled runs.",
            "default": "any"
          },
          "postedAfter": {
            "title": "Posted after (date)",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}([T ].*)?$",
            "type": "string",
            "description": "Only jobs published after this date, e.g. 2026-09-01."
          },
          "keywordMatch": {
            "title": "Keyword match",
            "enum": [
              "title",
              "phrase",
              "any"
            ],
            "type": "string",
            "description": "Title: every keyword word appears in the job title (most precise). Phrase: the exact phrase appears anywhere in the job ad. Any: SmartRecruiters' own broad full-text match (most results, least precise).",
            "default": "title"
          },
          "employmentTypes": {
            "title": "Employment type",
            "type": "array",
            "description": "Keep only these employment types. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "full-time",
                "part-time",
                "contract",
                "temporary",
                "internship"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship"
              ]
            }
          },
          "experienceLevels": {
            "title": "Experience level",
            "type": "array",
            "description": "Keep only these experience levels. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "internship",
                "entry_level",
                "associate",
                "mid_senior_level",
                "director",
                "executive",
                "not_applicable"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Associate",
                "Mid-senior level",
                "Director",
                "Executive",
                "Not specified"
              ]
            }
          },
          "language": {
            "title": "Job ad language",
            "type": "string",
            "description": "Two-letter language code of the job ad, e.g. \"en\", \"de\", \"fr\"."
          },
          "includeDetails": {
            "title": "Include full job description",
            "type": "boolean",
            "description": "Adds the full description (HTML + plain text, split into sections), salary where published, referral link and active status. Turn off for faster, lighter runs with listing data only.",
            "default": true
          },
          "maxItems": {
            "title": "Max jobs",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many jobs in total. 0 = no limit.",
            "default": 100
          },
          "maxItemsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 0,
            "type": "integer",
            "description": "Cap per employer, so one big employer doesn't fill the whole run. Empty = no cap."
          },
          "maxCompaniesPerKeyword": {
            "title": "Max companies per keyword",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "For keyword searches without companies: at most this many of the best-matching employers are searched, best first. The run stops earlier once Max jobs is reached.",
            "default": 200
          },
          "onlyNew": {
            "title": "Only new jobs (monitoring)",
            "type": "boolean",
            "description": "Skip jobs this same search already returned in earlier runs on your account. Schedule the actor daily to get just the new postings.",
            "default": false
          },
          "concurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Parallel requests. 15 is fast and gentle; up to 30 for big runs.",
            "default": 15
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy works well (default).",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}