{
  "openapi": "3.0.1",
  "info": {
    "title": "Foundit Jobs Scraper",
    "description": "Scrape Foundit (Monster India) jobs with salary, experience, skills, location, posted date, apply link and full description. Filter by city, function and freshness. Export to CSV, Excel, JSON or XML.",
    "version": "0.1",
    "x-build-id": "tBdbenEQj9TNtewNr"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~foundit-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-foundit-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/parseforge~foundit-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-foundit-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/parseforge~foundit-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-foundit-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",
        "properties": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Job titles or skills to search, one per line, for example \"python developer\" or \"sales manager\". Each keyword is searched on its own (and once per location below); duplicates across keywords are removed.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Foundit links",
            "type": "array",
            "description": "Optional. A Foundit results link (https://www.foundit.in/srp/results?query=python&locations=pune) is searched with the filters already in the link. A job link (https://www.foundit.in/job/...-69168913) returns that single job. Other pages are skipped and listed as error rows.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities or regions such as Bengaluru, Mumbai, Delhi NCR, Pune or Remote. Each location is searched separately, so every one gets its own result window (Foundit shows about 9,500 jobs per search). Leave empty for all of India.",
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Posted within",
            "enum": [
              "1",
              "3",
              "7",
              "15",
              "30"
            ],
            "type": "string",
            "description": "Only jobs posted in the last N days (1 to 30)."
          },
          "experienceMin": {
            "title": "Minimum experience (years)",
            "minimum": 0,
            "maximum": 40,
            "type": "integer",
            "description": "Keep jobs whose required experience range overlaps yours. 0 = freshers."
          },
          "experienceMax": {
            "title": "Maximum experience (years)",
            "minimum": 0,
            "maximum": 40,
            "type": "integer",
            "description": "Upper end of the experience range you want to match."
          },
          "salaryMinLakhs": {
            "title": "Minimum salary (lakhs per year)",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Annual pay in lakhs of rupees (10 = 10 LPA). Only jobs that publish a salary can match; most Foundit listings do not."
          },
          "salaryMaxLakhs": {
            "title": "Maximum salary (lakhs per year)",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Upper end of the annual salary range in lakhs."
          },
          "employmentType": {
            "title": "Employment type",
            "enum": [
              "",
              "Full time",
              "Part time"
            ],
            "type": "string",
            "description": "Full time or part time. Empty = both.",
            "default": ""
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "",
              "Permanent Job",
              "Contract Job",
              "Work From Home",
              "Jobs for Women"
            ],
            "type": "string",
            "description": "Foundit job-type tag. Contract Job, Work From Home and Jobs for Women are small groups; Permanent Job covers nearly everything.",
            "default": ""
          },
          "employerType": {
            "title": "Employer type",
            "enum": [
              "",
              "Company",
              "Consultant"
            ],
            "type": "string",
            "description": "Direct employers or recruitment consultants.",
            "default": ""
          },
          "functions": {
            "title": "Functions",
            "type": "array",
            "description": "Foundit function names, matched exactly, for example \"Software Development\", \"Sales\", \"Human Resources\", \"Education\", \"Healthcare\". Several values match any of them. Check the \"functions\" column of a first run for the exact names.",
            "items": {
              "type": "string"
            }
          },
          "industries": {
            "title": "Industries",
            "type": "array",
            "description": "Foundit industry names, matched exactly, for example \"IT/Computers - Software\", \"BPO\", \"Banking/Accounting/Financial Services\". Check the \"industries\" column of a first run for the exact names.",
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "newest"
            ],
            "type": "string",
            "description": "Relevance is the default order on Foundit. Newest first suits daily monitoring together with \"Posted within\".",
            "default": "relevance"
          },
          "includeDescription": {
            "title": "Include full description",
            "type": "boolean",
            "description": "Adds descriptionText, descriptionHtml, latitude, longitude and the state by reading each job page (one extra request per job). Turn off for the fastest run.",
            "default": true
          },
          "maxItemsPerQuery": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop each keyword/location search after this many jobs, so one broad keyword does not use up the whole run. Empty = no per-search limit."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Foundit answers plain requests, so the default is no proxy. If Foundit starts refusing the run address, the run moves up by itself: your choice, then Apify datacenter, then residential.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}