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

# Get Hiring Signals

> Fetch hiring signals (open job postings) with filtering, pagination, and search. Supports role-aware position filters, department and seniority filters, location targeting, team size, and applicant range filtering.



## OpenAPI

````yaml GET /signals/hiring
openapi: 3.1.0
info:
  title: Hiring Signals API
  description: >-
    Access real-time hiring signals (open job postings) with filtering for
    positions, departments, seniority levels, location targeting, team size,
    applicant ranges, pagination, and search.
  license:
    name: MIT
  version: 2.0.0
servers:
  - url: https://www.trysignalbase.com/api/v2
security:
  - bearerAuth: []
paths:
  /signals/hiring:
    get:
      summary: Get Hiring Signals
      description: >-
        Fetch hiring signals (open job postings) with filtering, pagination, and
        search. Supports role-aware position filters, department and seniority
        filters, location targeting, team size, and applicant range filtering.
      operationId: getHiringSignals
      parameters:
        - name: page
          in: query
          description: Page number for pagination
          schema:
            type: integer
            minimum: 1
            default: 1
          example: 1
        - name: limit
          in: query
          description: Number of results per page (maximum 100)
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
          example: 20
        - name: dateFrom
          in: query
          description: 'Filter signals from this date (ISO 8601 format: YYYY-MM-DD)'
          schema:
            type: string
            format: date
          example: '2024-01-01'
        - name: dateTo
          in: query
          description: 'Filter signals up to this date (ISO 8601 format: YYYY-MM-DD)'
          schema:
            type: string
            format: date
          example: '2024-12-31'
        - name: date_preset
          in: query
          description: Relative date shorthand. Takes precedence over dateFrom/dateTo.
          schema:
            type: string
            enum:
              - today
              - yesterday
              - last_7d
              - last_14d
              - last_30d
              - last_60d
              - last_90d
              - last_6m
              - last_1y
              - last_2y
              - this_week
              - this_month
              - this_quarter
              - this_year
              - last_week
              - last_month
              - last_quarter
              - last_year
          example: last_30d
        - name: search
          in: query
          description: >-
            Free-text search across company name, industry, job title, location,
            and city
          schema:
            type: string
          example: engineering
        - name: countries
          in: query
          description: Comma-separated list of country codes to filter by
          schema:
            type: string
          example: US,GB,DE
        - name: states
          in: query
          description: Comma-separated US state codes to filter by
          schema:
            type: string
          example: CA,NY,TX
        - name: city
          in: query
          description: Free-text search on hiring signal city, location, and region
          schema:
            type: string
          example: San Francisco
        - name: categories
          in: query
          description: Pipe-separated list of company industry categories to filter by
          schema:
            type: string
          example: Technology|Software
        - name: subcategories
          in: query
          description: Comma-separated list of subcategory IDs to filter by
          schema:
            type: string
          example: ai,fintech,saas
        - name: positions
          in: query
          description: >-
            Comma-separated list of positions to filter by (e.g., ceo, cto, cfo,
            coo, vp of engineering, head of product, engineering manager,
            product manager, founder, co-founder)
          schema:
            type: string
          example: cto,head of engineering
        - name: departments
          in: query
          description: >-
            Comma-separated list of departments to filter by (e.g., marketing,
            sales, engineering, product, design, operations, finance, people,
            data, customer_success, growth, legal)
          schema:
            type: string
          example: engineering,product
        - name: seniorities
          in: query
          description: >-
            Comma-separated list of seniority levels to filter by (e.g.,
            founder, c_level, vp, director, head, lead, manager)
          schema:
            type: string
          example: c_level,vp,head
        - name: team_size
          in: query
          description: >-
            Comma-separated team size ranges (e.g., 1-10, 11-50, 51-200,
            201-1000, 1000-plus)
          schema:
            type: string
          example: 51-200,201-1000
        - name: applicants
          in: query
          description: >-
            Comma-separated applicant count ranges (e.g., 0-25, 26-50, 51-100,
            101-200, 201-plus)
          schema:
            type: string
          example: 0-25,26-50
        - name: sort_by
          in: query
          description: Field to sort by
          schema:
            type: string
            enum:
              - date_posted
              - created_at
              - title
              - company_name
              - location
            default: created_at
          example: date_posted
        - name: sort_order
          in: query
          description: Sort direction
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
          example: desc
        - name: count
          in: query
          description: >-
            When set to "true", returns only pagination metadata with an empty
            data array. No credits are charged.
          schema:
            type: string
            enum:
              - 'true'
      responses:
        '200':
          description: Successful response with hiring signals
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HiringSignalsResponse'
              example:
                success: true
                data:
                  - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                    jobId: '123456789'
                    jobUrl: https://www.linkedin.com/jobs/view/123456789
                    title: Senior Software Engineer
                    location: San Francisco, CA
                    city: San Francisco
                    region: California
                    jobCountry: US
                    datePosted: '2026-03-01T00:00:00.000Z'
                    validThrough: '2026-05-01T00:00:00.000Z'
                    employmentType: Full-time
                    seniorityLevel: Mid-Senior level
                    jobFunction: Engineering
                    industries: Software Development
                    numApplicants: '45'
                    descriptionText: We are looking for a senior software engineer...
                    createdAt: '2026-03-02T12:00:00.000Z'
                    companyId: d4e5f6a7-b8c9-0123-defg-h45678901234
                    companyName: NextGen Software
                    companyWebsite: https://www.nextgensoftware.com
                    companyIndustry: Technology
                    companyCountry: US
                    companySubcategory: saas
                    companyEmployeeCount: 250
                    companyFoundedYear: 2018
                    companyLogoUrl: https://images.trysignalbase.com/nextgen.png
                    companyDescription: Enterprise software company.
                    companySpecialties: '["Cloud","SaaS"]'
                    companyCategories: '["Technology","Software"]'
                    isFreeAccess: true
                    companyLogo: https://images.trysignalbase.com/nextgen.png
                pagination:
                  currentPage: 1
                  totalPages: 50
                  totalCount: 1000
                  hasNextPage: true
                  hasPreviousPage: false
                meta:
                  endpoint: signals.hiring
                  creditsUsed: 1
                  creditsRemaining: 999
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error: Invalid API key
        '402':
          description: Insufficient credits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error: out of credits, please contact support to increase your usage
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error: Rate limit exceeded. Please try again later.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error: An unknown error occurred
components:
  schemas:
    HiringSignalsResponse:
      type: object
      required:
        - success
        - data
        - pagination
        - meta
      properties:
        success:
          type: boolean
          example: true
        data:
          type: array
          items:
            $ref: '#/components/schemas/HiringSignal'
        pagination:
          $ref: '#/components/schemas/Pagination'
        meta:
          $ref: '#/components/schemas/Meta'
    ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
    HiringSignal:
      type: object
      required:
        - id
        - jobUrl
        - title
        - companyName
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the hiring signal
        jobId:
          type: string
          nullable: true
          description: External job ID from the source platform
        jobUrl:
          type: string
          format: uri
          description: URL of the job posting
        title:
          type: string
          description: Job title
        location:
          type: string
          nullable: true
          description: Full location string
        city:
          type: string
          nullable: true
          description: City of the job posting
        region:
          type: string
          nullable: true
          description: State or region
        jobCountry:
          type: string
          nullable: true
          description: >-
            Country code for the job listing location (not necessarily company
            HQ)
        datePosted:
          type: string
          format: date-time
          nullable: true
          description: When the job was posted
        validThrough:
          type: string
          format: date-time
          nullable: true
          description: When the job posting expires
        employmentType:
          type: string
          nullable: true
          description: Type of employment (e.g., Full-time, Part-time, Contract)
        seniorityLevel:
          type: string
          nullable: true
          description: Seniority level of the role
        jobFunction:
          type: string
          nullable: true
          description: Job function / department
        industries:
          type: string
          nullable: true
          description: Industries associated with the posting
        numApplicants:
          type: string
          nullable: true
          description: Number of applicants (as string)
        descriptionText:
          type: string
          nullable: true
          description: Plain text job description
        createdAt:
          type: string
          format: date-time
          description: When the signal was ingested
        companyId:
          type: string
          format: uuid
          description: Unique identifier for the company
        companyName:
          type: string
          description: Name of the hiring company
        companyWebsite:
          type: string
          nullable: true
          description: Company website URL
        companyIndustry:
          type: string
          nullable: true
          description: Industry of the company
        companyCountry:
          type: string
          nullable: true
          description: Country code of company HQ
        companySubcategory:
          type: string
          nullable: true
          description: >-
            Assigned company subcategory (same vocabulary as the `subcategories`
            filter)
        companyEmployeeCount:
          type: integer
          nullable: true
          description: Number of employees
        companyFoundedYear:
          type: integer
          nullable: true
          description: Year the company was founded
        companyLogoUrl:
          type: string
          nullable: true
          description: URL of the company logo
        companyDescription:
          type: string
          nullable: true
          description: Company description
        companySpecialties:
          type: string
          nullable: true
          description: JSON-encoded array of company specialties
        companyCategories:
          type: string
          nullable: true
          description: JSON-encoded array of company categories
        isFreeAccess:
          type: boolean
          description: >-
            Whether full data is accessible (always true for authenticated
            requests)
          example: true
        companyLogo:
          type: string
          nullable: true
          description: Alias of companyLogoUrl for backwards compatibility
    Pagination:
      type: object
      required:
        - currentPage
        - totalPages
        - totalCount
        - hasNextPage
        - hasPreviousPage
      properties:
        currentPage:
          type: integer
          minimum: 1
        totalPages:
          type: integer
          minimum: 0
        totalCount:
          type: integer
          minimum: 0
        hasNextPage:
          type: boolean
        hasPreviousPage:
          type: boolean
    Meta:
      type: object
      required:
        - endpoint
        - creditsUsed
      properties:
        endpoint:
          type: string
          example: signals.hiring
        creditsUsed:
          type: number
          minimum: 0
          example: 1
        creditsRemaining:
          type: number
          description: Credits remaining after this request
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: API key authentication. Include as Bearer token in Authorization header.

````