{
  "openapi": "3.0.1",
  "info": {
    "title": "Naukri Job Scraper",
    "description": "[💵 $1.50 / 1K · no start fee] Scrape Naukri.com and Naukrigulf jobs by keyword, location, URL or exact Naukri job ID. Clean company, salary, skills, experience, work mode and full descriptions.",
    "version": "0.1",
    "x-build-id": "hVF0xaJdHuEImYTUF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/webdata_labs~naukri-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-webdata_labs-naukri-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/webdata_labs~naukri-scraper/runs": {
      "post": {
        "operationId": "runs-sync-webdata_labs-naukri-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/webdata_labs~naukri-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-webdata_labs-naukri-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, skills or technologies to search for, exactly as you would type them into Naukri's search box (for example 'python developer' or 'chartered accountant'). Every keyword is combined with every location below, so 3 keywords x 2 cities runs 6 searches in one go.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Cities",
            "type": "array",
            "description": "Cities or countries to restrict the search to (for example bangalore, mumbai, dubai, riyadh, uae). Leave empty to search the selected platform broadly.",
            "items": {
              "type": "string"
            }
          },
          "platform": {
            "title": "Job board",
            "enum": [
              "naukri",
              "naukrigulf",
              "both"
            ],
            "type": "string",
            "description": "Scrape Naukri.com (India), Naukrigulf.com (GCC), or run the same keyword and location combinations on both.",
            "default": "naukri"
          },
          "searchUrls": {
            "title": "Or paste Naukri search URLs",
            "type": "array",
            "description": "Instead of building a search here, paste result-page URLs copied from naukri.com (for example https://www.naukri.com/python-developer-jobs-in-pune). Filters set in this input still apply on top, but anything in the URL wins.",
            "items": {
              "type": "string"
            }
          },
          "jobIds": {
            "title": "Exact Naukri job IDs",
            "type": "array",
            "description": "Refresh exact postings by their numeric Naukri job IDs. When set, search fields are ignored and full details are fetched.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum jobs",
            "minimum": 0,
            "type": "integer",
            "description": "How many jobs to return in total, shared across all searches. Set to 0 for every job Naukri will serve for your search (that can be tens of thousands, so raise the limit deliberately).",
            "default": 100
          },
          "includeJobDescription": {
            "title": "Fetch full job descriptions",
            "type": "boolean",
            "description": "Fetch each job's own page to add the complete description, education requirements, role, industry, employment type, and how many people have applied and viewed it. This costs one extra request per job, so a large run takes noticeably longer. Off by default; a short description snippet is always included either way.",
            "default": false
          },
          "experienceYears": {
            "title": "Years of experience",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Keep only jobs open to a candidate with this many years of experience. Naukri matches this against each job's experience range, so 5 returns jobs asking for 3-8 years as well as 5-10."
          },
          "minSalaryLakhs": {
            "title": "Minimum salary (lakhs per year)",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Lowest annual CTC to accept, in lakhs of rupees (10 means 10,00,000 INR). Naukri filters by salary band, so the exact figure is re-checked on every row. Jobs where the recruiter hid the salary are kept - see 'Only jobs with a disclosed salary' to drop them."
          },
          "maxSalaryLakhs": {
            "title": "Maximum salary (lakhs per year)",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Highest annual CTC to accept, in lakhs of rupees. Useful for pay-band research; leave empty for no upper bound."
          },
          "onlyWithSalary": {
            "title": "Only jobs with a disclosed salary",
            "type": "boolean",
            "description": "Drop every job whose salary Naukri shows as 'Not disclosed'. Most Indian postings hide salary, so expect this to remove the large majority of rows.",
            "default": false
          },
          "workMode": {
            "title": "Work mode",
            "enum": [
              "any",
              "remote",
              "hybrid",
              "office"
            ],
            "type": "string",
            "description": "Restrict to remote, hybrid or on-site roles. 'Any' returns all three and still labels each row.",
            "default": "any"
          },
          "postedWithinDays": {
            "title": "Posted within",
            "enum": [
              "any",
              "1",
              "3",
              "7",
              "15",
              "30"
            ],
            "type": "string",
            "description": "Only return jobs posted in the last N days. Naukri supports these windows natively, so narrowing here makes the run faster as well as smaller.",
            "default": "any"
          },
          "employerType": {
            "title": "Posted by",
            "enum": [
              "any",
              "company",
              "consultancy"
            ],
            "type": "string",
            "description": "Company jobs are posted by the employer directly; consultancy jobs come from staffing agencies and are often duplicated across clients.",
            "default": "any"
          },
          "minCompanyRating": {
            "title": "Minimum company rating",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Drop employers rated below this on AmbitionBox (1-5). Companies with no rating at all are dropped too, since there is nothing to check."
          },
          "titleMustInclude": {
            "title": "Job title must include",
            "type": "array",
            "description": "Keep only jobs whose title contains at least one of these words. Case-insensitive. Use it to cut the loosely related roles Naukri's keyword search pulls in.",
            "items": {
              "type": "string"
            }
          },
          "titleMustExclude": {
            "title": "Job title must not include",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words. Case-insensitive. Handy for stripping out 'intern', 'trainee' or 'walk-in' postings.",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Company names to skip entirely, matched exactly as Naukri writes them. Useful for filtering out your own employer or the staffing firms that flood a search.",
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Naukri's own ordering. 'Freshness' walks the newest postings first, which is what you want for a monitoring run; 'Relevance' matches what the website shows by default.",
            "default": "relevance"
          },
          "onlyNewJobs": {
            "title": "Only jobs not seen in previous runs",
            "type": "boolean",
            "description": "Remember every job this Actor has already returned and skip it next time, so a scheduled run gives you only genuinely new postings. The memory survives between runs.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}