{
  "openapi": "3.0.1",
  "info": {
    "title": "Job Leads Scraper | LinkedIn & Indeed | $3/1K",
    "description": "Find public LinkedIn, Indeed and optional Glassdoor job postings for B2B research. Extract available salary, skills, seniority, work-mode and freshness fields; export JSON/CSV; and cap each run with maxResults. Heuristic lead signals included. $3 per 1,000 delivered jobs.",
    "version": "2.3",
    "x-build-id": "rgYJ4wQafzUlSsOaP"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/apivault_labs~apify-actor-job-leads/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-apivault_labs-apify-actor-job-leads",
        "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/apivault_labs~apify-actor-job-leads/runs": {
      "post": {
        "operationId": "runs-sync-apivault_labs-apify-actor-job-leads",
        "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/apivault_labs~apify-actor-job-leads/run-sync": {
      "post": {
        "operationId": "run-sync-apivault_labs-apify-actor-job-leads",
        "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": {
          "workflow": {
            "title": "Workflow",
            "enum": [
              "auto",
              "multiBoard",
              "linkedin",
              "indeed",
              "glassdoor"
            ],
            "type": "string",
            "description": "Choose which public job boards to search. Auto preserves the sources list for existing integrations.",
            "default": "auto"
          },
          "keywords": {
            "title": "Job Keywords",
            "type": "string",
            "description": "Job title or keywords. Examples: 'marketing manager', 'software engineer', 'sales director'. Be specific — 'marketing manager' works better than just 'marketing'."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, state, or 'Remote'. Examples: 'New York, NY', 'San Francisco, CA', 'Remote', 'United States'."
          },
          "sources": {
            "title": "Job Boards",
            "type": "array",
            "description": "Boards to search: linkedin, indeed, or optional glassdoor. Availability varies by board, region, and time. Duplicate names are searched once; unsupported names are reported in SOURCE_ERRORS.",
            "items": {
              "type": "string"
            }
          },
          "deduplicateCompanies": {
            "title": "Deduplicate by company",
            "type": "boolean",
            "description": "Keep one job per company (the one with the highest leadScore). Disable to keep every role for richer hiring-volume data.",
            "default": true
          },
          "minLeadScore": {
            "title": "Minimum leadScore filter",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Drop jobs below this heuristic research score (0-100). It is not a verified company-quality, budget, or eligibility score. 0 = no filter.",
            "default": 0
          },
          "onlyWithSalary": {
            "title": "Only jobs with disclosed salary",
            "type": "boolean",
            "description": "Keep listings where a salary value was detected. Salary availability does not establish company maturity, budget, or legal compliance.",
            "default": false
          },
          "onlyRemote": {
            "title": "Only remote jobs",
            "type": "boolean",
            "description": "Keep only fully-remote listings.",
            "default": false
          },
          "onlyFreshThisWeek": {
            "title": "Only jobs posted this week",
            "type": "boolean",
            "description": "Keep only listings posted within the last 7 days. Best for daily-monitoring loops.",
            "default": false
          },
          "onlyPayTransparencyCompliant": {
            "title": "Salary disclosed in covered US regions",
            "type": "boolean",
            "description": "Heuristic filter: keep listings with detected salary in configured US regions. This is not a legal compliance determination; verify the original listing and current law.",
            "default": false
          },
          "exportFormat": {
            "title": "Export format",
            "enum": [
              "default",
              "csv"
            ],
            "type": "string",
            "description": "default = full JSON (40+ fields per job). csv = flat 35-column CSV row ready for HubSpot/Pipedrive/Salesforce import.",
            "default": "default"
          },
          "outputPreset": {
            "title": "Output detail",
            "enum": [
              "compact",
              "research",
              "full"
            ],
            "type": "string",
            "description": "Compact returns core job facts and links. Research adds salary, skills, freshness, hiring and compliance signals. Full returns every available field. Existing calls that omit this field keep legacy Full output.",
            "default": "research"
          },
          "writeSummary": {
            "title": "Write SUMMARY + TOP_HIRING_COMPANIES + TOP_JOBS",
            "type": "boolean",
            "description": "Free aggregate records to KV store: run-level metrics, top 20 hiring companies (with 3 outreach pitch variants each), top 20 jobs sorted by leadScore.",
            "default": true
          },
          "topN": {
            "title": "Top-N size",
            "minimum": 5,
            "maximum": 100,
            "type": "integer",
            "description": "How many entities to include in TOP_HIRING_COMPANIES + TOP_JOBS records.",
            "default": 20
          },
          "maxResults": {
            "title": "Maximum delivered jobs",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Hard cap on Dataset rows and result charges after filters and deduplication. The highest heuristic scores are delivered first. Each delivered job costs $0.003.",
            "default": 1000
          },
          "maxRetries": {
            "title": "Retries on transient failures",
            "minimum": 0,
            "maximum": 3,
            "type": "integer",
            "description": "How many times to retry a source if it returns an empty / failed response.",
            "default": 1
          },
          "maxConcurrency": {
            "title": "Max Concurrency",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Number of sources to scrape in parallel.",
            "default": 3
          },
          "timeout": {
            "title": "Timeout (seconds)",
            "minimum": 30,
            "maximum": 300,
            "type": "integer",
            "description": "Maximum time to wait for each source.",
            "default": 120
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}