{
  "openapi": "3.0.1",
  "info": {
    "title": "Instahyre Jobs Scraper & API: Posted Dates, Company Ratings",
    "description": "Scrape Instahyre jobs in India with the posting date Instahyre hides, newest first, company Glassdoor ratings, experience and city filters, jobs for freshers, recruiter, full description, job alerts. Excel, CSV, JSON.",
    "version": "0.1",
    "x-build-id": "NjBIrHMTFH0RPsOKi"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/s_actors~instahyre-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-s_actors-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/s_actors~instahyre-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-s_actors-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/s_actors~instahyre-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-s_actors-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": {
          "keywords": {
            "title": "🔎 Skills or keywords",
            "type": "array",
            "description": "Skill, job title or technology, one per line: \"python\", \"react\", \"data analyst\", \"devops\", \"product manager\". Each keyword is one Instahyre search (relevance order). Empty = every job matching the filters below (or the whole Instahyre board, about 13,000 jobs).",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "📍 Locations",
            "type": "array",
            "description": "Indian city, state or region as on Instahyre: \"Bangalore\" (or Bengaluru), \"Pune\", \"Hyderabad\", \"Delhi / NCR\", \"Gurgaon\", \"Mumbai\", \"Chennai\", \"Work From Home\". Instahyre filters by them itself (exact counts); several = any of them. Empty = all of India.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "🏠 Work from home / remote",
            "type": "boolean",
            "description": "Adds Instahyre's \"Work From Home\" location to the search. Every row has workplaceType (remote, hybrid = remote or office, on-site).",
            "default": false
          },
          "experienceYears": {
            "title": "🎓 Your years of experience",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Instahyre's own experience filter: jobs open to a candidate with this many years. 0 = jobs for freshers (entry level, graduates). Empty = any. Every row has experienceMinYears and experienceMaxYears."
          },
          "maxJobsPerSearch": {
            "title": "🔢 Max jobs per search",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Per keyword (and per search link). Instahyre shows at most 10,000 jobs per search; above that the Actor splits the search by company size and job type and merges the results without duplicates.",
            "default": 100
          },
          "sortBy": {
            "title": "↕️ Order",
            "enum": [
              "relevance",
              "newest"
            ],
            "type": "string",
            "description": "Instahyre has no date sort and keeps jobs listed for months. Newest first = the Actor reads the whole search, orders it by posting date and returns the newest jobs.",
            "default": "relevance"
          },
          "postedWithin": {
            "title": "🕒 Posted within",
            "enum": [
              "anyTime",
              "past24Hours",
              "past3Days",
              "pastWeek",
              "past2Weeks",
              "pastMonth",
              "past3Months"
            ],
            "type": "string",
            "description": "Only jobs posted in this window, newest first. Instahyre has no such filter and does not show the date: it is read from each job page. Older jobs are free.",
            "default": "anyTime"
          },
          "jobType": {
            "title": "💼 Job type",
            "enum": [
              "any",
              "fullTime",
              "internship"
            ],
            "type": "string",
            "description": "Instahyre's own filter. Internships come with the stipend (₹ per month) and duration.",
            "default": "any"
          },
          "companySize": {
            "title": "🏢 Company size",
            "enum": [
              "any",
              "small",
              "medium",
              "large"
            ],
            "type": "string",
            "description": "Instahyre's own company-size groups.",
            "default": "any"
          },
          "minCompanyRating": {
            "title": "⭐ Min company rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Keep jobs of companies rated at least this on Glassdoor (overall, 1-5, as shown on Instahyre), e.g. 4. Companies without a rating are removed. Removed jobs are free."
          },
          "jobFunctions": {
            "title": "🧩 Job functions",
            "type": "array",
            "description": "Instahyre's job functions, by name or a part of it: \"Backend Development\", \"Frontend Development\", \"Data Science / Machine Learning\", \"DevOps / Cloud\", \"Product Management\", \"Software Testing / QA / SDET\", \"Sales / Business Development\". Several = any of them.",
            "items": {
              "type": "string"
            }
          },
          "industries": {
            "title": "🏭 Company industries",
            "type": "array",
            "description": "Instahyre's industries: \"Computer Software / IT / Internet\", \"Banking / Financial Services\", \"Healthcare / Hospitals\"... Several = any of them.",
            "items": {
              "type": "string"
            }
          },
          "companies": {
            "title": "🏷️ Companies",
            "type": "array",
            "description": "Only jobs of these companies, name as on Instahyre: \"Amazon\", \"Accenture\", \"Zepto\".",
            "items": {
              "type": "string"
            }
          },
          "titleMustMatchKeyword": {
            "title": "🎯 Title must contain the keyword",
            "type": "boolean",
            "description": "Instahyre's search also matches skills: \"python\" brings \"Backend Engineer\" jobs that list Python. On = only jobs whose title has every word of the keyword. Removed jobs are free.",
            "default": false
          },
          "titleInclude": {
            "title": "✅ Title must contain one of",
            "type": "array",
            "description": "Keep only jobs whose title contains one of these words, e.g. \"senior\", \"lead\".",
            "items": {
              "type": "string"
            }
          },
          "titleExclude": {
            "title": "🚫 Title must not contain",
            "type": "array",
            "description": "Remove jobs whose title contains one of these words, e.g. \"intern\", \"manager\".",
            "items": {
              "type": "string"
            }
          },
          "companyExclude": {
            "title": "🚷 Exclude companies",
            "type": "array",
            "description": "Remove jobs of companies whose name contains one of these, e.g. staffing agencies.",
            "items": {
              "type": "string"
            }
          },
          "skipDuplicates": {
            "title": "♻️ Skip reposts",
            "type": "boolean",
            "description": "Companies often post one job many times: same title + company + cities = one row.",
            "default": true
          },
          "searchUrls": {
            "title": "🔗 Instahyre search links",
            "type": "array",
            "description": "Search pages such as instahyre.com/python-jobs-in-bangalore/, instahyre.com/jobs-in-pune/, instahyre.com/internships-in-bangalore/ (the skill and city are taken from the link; the filters above are added).",
            "items": {
              "type": "string"
            }
          },
          "jobUrls": {
            "title": "🔗 Instahyre job links",
            "type": "array",
            "description": "Links of single jobs, e.g. https://www.instahyre.com/job-443990-senior-mlops-engineer-at-shuru-technologies-bangalore/, or just the number 443990.",
            "items": {
              "type": "string"
            }
          },
          "includeJobDetails": {
            "title": "📄 Job details",
            "type": "boolean",
            "description": "Full description, experience range, job functions, recruiter name and title, internship stipend. Included in the price; off = faster runs with the search fields, posting date and company only.",
            "default": true
          },
          "includeCompanyProfile": {
            "title": "⭐ Company ratings and profile",
            "type": "boolean",
            "description": "The company's Glassdoor ratings (overall, culture, work-life balance, salary & benefits, career, diversity, recommend to a friend), benefits, tech stack, LinkedIn and open jobs. One request per company, included in the price.",
            "default": true
          },
          "descriptionFormat": {
            "title": "📝 Description",
            "enum": [
              "text",
              "html",
              "both",
              "none"
            ],
            "type": "string",
            "description": "The full job description is included at no extra cost.",
            "default": "text"
          },
          "splitLargeSearches": {
            "title": "✂️ Go past 10,000 jobs per search",
            "type": "boolean",
            "description": "Instahyre shows at most 10,000 jobs per search. On = the search is repeated per company size and job type and the results are merged without duplicates.",
            "default": true
          },
          "onlyNewJobs": {
            "title": "🔔 Only new jobs (job alert)",
            "type": "boolean",
            "description": "Remembers the jobs of earlier runs with the same alert name and returns only new ones, newest first. Schedule the Actor daily for an Instahyre job alert to Slack, email or a sheet. Jobs already seen are free.",
            "default": false
          },
          "monitorName": {
            "title": "🏷️ Alert name",
            "type": "string",
            "description": "Separate memory for each alert: use a different name for each search you schedule.",
            "default": "default"
          },
          "maxConcurrency": {
            "title": "⚡ Parallel requests",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How many Instahyre requests run at once.",
            "default": 10
          },
          "debugLog": {
            "title": "🐞 Debug log",
            "type": "boolean",
            "description": "Log every retry.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}