{
  "openapi": "3.0.1",
  "info": {
    "title": "Naukri Jobs Scraper & API - Salary, Experience, Last 24 Hours",
    "description": "Naukri jobs scraper and API for naukri.com, India's largest job board: search live by job title, city, experience, pay in lakhs, remote or hybrid and posting date, newest first. 692,000+ open jobs, pay shown on over half, key skills, company ratings, walk-ins and internships, no login.",
    "version": "1.0",
    "x-build-id": "QBFUHFR1UzSTVdyD0"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/anshumanatrey~naukri-jobs-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-anshumanatrey-naukri-jobs-search",
        "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/anshumanatrey~naukri-jobs-search/runs": {
      "post": {
        "operationId": "runs-sync-anshumanatrey-naukri-jobs-search",
        "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/anshumanatrey~naukri-jobs-search/run-sync": {
      "post": {
        "operationId": "run-sync-anshumanatrey-naukri-jobs-search",
        "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": {
          "searchTerms": {
            "title": "Job titles to find (searchTerms)",
            "type": "array",
            "description": "Type the job titles or keywords to find, one per line, for example python developer. A job matches when its title has every word of a line: frontend also finds Front-End. Leave it empty for the newest jobs of every kind. A pasted Naukri search link (naukri.com/python-developer-jobs-in-bangalore?k=...) works too, with its filters.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Where the job is (location)",
            "type": "array",
            "description": "Type where the jobs should be: cities, states or countries, one per line, for example Bangalore, Delhi NCR, Karnataka or Dubai. Old and new city names both work (Bangalore and Bengaluru, Gurgaon and Gurugram). India keeps every job in India. Remote typed alone asks for remote jobs; typed next to a city it changes nothing, so pick remote in Remote or office for remote jobs only. Leave it empty for anywhere.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "workType": {
            "title": "Remote or office (workType)",
            "type": "array",
            "description": "Pick remote, hybrid or onsite (work from office), or several. Leave it empty for all of them. Naukri states the work mode of every job, and the search asks Naukri for it. Typed words such as wfh or office work too.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "Work from office (onsite)"
              ]
            },
            "default": []
          },
          "postedWithin": {
            "title": "Posted in the last (postedWithin)",
            "type": "string",
            "description": "Pick how new the jobs must be: posted in the last 24 hours, 3, 7, 15 or 30 days. 30 days, the default, keeps the last month's jobs, newest first, and any time keeps every open job. The date is the one Naukri shows, which moves when an employer posts a job again (firstPostedAt in each row keeps the first day). You can also type your own period, such as 48 hours or 2 weeks.",
            "default": "30 days"
          },
          "experienceYears": {
            "title": "Experience (experienceYears)",
            "type": "string",
            "description": "Type your years of experience: a number such as 3, a range such as 2-5, 5+ for five or more, or fresher. A job is kept when the experience it asks for overlaps yours, as Naukri's Experience filter does: 3 keeps 2-5 Yrs and 3-8 Yrs and leaves out 5-10 Yrs. One number also goes to Naukri's own filter. Naukri's list states no experience for internships, so any experience here leaves them out. Leave it empty for every experience.",
            "default": null
          },
          "minSalaryLakhs": {
            "title": "Minimum pay (minSalaryLakhs)",
            "minimum": 0,
            "type": "integer",
            "description": "Type the minimum pay in lakhs a year (10 is 10 LPA, 1,000,000 rupees): Naukri's Salary filter keeps the jobs paying that or more, including jobs whose pay the employer entered but does not show. A job showing a lower pay is left out. Leave it empty for every pay.",
            "default": null
          },
          "companyType": {
            "title": "Company type (companyType)",
            "type": "array",
            "description": "Pick the kinds of company to keep, as Naukri groups them: foreign-mnc (Foreign MNC), indian-mnc (Indian MNC), mnc (MNC), corporate, startup, unicorn, govt-psu (government or public sector) or others. Leave it empty for every company. Naukri decides it from the employer's profile.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "foreign-mnc",
                "indian-mnc",
                "mnc",
                "corporate",
                "startup",
                "unicorn",
                "govt-psu",
                "others"
              ],
              "enumTitles": [
                "Foreign MNC (foreign-mnc)",
                "Indian MNC (indian-mnc)",
                "MNC",
                "Corporate",
                "Startup",
                "Unicorn",
                "Government or PSU (govt-psu)",
                "Others"
              ]
            },
            "default": []
          },
          "postedBy": {
            "title": "Posted by (postedBy)",
            "type": "string",
            "description": "Pick who posted the job: company (the employer itself) or consultant (a recruitment consultancy). Leave it empty for both.",
            "default": null
          },
          "maxJobs": {
            "title": "Number of jobs (maxJobs)",
            "type": "integer",
            "description": "Type how many jobs to get, newest first: 100 by default. Type 0 to get every matching job (Naukri shows at most 15,000 for one search). Each job is one charged row, so this sets the most a run can cost.",
            "default": 100
          },
          "includeDetails": {
            "title": "Full details (includeDetails)",
            "type": "boolean",
            "description": "Tick to add the full details of each job from its own page: the description as text and HTML, the job type, department, role, industry, education, all key skills, applicants so far, the employer's website and, for a job Naukri copied from a company career site, that site's apply link. A job with details costs $0.037 per 1,000 instead of $0.017, and the run reads each saved job once more.",
            "default": false
          },
          "excludeTerms": {
            "title": "Leave out words (excludeTerms)",
            "type": "array",
            "description": "Type words that leave a job out when its title has them, one per line, for example senior or manager. Leave it empty to keep every job.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "employmentType": {
            "title": "Job type (employmentType)",
            "type": "array",
            "description": "Pick the job type: full-time, part-time, contract, internship or temporary, or several. Leave it empty for every job type. Naukri marks internships in its list; any other job type is on the job's own page only, so the run opens each job whose title matches to read it (up to 300 a run, slower).",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "full-time",
                "part-time",
                "contract",
                "intern",
                "temporary"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract or freelance (contract)",
                "Internship (intern)",
                "Temporary"
              ]
            },
            "default": []
          },
          "searchDescriptions": {
            "title": "Wider match (searchDescriptions)",
            "type": "boolean",
            "description": "Tick for a wider match: every job Naukri's own search finds for your words, also when they are only in its key skills or text, not in the title. python then also finds a Data Engineer job that asks for Python.",
            "default": false
          },
          "companies": {
            "title": "Only these companies (companies)",
            "type": "array",
            "description": "Type company names to search only their jobs, one per line, as Naukri names them: Infosys, Tata Consultancy Services, Accenture. A company page link (naukri.com/tata-capital-overview-172058) or a companySlug from a row works too. Leave it empty to search every company.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "jobUrls": {
            "title": "Job links to check (jobUrls)",
            "type": "array",
            "description": "Paste Naukri job links or 12-digit job IDs to check whether they are still open, one per line, instead of searching. Each comes back open with the job, or closed (Naukri says the job expired).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "proxyConfiguration": {
            "title": "Connection (proxyConfiguration)",
            "type": "object",
            "description": "Leave the connection as it is: Naukri answers Apify's own addresses. Turn on Apify Proxy only when a run says Naukri refused the address, which can happen after many job details from one address; the run then moves to a fresh address after a refusal. Proxy traffic is free for you here.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}