{
  "openapi": "3.0.1",
  "info": {
    "title": "Public Candidate Finder — LinkedIn Recruiter Alternative",
    "description": "Find public candidate leads using role, location, employer, and professional-search filters. Export LinkedIn profile URLs, professional context, source evidence, and timestamps for recruiter review.",
    "version": "1.0",
    "x-build-id": "9HcPdCstfTt8GtpGX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~linkedin-recruiter-alternative/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-linkedin-recruiter-alternative",
        "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/khadinakbar~linkedin-recruiter-alternative/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-linkedin-recruiter-alternative",
        "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/khadinakbar~linkedin-recruiter-alternative/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-linkedin-recruiter-alternative",
        "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": {
          "searchQuery": {
            "title": "Professional search query",
            "type": "string",
            "description": "Use this for the role, skill, or professional phrase to source, for example machine learning engineer. It uses HarvestAPI's public LinkedIn lead search and supports LinkedIn-style search operators. The default finds a broad professional role and the value is capped at 240 characters. This is not a request to decide whether anyone is qualified or suitable for employment.",
            "default": "machine learning engineer"
          },
          "currentJobTitles": {
            "title": "Current job titles",
            "maxItems": 10,
            "type": "array",
            "description": "Use this to require one or more current professional job-title phrases, for example Senior Machine Learning Engineer. Provide up to ten alternatives and the Actor sends them as an upstream title filter. Leave it empty to rely on the main search query. This is not a skills assessment or a suitability score.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "locations": {
            "title": "Candidate locations",
            "maxItems": 10,
            "type": "array",
            "description": "Use this to filter candidates by public location text, for example London or Berlin. Provide up to ten city, region, or country alternatives; exact upstream matching may vary. Leave it empty for no location restriction. This is not a proxy country setting or an address lookup.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "currentCompanies": {
            "title": "Current employer filters",
            "maxItems": 10,
            "type": "array",
            "description": "Use this for public LinkedIn company URLs whose current employees are in scope, for example https://www.linkedin.com/company/example/. Provide up to ten canonical company URLs. Leave it empty for no employer restriction. This is not an authenticated Recruiter project, an employee export, or a request for private company data.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "excludeCurrentCompanies": {
            "title": "Excluded employers",
            "maxItems": 10,
            "type": "array",
            "description": "Use this to exclude public LinkedIn company URLs from the search, for example https://www.linkedin.com/company/example/. Provide up to ten canonical company URLs. Leave it empty when no exclusion is needed. This is not a protected-class filter or a way to infer an individual's employment eligibility.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "excludeJobTitles": {
            "title": "Excluded job titles",
            "maxItems": 10,
            "type": "array",
            "description": "Use this to exclude public professional job-title phrases, for example Intern. Provide up to ten alternatives and the Actor sends them as an upstream exclusion filter. Leave it empty for no title exclusion. This is not a personal attribute filter or an automated screening criterion.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "recentlyChangedJobs": {
            "title": "Recently changed jobs",
            "type": "boolean",
            "description": "Turn this on to request the provider's public recently-changed-jobs filter, documented as the last 90 days. It defaults to false because this is a narrower sourcing signal. The upstream provider determines availability and the Actor records applied filters in every result. This is not a prediction of responsiveness or an employment recommendation.",
            "default": false
          },
          "postedOnLinkedin": {
            "title": "Recently posted on LinkedIn",
            "type": "boolean",
            "description": "Turn this on to request the provider's public recent-posting filter, documented as the last 30 days. It defaults to false and should be used only when that public activity signal is relevant to sourcing. The Actor does not fetch or evaluate post content. This is not an engagement score or a suitability measure.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum candidate leads",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Set the hard cap on unique, complete public candidate records to persist. The default is 25 and the maximum is 100, fetched in pages of up to 25 with one stable provider session per run. Each persisted record is charged $0.05, so a 25-result cap has at most $1.25 in event charges plus platform usage. This is not a promise that every requested result exists or matches all criteria.",
            "default": 25
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}