{
  "openapi": "3.0.1",
  "info": {
    "title": "Multi-Platform Job Scraper",
    "description": "Scrape job listings from LinkedIn, Indeed, Naukri, Bayt, Greenhouse, Lever, and Ashby in a single run. Extracts title, company, location, salary, description, and more with advanced filters.",
    "version": "1.0",
    "x-build-id": "oFDod2uvNMXimNltl"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mediocre_interest~multi-platform-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mediocre_interest-multi-platform-jobs-scraper",
        "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/mediocre_interest~multi-platform-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-mediocre_interest-multi-platform-jobs-scraper",
        "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/mediocre_interest~multi-platform-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-mediocre_interest-multi-platform-jobs-scraper",
        "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",
        "required": [
          "platforms",
          "keywords"
        ],
        "properties": {
          "platforms": {
            "title": "Platforms",
            "minItems": 1,
            "type": "array",
            "description": "Select one or more job platforms to scrape. At least one is required.",
            "items": {
              "type": "string",
              "enum": [
                "linkedin",
                "indeed",
                "glassdoor",
                "zip_recruiter",
                "naukri",
                "bayt",
                "greenhouse",
                "lever",
                "ashby"
              ],
              "enumTitles": [
                "LinkedIn",
                "Indeed",
                "Glassdoor (temporarily unavailable)",
                "ZipRecruiter (temporarily unavailable)",
                "Naukri",
                "Bayt",
                "Greenhouse",
                "Lever",
                "Ashby"
              ]
            },
            "default": [
              "linkedin"
            ]
          },
          "keywords": {
            "title": "Keywords",
            "minItems": 1,
            "type": "array",
            "description": "One or more job search keywords (e.g. 'Software Engineer', 'Data Scientist'). Each keyword runs as a separate search on every selected platform.",
            "items": {
              "type": "string"
            },
            "default": [
              "Software Engineer"
            ]
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Location to search in (e.g. 'London', 'New York, NY', 'Remote'). Leave blank for no location filter."
          },
          "country": {
            "title": "Country (Indeed)",
            "enum": [
              "argentina",
              "australia",
              "austria",
              "bahrain",
              "bangladesh",
              "belgium",
              "brazil",
              "canada",
              "chile",
              "china",
              "colombia",
              "costa rica",
              "czech republic",
              "denmark",
              "ecuador",
              "egypt",
              "finland",
              "france",
              "germany",
              "greece",
              "hong kong",
              "hungary",
              "india",
              "indonesia",
              "ireland",
              "israel",
              "italy",
              "japan",
              "kuwait",
              "luxembourg",
              "malaysia",
              "mexico",
              "morocco",
              "netherlands",
              "new zealand",
              "nigeria",
              "norway",
              "oman",
              "pakistan",
              "panama",
              "peru",
              "philippines",
              "poland",
              "portugal",
              "qatar",
              "romania",
              "saudi arabia",
              "singapore",
              "south africa",
              "south korea",
              "spain",
              "sweden",
              "switzerland",
              "taiwan",
              "thailand",
              "turkey",
              "ukraine",
              "united arab emirates",
              "uk",
              "usa",
              "uruguay",
              "venezuela",
              "vietnam"
            ],
            "type": "string",
            "description": "Which country's Indeed site to search. Set it to the country of your location, for example United Kingdom for 'London'. Other platforms use the location field instead.",
            "default": "usa"
          },
          "salary": {
            "title": "Minimum salary",
            "enum": [
              "$40,000+",
              "$60,000+",
              "$80,000+",
              "$100,000+",
              "$120,000+",
              "$140,000+",
              "$160,000+",
              "$180,000+",
              "$200,000+"
            ],
            "type": "string",
            "description": "Filter by minimum annual salary (USD). Applied on LinkedIn only; other platforms ignore it."
          },
          "postedDate": {
            "title": "Date posted",
            "enum": [
              "Past 24 hours",
              "Past week",
              "Past month"
            ],
            "type": "string",
            "description": "Filter jobs by how recently they were posted. Leave blank for any time."
          },
          "seniorityLevel": {
            "title": "Seniority level",
            "enum": [
              "Internship",
              "Entry level",
              "Associate",
              "Mid-Senior level",
              "Director",
              "Executive"
            ],
            "type": "string",
            "description": "Filter by a single seniority level."
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "Full-time",
              "Part-time",
              "Contract",
              "Temporary",
              "Volunteer",
              "Internship",
              "Other"
            ],
            "type": "string",
            "description": "Filter by a single employment type. Applied on LinkedIn and Ashby. Indeed applies Full-time, Part-time, Contract and Internship only; other platforms ignore it."
          },
          "jobLocationType": {
            "title": "Job location type",
            "enum": [
              "all",
              "remote"
            ],
            "type": "string",
            "description": "Filter by work location type. Select 'Remote only' to return only remote positions, or leave as 'All jobs' for no filter.",
            "default": "all"
          },
          "minJobs": {
            "title": "Min jobs per keyword",
            "minimum": 1,
            "type": "integer",
            "description": "Minimum number of jobs to scrape per keyword per platform. Total = minJobs × keywords × platforms (e.g. 4 minJobs × 4 keywords × 2 platforms = 32 results).",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings. Apify Proxy is on by default because Indeed refuses connections from Apify's servers without one. Switch to the Residential group if LinkedIn starts blocking.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}