{
  "openapi": "3.0.1",
  "info": {
    "title": "Naukri Jobs Scraper: Full Descriptions, Salary & Skills",
    "description": "Scrape job postings from Naukri.com, India's largest job board: search by keyword and city, or paste search and job links. Full description, skills, salary, experience, company rating, applicants, education, dates. Only new jobs mode for daily runs.",
    "version": "0.1",
    "x-build-id": "ky8pj5YErPsOJkxsc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/quarra~naukri-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-quarra-naukri-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/quarra~naukri-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-quarra-naukri-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/quarra~naukri-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-quarra-naukri-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": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "One job title, skill or company per line (python developer, data analyst, Infosys), as you would type it in Naukri's search box (C++, C#, .NET and Node.js are searched as typed). Naukri lists at most 15,000 jobs per search: use several keywords and locations to go further.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Optional, one city per line (Bengaluru, Pune, Delhi / NCR, Hyderabad). Naukri's usual spellings work (Bangalore and Bengaluru, Gurgaon and Gurugram). 'Remote' lists remote jobs. Several cities on one line, separated by commas (Pune, Bengaluru), are one search, as on Naukri. A location with no keyword lists every job there. Leave empty to search all of India.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Search or job links",
            "type": "array",
            "description": "One per line: a Naukri search page as shown in your browser, with its filters (https://www.naukri.com/python-developer-jobs-in-pune?experience=3), a job page (https://www.naukri.com/job-listings-…-061126008331), or a job ID alone (061126008331). The filters below are added to a pasted search unless the link already sets the same filter. A link to a later page of a search reads the whole search, from its first page.",
            "items": {
              "type": "string"
            }
          },
          "experienceYears": {
            "title": "Your experience (years)",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Optional. Keeps the jobs whose experience range includes this number, like Naukri's Experience filter (4 keeps 2-4, 3-5 and 4-8 years)."
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "any",
              "1 day",
              "3 days",
              "7 days",
              "15 days",
              "30 days"
            ],
            "type": "string",
            "description": "Naukri's Freshness filter.",
            "default": "any"
          },
          "workplace": {
            "title": "Work mode",
            "type": "array",
            "description": "Optional, one or more. Naukri's Work mode filter. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "office",
                "remote",
                "hybrid"
              ],
              "enumTitles": [
                "Work from office",
                "Remote",
                "Hybrid"
              ]
            }
          },
          "salaryRanges": {
            "title": "Salary (lakhs per year)",
            "type": "array",
            "description": "Optional, one or more. Naukri's Salary filter. Jobs that hide their salary on Naukri can still match: they come with an empty salary.",
            "items": {
              "type": "string",
              "enum": [
                "0to3",
                "3to6",
                "6to10",
                "10to15",
                "15to25",
                "25to50",
                "50to75",
                "75to100",
                "100to500"
              ],
              "enumTitles": [
                "0-3 Lakhs",
                "3-6 Lakhs",
                "6-10 Lakhs",
                "10-15 Lakhs",
                "15-25 Lakhs",
                "25-50 Lakhs",
                "50-75 Lakhs",
                "75-100 Lakhs",
                "1 Crore+"
              ]
            }
          },
          "postedBy": {
            "title": "Posted by",
            "enum": [
              "any",
              "company",
              "consultant"
            ],
            "type": "string",
            "description": "Jobs posted by the hiring company itself or by a recruitment consultant (isConsultantJob).",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Order in which Naukri lists the jobs, and so which ones come first when a limit is set.",
            "default": "relevance"
          },
          "includeDetails": {
            "title": "Full job details",
            "type": "boolean",
            "description": "On: each job page is read, for the full description, education, industry, department, role, applicants, views and the company's About text. Off: only what the search list shows (title, company, locations, experience, salary, skills, short description), more than ten times as fast. Same price.",
            "default": true
          },
          "onlyNew": {
            "title": "Only new jobs",
            "type": "boolean",
            "description": "Deliver only the jobs this watch has not delivered before. The first run delivers every matching job; the next runs with the same watch name deliver only the jobs not delivered before. Made for scheduled runs: jobs already delivered are never charged again. A run that stops early is continued by the next one.",
            "default": false
          },
          "watchName": {
            "title": "Watch name",
            "maxLength": 200,
            "type": "string",
            "description": "Name of the watch that remembers the jobs already delivered (used with 'Only new jobs'). Optional: without a name, the memory belongs to this exact list of searches and filters. Names are case-sensitive: 'Pune Jobs' and 'pune jobs' are two different watches, and two different names never share a memory. Extra spaces are ignored."
          },
          "maxJobsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 15000,
            "type": "integer",
            "description": "Leave empty for everything Naukri lists for a search (15,000 at most)."
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Total number of jobs delivered by the run, all searches together, counted exactly.",
            "default": 1000
          },
          "proxyConfiguration": {
            "title": "Connection",
            "type": "object",
            "description": "Connection. Keep the default (automatic). Costs are included in the price.",
            "default": {
              "useApifyProxy": true
            }
          },
          "deliveryConnector": {
            "title": "Send results to your app (MCP connector: Notion, Slack…)",
            "type": "string",
            "description": "Pick one of your Apify MCP connectors: at the end of each run, a summary of the results (count, the first 25 with their links, a link to the full dataset) is posted there. With a schedule and 'Only new', you get each day's new results where your team works. Nothing is sent when a run finds nothing. Notion connects in one click; Slack and Google need your own OAuth app in Apify, or use the webhook field below."
          },
          "deliveryTarget": {
            "title": "Where in the app (channel, page or sheet ID)",
            "type": "string",
            "description": "Slack channel ID (C0123…), Notion page ID, Google Sheet ID… Leave empty if the app needs no target (a new Notion page is then created at the top of your workspace)."
          },
          "deliveryWebhookUrl": {
            "title": "Or a webhook URL (Slack, Discord, Make, Zapier, n8n)",
            "type": "string",
            "description": "No connector needed. A Slack Incoming Webhook (hooks.slack.com/…) gets a message, a Discord channel webhook gets a message, any other URL receives the summary as JSON (title, text, count, datasetUrl, items)."
          },
          "deliveryTool": {
            "title": "Connector tool (advanced)",
            "type": "string",
            "description": "Name of the connector's tool to call. Leave empty: the best tool that posts a message, creates a page or appends rows is picked, and the run log lists every tool the connector offers."
          },
          "deliveryArguments": {
            "title": "Connector tool arguments (advanced)",
            "type": "object",
            "description": "Extra arguments for the tool, merged last, for example {\"channel\": \"#naukri-jobs\"} or {\"parent\": {\"database_id\": \"…\"}}."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}