> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scrapeunblocker.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scrape company career sites (Greenhouse, Lever, Ashby, Workday and more)

> Every open job on a company's career site hosted on Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable or Recruitee, from its career page `url` (or `provider` + `company`). Each job (`jobs`) has `id`, `title`, `company`, `provider`, `url`, `applyUrl`, `location` and `locations`, `country`, `remote`, `workplaceType` (remote / hybrid / onsite), `department`, `team`, `employmentType`, `postedAt`, `updatedAt`, `requisitionId`, `salary` and `salaryRanges` (min, max, currency, interval) where the ATS publishes pay, `customFields` (the ATS's extra fields) and, with `include_description=true`, `descriptionText` and `descriptionHtml`. A field the ATS does not expose is null. Filter with `keyword` (title words), `location`, `department` and `remote`; `limit` caps the jobs returned. The answer also carries the detected `provider`, `company`, `companyName`, `boardUrl`, `totalJobs` on the board and `matchedJobs`. A link to one posting returns just that posting with its description. Billed one unit per upstream request that returned data (`pagesFetched`): one for a whole Greenhouse, Ashby, Workable or Recruitee board, one per Lever (100 jobs), Workday (20 jobs) or SmartRecruiters (100 jobs) listing page, plus one per Workday / SmartRecruiters posting whose description is read.



## OpenAPI

````yaml /api-reference/openapi.json post /jobs/career-site
openapi: 3.1.0
info:
  title: ScrapeUnblocker API
  description: >-
    Public API for the ScrapeUnblocker proxy/anti-bot service. Authenticate
    every request with the `x-scrapeunblocker-key` header. Documented here:
    page-source extraction, Google SERP scraping, image fetch, and the dedicated
    plugin endpoints (search engines, marketplaces, reviews, travel, social and
    more). All other paths exist for internal operations and are intentionally
    hidden from this spec.
  version: 3.0.0
servers:
  - url: https://api.scrapeunblocker.com
    description: Production
security: []
paths:
  /jobs/career-site:
    post:
      tags:
        - Plugins
      summary: Scrape company career sites (Greenhouse, Lever, Ashby, Workday and more)
      description: >-
        Every open job on a company's career site hosted on Greenhouse, Lever,
        Ashby, Workday, SmartRecruiters, Workable or Recruitee, from its career
        page `url` (or `provider` + `company`). Each job (`jobs`) has `id`,
        `title`, `company`, `provider`, `url`, `applyUrl`, `location` and
        `locations`, `country`, `remote`, `workplaceType` (remote / hybrid /
        onsite), `department`, `team`, `employmentType`, `postedAt`,
        `updatedAt`, `requisitionId`, `salary` and `salaryRanges` (min, max,
        currency, interval) where the ATS publishes pay, `customFields` (the
        ATS's extra fields) and, with `include_description=true`,
        `descriptionText` and `descriptionHtml`. A field the ATS does not expose
        is null. Filter with `keyword` (title words), `location`, `department`
        and `remote`; `limit` caps the jobs returned. The answer also carries
        the detected `provider`, `company`, `companyName`, `boardUrl`,
        `totalJobs` on the board and `matchedJobs`. A link to one posting
        returns just that posting with its description. Billed one unit per
        upstream request that returned data (`pagesFetched`): one for a whole
        Greenhouse, Ashby, Workable or Recruitee board, one per Lever (100
        jobs), Workday (20 jobs) or SmartRecruiters (100 jobs) listing page,
        plus one per Workday / SmartRecruiters posting whose description is
        read.
      operationId: career_site_jobs_jobs_career_site_post
      parameters:
        - name: url
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              The company's career page on its ATS, e.g.
              'https://job-boards.greenhouse.io/stripe',
              'https://jobs.lever.co/palantir', 'https://jobs.ashbyhq.com/ramp',
              'https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite',
              'https://jobs.smartrecruiters.com/Ubisoft2',
              'https://apply.workable.com/huggingface',
              'https://bunq.recruitee.com'. A link to one posting returns just
              that posting.
            title: Url
          description: >-
            The company's career page on its ATS, e.g.
            'https://job-boards.greenhouse.io/stripe',
            'https://jobs.lever.co/palantir', 'https://jobs.ashbyhq.com/ramp',
            'https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite',
            'https://jobs.smartrecruiters.com/Ubisoft2',
            'https://apply.workable.com/huggingface',
            'https://bunq.recruitee.com'. A link to one posting returns just
            that posting.
        - name: provider
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Instead of `url`: the ATS (greenhouse, lever, ashby, workday,
              smartrecruiters, workable, recruitee), with `company`.
            title: Provider
          description: >-
            Instead of `url`: the ATS (greenhouse, lever, ashby, workday,
            smartrecruiters, workable, recruitee), with `company`.
        - name: company
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Instead of `url`: the company's board name on that ATS, as in its
              career URL: Greenhouse token ('stripe'), Lever / Ashby / Workable
              / Recruitee slug, SmartRecruiters company id ('Ubisoft2'), Workday
              '<tenant>.wd<N>/<site>' ('nvidia.wd5/NVIDIAExternalCareerSite').
            title: Company
          description: >-
            Instead of `url`: the company's board name on that ATS, as in its
            career URL: Greenhouse token ('stripe'), Lever / Ashby / Workable /
            Recruitee slug, SmartRecruiters company id ('Ubisoft2'), Workday
            '<tenant>.wd<N>/<site>' ('nvidia.wd5/NVIDIAExternalCareerSite').
        - name: keyword
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Only jobs whose title contains every word, e.g. 'software
              engineer'.
            title: Keyword
          description: Only jobs whose title contains every word, e.g. 'software engineer'.
        - name: location
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Only jobs in this place (city, region or country as the company
              writes it, e.g. 'London', 'Germany', 'Remote'); case-insensitive.
            title: Location
          description: >-
            Only jobs in this place (city, region or country as the company
            writes it, e.g. 'London', 'Germany', 'Remote'); case-insensitive.
        - name: department
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Only jobs in this department or team, e.g. 'Engineering'.
            title: Department
          description: Only jobs in this department or team, e.g. 'Engineering'.
        - name: remote
          in: query
          required: false
          schema:
            type: boolean
            description: Only remote jobs.
            default: false
            title: Remote
          description: Only remote jobs.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            description: How many jobs to return (1-2000).
            default: 100
            title: Limit
          description: How many jobs to return (1-2000).
        - name: include_description
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              Add each job's full description (`descriptionText`,
              `descriptionHtml`). On Workday and SmartRecruiters this reads
              every posting separately (one billed request each, at most 300 per
              call).
            default: false
            title: Include Description
          description: >-
            Add each job's full description (`descriptionText`,
            `descriptionHtml`). On Workday and SmartRecruiters this reads every
            posting separately (one billed request each, at most 300 per call).
        - name: proxy_country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Proxy country the requests are sent from (ISO-2, e.g. 'US', 'DE').
              Leave blank to let the API pick.
            title: Proxy Country
          description: >-
            Proxy country the requests are sent from (ISO-2, e.g. 'US', 'DE').
            Leave blank to let the API pick.
      responses:
        '200':
          description: >-
            JSON with a `jobs` array plus the detected board and totals. A board
            with no open jobs (or none matching the filters) answers 200 with an
            empty `jobs` list.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid parameters, or a URL that is not a supported career page.
        '404':
          description: The ATS has no such board, or no such posting.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: >-
            The ATS refused every attempt, answered something that is not its
            job data, or did not answer in time.
      security:
        - ScrapeUnblockerKey: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ScrapeUnblockerKey:
      type: apiKey
      in: header
      name: x-scrapeunblocker-key
      description: Your ScrapeUnblocker API key. Apply on every request.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.