{
  "openapi": "3.0.1",
  "info": {
    "title": "Instahyre Jobs Scraper – India Tech Jobs",
    "description": "Scrape Instahyre jobs in India by skill or job title, with filters for city (Bangalore, Work From Home...), experience (freshers too), job type, company size and job function. Full job description, skills and company profile in every row. No login. Pay per result: $0.80 per 1,000 jobs.",
    "version": "1.0",
    "x-build-id": "XfGzDIQxID0qJiEW2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/brii3343~instahyre-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-brii3343-instahyre-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/brii3343~instahyre-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-brii3343-instahyre-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/brii3343~instahyre-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-brii3343-instahyre-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 queries (skill or job title)",
            "type": "array",
            "description": "What to search on Instahyre, one per line, for example <code>python</code>, <code>data analyst</code> or <code>product manager</code>. Each query is one Instahyre job search (the same as the search box on instahyre.com), read page by page; the filters below apply to all of them.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Instahyre job links",
            "type": "array",
            "description": "Instahyre links: a single job to read in full, for example <code>https://www.instahyre.com/job-439850-python-engineer-at-nineleaps-2-bangalore/</code>, or a listing page such as <code>https://www.instahyre.com/python-jobs-in-bangalore/</code>, which is read as a search for that skill in that city. Other Instahyre pages give a free error row: paste the skill as Search query and the city as Location.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Only jobs in this city, for example <code>Bangalore</code>, <code>Pune</code> or <code>Work From Home</code>. Common spellings work: <code>Remote</code> = Work From Home, <code>Bengaluru</code> = Bangalore, <code>Gurugram</code> = Gurgaon, <code>Bombay</code> = Mumbai; separate several cities with commas. An unknown city gives a free error row at once. Empty = all of India. A rare city can take several minutes."
          },
          "companies": {
            "title": "Companies (optional)",
            "type": "array",
            "description": "Only jobs of these companies, one per line, written exactly as on Instahyre (capital letters included), for example <code>Nineleaps</code> or <code>Zeta</code>. Instahyre applies this filter itself, so it is fast. With no search queries or links, you get the jobs of the companies listed, up to <em>Max jobs per search</em> (50 by default): set that to <code>0</code> to get every job of a company with more than 50. A name Instahyre does not know gives a free error row.",
            "items": {
              "type": "string"
            }
          },
          "experienceYears": {
            "title": "Your years of experience",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Only jobs open to candidates with this many years of experience (Instahyre experience filter). Empty = any experience."
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "full_time",
              "internship"
            ],
            "type": "string",
            "description": "Full-time jobs or internships. Empty = both."
          },
          "companySize": {
            "title": "Company size",
            "enum": [
              "small",
              "medium",
              "large"
            ],
            "type": "string",
            "description": "Only companies of this size, as Instahyre groups them. Empty = all."
          },
          "jobFunction": {
            "title": "Job function",
            "enum": [
              "40",
              "91",
              "116",
              "90",
              "115",
              "119",
              "88",
              "114",
              "117",
              "118",
              "125",
              "124",
              "123",
              "127",
              "126",
              "78",
              "81",
              "120",
              "80",
              "104",
              "24",
              "105",
              "103",
              "39",
              "9",
              "97",
              "83",
              "84",
              "18",
              "77",
              "62",
              "7",
              "128",
              "129",
              "132",
              "135",
              "131",
              "136",
              "133",
              "130",
              "134",
              "140",
              "141",
              "142",
              "144",
              "143",
              "121",
              "34",
              "122",
              "93",
              "92",
              "95",
              "96",
              "94",
              "99",
              "32",
              "106",
              "33",
              "30",
              "8",
              "57",
              "37",
              "35",
              "98",
              "58",
              "36",
              "75",
              "63",
              "89",
              "137",
              "138",
              "139",
              "85",
              "20",
              "31",
              "61",
              "86",
              "22",
              "101",
              "43",
              "42",
              "87",
              "112",
              "110",
              "28",
              "113",
              "107",
              "111",
              "108",
              "109",
              "145",
              "100",
              "11",
              "4",
              "102",
              "79",
              "25",
              "82",
              "10",
              "17",
              "44",
              "12",
              "3",
              "1",
              "60",
              "76",
              "5"
            ],
            "type": "string",
            "description": "Only jobs of this Instahyre job function. Empty = all."
          },
          "maxItemsPerSource": {
            "title": "Max jobs per search",
            "minimum": 0,
            "type": "integer",
            "description": "Jobs to save for each search query. 0 = all the jobs Instahyre lists for it.",
            "default": 50
          },
          "maxItems": {
            "title": "Max jobs in total",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many jobs in the whole run. 0 = no limit.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed: the scraper connects directly and switches to Apify Proxy by itself only when Instahyre blocks it. Set a proxy here only to force one.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}