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

# Search Google Jobs

> Search Google Jobs



## OpenAPI

````yaml GET /v1/google/jobs/search
openapi: 3.1.0
info:
  title: ScrapeBadger Google Scraper
  description: >-
    Dedicated API for scraping Google products (SERP, Maps, News, Hotels,
    Trends, Jobs, Shopping, Patents, Scholar, Autocomplete, Images, Videos,
    Finance, AI Mode, Lens, Products).
  version: 1.0.0
servers:
  - url: https://scrapebadger.com
    description: Production
security:
  - apiKeyAuth: []
paths:
  /v1/google/jobs/search:
    get:
      tags:
        - Google Jobs
      summary: Search Google Jobs
      description: |-
        Search Google Jobs.

        Two data sources are available via ``mode``:

        - ``mode=rpc`` (default) — Google's own Careers SPA RPC. Very fast
          (~300 ms), richly structured (title, apply URL, company,
          locations, responsibilities, qualifications, posted-at,
          experience levels). Scope limited to Google's openings.
        - ``mode=serp`` — public Google Jobs SERP (aggregator).
      operationId: jobs_search_api_v1_jobs_search_get
      parameters:
        - name: q
          in: query
          required: true
          schema:
            type: string
            description: Job title / keywords / combined query.
            title: Q
          description: Job title / keywords / combined query.
        - name: location
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              City / state / region — concatenated with `q` before sending to
              Google.
            title: Location
          description: >-
            City / state / region — concatenated with `q` before sending to
            Google.
        - name: gl
          in: query
          required: false
          schema:
            type: string
            description: Country code (ISO 3166 alpha-2).
            default: us
            title: Gl
          description: Country code (ISO 3166 alpha-2).
        - name: country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Alias for `gl`; when present overrides it.
            title: Country
          description: Alias for `gl`; when present overrides it.
        - name: hl
          in: query
          required: false
          schema:
            type: string
            description: Language code.
            default: en
            title: Hl
          description: Language code.
        - name: language
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Alias for `hl`; when present overrides it.
            title: Language
          description: Alias for `hl`; when present overrides it.
        - name: domain
          in: query
          required: false
          schema:
            type: string
            description: >-
              Google domain for locale-specific results (`google.com`,
              `google.co.uk`, `google.co.in`, …).
            default: google.com
            title: Domain
          description: >-
            Google domain for locale-specific results (`google.com`,
            `google.co.uk`, `google.co.in`, …).
        - name: job_type
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - FULLTIME
                  - PARTTIME
                  - CONTRACTOR
                  - INTERN
                type: string
              - type: 'null'
            description: Employment type — translated into a `chips` filter.
            title: Job Type
          description: Employment type — translated into a `chips` filter.
        - name: date_posted
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - today
                  - 3days
                  - week
                  - month
                type: string
              - type: 'null'
            description: Posted-date window — translated into a `chips` filter.
            title: Date Posted
          description: Posted-date window — translated into a `chips` filter.
        - name: ltype
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - remote
                  - hybrid
                  - onsite
                  - work_from_home
                type: string
              - type: 'null'
            description: Work arrangement — maps onto Google's remote/hybrid/onsite chips.
            title: Ltype
          description: Work arrangement — maps onto Google's remote/hybrid/onsite chips.
        - name: chips
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Raw Google chip-filter string (comma-separated). Merged with any
              structured filters (`job_type`, `date_posted`, `ltype`).
            title: Chips
          description: >-
            Raw Google chip-filter string (comma-separated). Merged with any
            structured filters (`job_type`, `date_posted`, `ltype`).
        - name: uds
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Opaque Google filter token harvested from a prior Jobs search URL.
            title: Uds
          description: Opaque Google filter token harvested from a prior Jobs search URL.
        - name: uule
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Google's UULE-encoded location (e.g.
              `w+CAIQIFJlbGF5IFN0YXRlcw==`).
            title: Uule
          description: Google's UULE-encoded location (e.g. `w+CAIQIFJlbGF5IFN0YXRlcw==`).
        - name: lrad
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Search radius around the location (Google accepts a distance in
              miles).
            title: Lrad
          description: >-
            Search radius around the location (Google accepts a distance in
            miles).
        - name: next_page_token
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Opaque token from the previous response's `pagination.next`.
            title: Next Page Token
          description: Opaque token from the previous response's `pagination.next`.
        - name: mode
          in: query
          required: false
          schema:
            enum:
              - rpc
              - serp
            type: string
            description: >-
              Data source. ``rpc`` (default, ~300 ms) replays Google's own
              ``r06xKb`` batchexecute RPC on the Google Careers portal — clean
              JSON, 20 roles per page, scope = Google's internal openings.
              ``serp`` uses the public Jobs search vertical (``udm=8``,
              SERP-embedded, 3rd-party aggregator) and costs more latency
              because Google gates it behind JS.
            default: rpc
            title: Mode
          description: >-
            Data source. ``rpc`` (default, ~300 ms) replays Google's own
            ``r06xKb`` batchexecute RPC on the Google Careers portal — clean
            JSON, 20 roles per page, scope = Google's internal openings.
            ``serp`` uses the public Jobs search vertical (``udm=8``,
            SERP-embedded, 3rd-party aggregator) and costs more latency because
            Google gates it behind JS.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobsSearchResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    JobsSearchResponse:
      properties:
        jobs:
          items:
            $ref: '#/components/schemas/JobResult'
          type: array
          title: Jobs
        jobs_results:
          items:
            $ref: '#/components/schemas/JobResult'
          type: array
          title: Jobs Results
        filters:
          items:
            $ref: '#/components/schemas/JobFilter'
          type: array
          title: Filters
        pagination:
          $ref: '#/components/schemas/Pagination'
      type: object
      required:
        - pagination
      title: JobsSearchResponse
      description: Response for GET /api/v1/jobs/search.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    JobResult:
      properties:
        title:
          type: string
          title: Title
        company_name:
          type: string
          title: Company Name
        location:
          anyOf:
            - type: string
            - type: 'null'
          title: Location
        via:
          anyOf:
            - type: string
            - type: 'null'
          title: Via
          description: >-
            Source platform ("Talent.com", "Built In NYC", …) parsed from "via
            X".
        url:
          anyOf:
            - type: string
            - type: 'null'
          title: Url
          description: Canonical Google Jobs listing URL.
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        salary:
          anyOf:
            - $ref: '#/components/schemas/JobSalary'
            - type: 'null'
        job_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Job Type
        schedule_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Schedule Type
        work_from_home:
          type: boolean
          title: Work From Home
          default: false
        posted_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Posted At
        thumbnail:
          anyOf:
            - type: string
            - type: 'null'
          title: Thumbnail
        apply_options:
          items:
            $ref: '#/components/schemas/JobApplyOption'
          type: array
          title: Apply Options
        apply_links:
          items:
            type: string
          type: array
          title: Apply Links
          description: Flat list of apply URLs for quick access.
        job_highlights:
          anyOf:
            - $ref: '#/components/schemas/JobHighlights'
            - type: 'null'
        extensions:
          items:
            type: string
          type: array
          title: Extensions
      type: object
      required:
        - title
        - company_name
      title: JobResult
      description: A single job listing.
    JobFilter:
      properties:
        name:
          type: string
          title: Name
        options:
          items:
            $ref: '#/components/schemas/JobFilterOption'
          type: array
          title: Options
      type: object
      required:
        - name
      title: JobFilter
      description: A filter option for job search.
    Pagination:
      properties:
        current:
          anyOf:
            - type: integer
            - type: string
          title: Current
          default: 1
        next:
          anyOf:
            - type: string
            - type: 'null'
          title: Next
        total_results:
          anyOf:
            - type: integer
            - type: 'null'
          title: Total Results
        total_pages:
          anyOf:
            - type: integer
            - type: 'null'
          title: Total Pages
        page_no:
          additionalProperties:
            type: string
          type: object
          title: Page No
      type: object
      title: Pagination
      description: Pagination metadata.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    JobSalary:
      properties:
        min:
          anyOf:
            - type: string
            - type: 'null'
          title: Min
        max:
          anyOf:
            - type: string
            - type: 'null'
          title: Max
        currency:
          anyOf:
            - type: string
            - type: 'null'
          title: Currency
        period:
          anyOf:
            - type: string
            - type: 'null'
          title: Period
      type: object
      title: JobSalary
      description: Job salary information.
    JobApplyOption:
      properties:
        source:
          type: string
          title: Source
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
        link:
          type: string
          title: Link
      type: object
      required:
        - source
        - link
      title: JobApplyOption
      description: A job application link.
    JobHighlights:
      properties:
        qualifications:
          items:
            type: string
          type: array
          title: Qualifications
        responsibilities:
          items:
            type: string
          type: array
          title: Responsibilities
        benefits:
          items:
            type: string
          type: array
          title: Benefits
      type: object
      title: JobHighlights
      description: Structured job highlights.
    JobFilterOption:
      properties:
        label:
          type: string
          title: Label
        value:
          anyOf:
            - type: string
            - type: 'null'
          title: Value
      type: object
      required:
        - label
      title: JobFilterOption
      description: A single filter option value.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````