{
  "openapi": "3.0.1",
  "info": {
    "title": "Hiring Signals — Companies Hiring for Your Roles",
    "description": "Buying-intent signals for sales teams: see which target companies are hiring for the roles you sell to, how many roles, how fresh, and what's new since last week. Scored per company, from career pages and job searches. Schedule it for a weekly intent feed.",
    "version": "0.1",
    "x-build-id": "yUdkaqZSmEPfKfwz1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tacps126~hiring-signals/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tacps126-hiring-signals",
        "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/tacps126~hiring-signals/runs": {
      "post": {
        "operationId": "runs-sync-tacps126-hiring-signals",
        "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/tacps126~hiring-signals/run-sync": {
      "post": {
        "operationId": "run-sync-tacps126-hiring-signals",
        "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": {
          "companies": {
            "title": "Target companies (career pages)",
            "type": "array",
            "description": "Your target accounts' jobs pages — Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Recruitee, Personio or Teamtailor links. Every open role is read.",
            "items": {
              "type": "string"
            }
          },
          "searches": {
            "title": "…or discover companies by job search",
            "type": "array",
            "description": "Find companies you don't know yet: job searches like `data engineer` or `head of security`. Every company hiring for it becomes a signal.",
            "items": {
              "type": "string"
            }
          },
          "searchLocation": {
            "title": "Search location",
            "type": "string",
            "description": "Where to search, e.g. `Germany`, `London`, `United States`."
          },
          "roleKeywords": {
            "title": "Roles that signal intent",
            "type": "array",
            "description": "A role counts when its title contains any of these words — the teams that buy what you sell (e.g. `security`, `data engineer`, `revops`). Leave empty to count every open role.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Ignore titles containing",
            "type": "array",
            "description": "Roles whose title contains any of these never count, e.g. `intern`, `working student`.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Only roles in",
            "type": "array",
            "description": "Only roles whose location contains any of these, e.g. `Germany`, `Remote`, `New York`.",
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "type": "integer",
            "description": "Only roles posted in the last N days count (roles without a date always count). 0 = any age.",
            "default": 30
          },
          "seniorities": {
            "title": "Seniority",
            "type": "array",
            "description": "Keep only these seniority levels.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "junior",
                "mid",
                "senior",
                "lead",
                "principal",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Intern",
                "Junior",
                "Mid",
                "Senior",
                "Lead",
                "Principal / Staff",
                "Director",
                "Executive"
              ]
            }
          },
          "jobFunctions": {
            "title": "Job function",
            "type": "array",
            "description": "Keep only these job functions (engineering, data, sales, …).",
            "items": {
              "type": "string",
              "enum": [
                "engineering",
                "data",
                "ai_training",
                "security",
                "research",
                "product",
                "design",
                "marketing",
                "sales",
                "customer_success",
                "finance",
                "people",
                "legal",
                "operations",
                "healthcare",
                "education"
              ],
              "enumTitles": [
                "Engineering",
                "Data",
                "AI Training",
                "Security",
                "Research",
                "Product",
                "Design",
                "Marketing",
                "Sales",
                "Customer Success",
                "Finance",
                "People",
                "Legal",
                "Operations",
                "Healthcare",
                "Education"
              ]
            }
          },
          "workModes": {
            "title": "Work mode",
            "type": "array",
            "description": "Keep only these work arrangements. Jobs whose posting doesn't state it are dropped when this is set.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            }
          },
          "employmentTypes": {
            "title": "Employment type",
            "type": "array",
            "description": "Keep only these employment types.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "contract",
                "internship",
                "temporary",
                "freelance"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Internship",
                "Temporary",
                "Freelance"
              ]
            }
          },
          "descriptionIncludes": {
            "title": "Description or skills mention",
            "type": "array",
            "description": "Count a role only if its description or skills mention any of these, e.g. `Snowflake`, `Kubernetes` — great for tech-stack signals.",
            "items": {
              "type": "string"
            }
          },
          "companyExcludes": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Never report companies whose name contains any of these (e.g. existing customers, recruiters).",
            "items": {
              "type": "string"
            }
          },
          "minMatchingRoles": {
            "title": "Minimum matching roles",
            "minimum": 1,
            "type": "integer",
            "description": "Report a company only when at least this many roles match.",
            "default": 1
          },
          "includeRoles": {
            "title": "List the matching roles",
            "type": "boolean",
            "description": "Include each company's matching roles (title, link, location, seniority, date) in its record.",
            "default": true
          },
          "maxItems": {
            "title": "Max companies",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of company signals to return (highest score first).",
            "default": 200
          },
          "maxSearchPages": {
            "title": "Pages per search",
            "minimum": 1,
            "type": "integer",
            "description": "How many result pages to read per discovery search (about 10 jobs each).",
            "default": 10
          },
          "onlyChanged": {
            "title": "Only new or changed companies",
            "type": "boolean",
            "description": "Report a company only the first time it shows a signal, or when it opens new matching roles since the last run with the same input. You pay only for changes.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional name for the change-tracking history, so several watchlists can run side by side."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Recommended for large discovery searches; not needed for career pages.",
            "default": {
              "useApifyProxy": false
            }
          },
          "tenantId": {
            "title": "Tenant ID",
            "type": "string",
            "description": "Optional label used to keep separate histories for different clients or teams."
          },
          "debug": {
            "title": "Debug",
            "type": "boolean",
            "description": "Save extra diagnostics with the run (for support requests).",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}