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

# Find companies hiring

> Start a company hiring-intent search based on job posting activity. Only documented fields are allowed; unknown keys return 422.

Find companies that are actively hiring based on their job posting activity. This endpoint allows you to track companies that are recruiting for specific roles, technologies, or departments.

## Parameters

### Required Parameters

* `webhook_url`: URL to receive hiring intent notifications

### Job Search Parameters

* `selected_keywords`: Array of keywords to include in job search
* `excluded_keywords`: Array of keywords to exclude from job search
* `selected_titles`: Array of job titles to include
* `excluded_titles`: Array of job titles to exclude
* `exclude_consulting_recruiting`: Boolean to exclude consulting and recruiting companies
* `exclude_internships`: Boolean to exclude internship positions
* `published_date`: Time range for job postings (e.g., "last\_24\_hours", "last\_7\_days", etc.)

### Location Parameters

* `included_locations`: Array of cities to include
* `excluded_locations`: Array of cities to exclude

> **Note**: You can specify cities by name (e.g., "New York", "San Francisco", "London", "Paris"). The system will automatically match cities and their surrounding areas.

### Company Filters

* `company_size`: Array of company size ranges to include
* `included_industries`: Array of industry IDs to include

Allowed `company_size` values:

* `1-10`
* `11-50`
* `51-200`
* `201-500`
* `501-1000`
* `1001-5000`
* `5001-10000`
* `10001+`

For the complete list of industry IDs, see the [LinkedIn Industry List](https://docs.google.com/spreadsheets/d/1qTFPVfcSHnL5PU1AcQlzD8mCmfSICKJ4WuU-OBGhkdI/edit?gid=0#gid=0).

Common industry IDs include:

* `4` - Automotive
* `6` - Technology, Information and Internet
* `12` - Education
* `43` - Financial Services
* `96` - Software Development

## Response

The response includes:

* A unique identifier for the hiring intent
* Number of matching job postings
* Optional message about the results

## Example Response

```json theme={null}
{
  "preview_count": 13,
  "message": "More than 100 results returned, we will only fetch the first 100 results and return it to your webhook",
  "id": "5d4fabd2-e26d-47d1-b0de-4bf370f7b799"
}
```

## Notes

* Results will be delivered to your webhook URL as they become available
* If more than 100 results are found, only the first 100 will be processeds


## OpenAPI

````yaml POST /intents/accounts/hiring
openapi: 3.0.1
info:
  title: Pipecorn Accounts API
  description: Pipecorn Accounts API
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://app.pipecorn.com/api/v2/
security:
  - defaultApiKey: []
paths:
  /intents/accounts/hiring:
    post:
      summary: Create hiring intent for accounts
      description: >-
        Start a company hiring-intent search based on job posting activity. Only
        documented fields are allowed; unknown keys return 422.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - webhook_url
              properties:
                webhook_url:
                  type: string
                  format: uri
                  description: URL to receive hiring intent notifications
                  example: https://your-company.com/webhooks/hiring
                streaming:
                  type: boolean
                  description: >-
                    Whether to stream results to the webhook as they are
                    processed
                  example: false
                limit:
                  type: integer
                  minimum: 1
                  description: Maximum number of companies to return
                  example: 100
                published_date:
                  type: string
                  description: Relative publish-date filter for jobs
                  enum:
                    - last_24_hours
                    - last_7_days
                    - last_15_days
                    - last_30_days
                    - last_90_days
                    - last_180_days
                    - last_360_days
                  example: last_30_days
                exclude_consulting_recruiting:
                  type: boolean
                  description: Exclude consulting and recruiting job postings
                  example: true
                exclude_internships:
                  type: boolean
                  description: Exclude internship job postings
                  example: true
                company_size:
                  type: array
                  items:
                    type: string
                  description: >-
                    LinkedIn-style company size ranges (en-dashes are normalized
                    to hyphens server-side)
                  example:
                    - 51-200
                    - 201-500
                selected_keywords:
                  type: array
                  items:
                    type: string
                  description: Keywords to match in job postings
                  example:
                    - sales
                    - account executive
                excluded_keywords:
                  type: array
                  items:
                    type: string
                  description: Keywords to exclude from job postings
                  example:
                    - intern
                    - junior
                selected_titles:
                  type: array
                  items:
                    type: string
                  description: Job titles to include
                  example:
                    - Account Executive
                    - Sales Development Representative
                excluded_titles:
                  type: array
                  items:
                    type: string
                  description: Job titles to exclude
                  example:
                    - Intern
                    - Manager
                included_locations:
                  type: array
                  items:
                    type: integer
                  description: Location IDs to include
                  example:
                    - 103644278
                excluded_locations:
                  type: array
                  items:
                    type: integer
                  description: Location IDs to exclude
                  example:
                    - 101282230
                included_industries:
                  type: array
                  items:
                    type: string
                  description: Industry IDs to include
                  example:
                    - '4'
      responses:
        '200':
          description: No results found for hiring intent
          content:
            application/json:
              schema:
                type: object
                required:
                  - preview_count
                  - message
                properties:
                  preview_count:
                    type: integer
                    example: 0
                  message:
                    type: string
                    example: No results found
        '201':
          description: Hiring intent search started successfully
          content:
            application/json:
              schema:
                type: object
                required:
                  - preview_count
                  - message
                  - id
                properties:
                  preview_count:
                    type: integer
                    description: Number of matching companies found in preview
                    example: 42
                  message:
                    type: string
                    example: >-
                      Hiring intent search started successfully. You will
                      receive the results on your webhook shortly.
                  id:
                    type: string
                    format: uuid
                    description: Import job UUID
                    example: 5d4fabd2-e26d-47d1-b0de-4bf370f7b799
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized (invalid API key or not enough enrichment credits)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: >-
            Unprocessable entity (invalid published_date, unknown parameters, or
            invalid optional filters)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: integer
          format: int32
        message:
          type: string
  securitySchemes:
    defaultApiKey:
      type: apiKey
      in: header
      name: X-API-KEY

````