{
  "openapi": "3.0.1",
  "info": {
    "title": "Naukri Jobs Scraper — Batch Search & Dedup",
    "description": "Scrape public Naukri jobs across role and location searches. Use for recruiting, salary research, and alerts. Not for candidate profiles, private data, login, or applications. Returns unique jobs with company, location, salary, experience, skills, description, rating, date, and URL. $0.01/job.",
    "version": "1.0",
    "x-build-id": "jyey8gjMWL8S4dlwK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/muhammadafzal~naukri-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-muhammadafzal-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/muhammadafzal~naukri-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-muhammadafzal-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/muhammadafzal~naukri-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-muhammadafzal-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",
        "required": [
          "searches"
        ],
        "properties": {
          "searches": {
            "title": "Job searches",
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "description": "Use this when you need one or more Naukri keyword and location searches in a single run. Enter objects such as {\"keyword\":\"python developer\",\"location\":\"bangalore\"}. Defaults to one software-engineer search and accepts 1–20 searches. This is not a list of candidate profiles or job-detail URLs.",
            "items": {
              "type": "object",
              "properties": {
                "keyword": {
                  "title": "Role or skill keyword",
                  "type": "string",
                  "description": "Use this to define the role, technology, or company term searched on Naukri. Enter plain text such as \"data engineer\" or \"React\". Values must contain 1–120 characters. This is not a Boolean query for candidate résumés.",
                  "editor": "textfield",
                  "minLength": 1,
                  "maxLength": 120,
                  "example": "data engineer"
                },
                "location": {
                  "title": "Location",
                  "type": "string",
                  "description": "Use this to narrow a search to an Indian city or region. Enter text such as \"bangalore\", \"mumbai\", or leave it empty for all India. Defaults to an empty string and accepts up to 80 characters. This is not a proxy country or candidate address.",
                  "editor": "textfield",
                  "default": "",
                  "maxLength": 80,
                  "example": "bangalore"
                }
              },
              "required": [
                "keyword"
              ]
            },
            "default": [
              {
                "keyword": "software engineer",
                "location": "bangalore"
              }
            ]
          },
          "maxResults": {
            "title": "Maximum jobs",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Use this to cap the total unique jobs returned across all searches. Enter an integer such as 100. Defaults to 50 and accepts 1–1,000; at $0.01 per job, this is also the main cost cap. This is not a per-search limit.",
            "default": 50
          },
          "freshnessDays": {
            "title": "Maximum job age",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Use this to include only recently posted Naukri jobs. Enter whole days from 0–30; for example, 1 means the last 24 hours. Defaults to 7 days, while 0 disables the age filter. This is not the Actor schedule interval.",
            "default": 7
          },
          "experienceMin": {
            "title": "Minimum experience",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Use this to keep jobs whose required experience overlaps a minimum number of years. Enter an integer such as 2. Defaults to 0 and accepts 0–50; jobs without disclosed experience remain eligible. This is not the applicant's exact years of experience.",
            "default": 0
          },
          "experienceMax": {
            "title": "Maximum experience",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Use this to keep jobs whose required experience overlaps a maximum number of years. Enter an integer such as 8. Defaults to 50 and accepts 0–50; it must be at least experienceMin. This is not a seniority label such as \"manager\".",
            "default": 50
          },
          "salaryMinLakhs": {
            "title": "Minimum annual salary",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Use this to filter jobs with a disclosed maximum salary below an INR threshold. Enter lakhs per annum, such as 10 for ₹10 LPA. Defaults to 0 and accepts 0–200; jobs with undisclosed salary remain eligible. This is not a monthly salary or raw rupee amount.",
            "default": 0
          },
          "workMode": {
            "title": "Work mode",
            "enum": [
              "any",
              "remote",
              "hybrid",
              "office"
            ],
            "type": "string",
            "description": "Use this to restrict results by working arrangement. Choose \"any\", \"remote\", \"hybrid\", or \"office\"; for example, \"remote\" keeps work-from-home jobs. Defaults to \"any\" and includes listings whose mode is not disclosed. This is not a job-type filter such as contract or full-time.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Use this to choose the order requested from Naukri. Choose \"relevance\" or \"date\"; for example, \"date\" prioritizes newer listings. Defaults to \"relevance\" and does not change the global deduplication rule. This is not a dataset export sort applied after scraping.",
            "default": "relevance"
          },
          "responseFormat": {
            "title": "Response detail",
            "enum": [
              "concise",
              "detailed"
            ],
            "type": "string",
            "description": "Use this to control description size for humans and AI agents. Choose \"concise\" to return description as null or \"detailed\" to include up to 1,500 cleaned characters. Defaults to \"detailed\" while preserving identical field keys in both modes. This is not the JSON, CSV, or Excel export format.",
            "default": "detailed"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}