{
  "openapi": "3.0.1",
  "info": {
    "title": "Cutshort Jobs Scraper",
    "description": "Scrape tech jobs from cutshort.io, India: title, company (size, stage, type, website), salary, experience, skills, remote or office, posting date and full description. Search by skill, city or Remote, filter by experience, salary, job type and company. Monitor mode. No login.",
    "version": "1.0",
    "x-build-id": "ZKv48o5jFuans7UbV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/steadyscrape~cutshort-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-steadyscrape-cutshort-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/steadyscrape~cutshort-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-steadyscrape-cutshort-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/steadyscrape~cutshort-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-steadyscrape-cutshort-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": {
          "skills": {
            "title": "Skills or roles",
            "type": "array",
            "description": "Skills or roles as people write them, e.g. <code>Python</code>, <code>React</code>, <code>Node.js</code>, <code>Machine Learning</code>, <code>Product Manager</code>, <code>DevOps</code>, <code>Full Stack Developer</code>. Each is matched to the site's own job list for it (cutshort.io has about 3,800). Leave empty, with no link, to read every job on the site. A skill the site has no list for gives a free row naming the closest ones it has.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities, or <code>Remote</code>. Bangalore (Bengaluru), Delhi NCR (Gurugram, Noida), Mumbai, Pune, Hyderabad, Chennai, Ahmedabad, Kolkata, Jaipur, Indore, Coimbatore, Kochi, Chandigarh and Bhubaneswar have lists of their own on the site; any other town is looked for in the locations of the India-wide list. Each skill is searched in each location. Leave empty for all of India.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "jobListUrls": {
            "title": "Cutshort job list links",
            "type": "array",
            "description": "Links of the site's job list pages, e.g. <code>https://cutshort.io/jobs/python-jobs-in-pune</code> or <code>https://cutshort.io/jobs/remote-reactjs-jobs</code>. Each link is its own search; Locations do not apply to it, the filters below do. Job pages (cutshort.io/job/…) are not taken.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "workMode": {
            "title": "Work mode",
            "enum": [
              "any",
              "remote_only",
              "remote_allowed",
              "onsite"
            ],
            "type": "string",
            "description": "Keep only jobs of this work mode, as the job says it.",
            "default": "any"
          },
          "jobTypes": {
            "title": "Job types",
            "type": "array",
            "description": "Keep only jobs of these types. Empty keeps every type.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "internship",
                "temporary_full_time",
                "freelance"
              ],
              "enumTitles": [
                "Full time",
                "Internship",
                "Temporary / contract",
                "Freelance"
              ]
            },
            "default": []
          },
          "minExperience": {
            "title": "Minimum experience (years)",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Only jobs whose experience range reaches at least this many years."
          },
          "maxExperience": {
            "title": "Maximum experience (years)",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Only jobs whose experience range starts at or below this many years. Set 0 or 1 for freshers."
          },
          "minSalaryLpa": {
            "title": "Minimum salary (lakh a year)",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Only jobs whose published pay reaches this many lakh rupees a year (monthly pay counted times twelve). Jobs with a hidden salary or paid in another currency are left out when this is set."
          },
          "onlyWithSalary": {
            "title": "Only jobs with a published salary",
            "type": "boolean",
            "description": "Leave out jobs whose salary the recruiter hides (\"Best in industry\").",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within",
            "enum": [
              "any",
              "1",
              "3",
              "7",
              "15",
              "30",
              "90"
            ],
            "type": "string",
            "description": "Only jobs posted in the last days. The site lists newest first, so the Actor stops reading a list once it reaches older jobs. Combine with a schedule and \"Only new jobs\" for a daily feed.",
            "default": "any"
          },
          "companyStages": {
            "title": "Company stage",
            "type": "array",
            "description": "Keep only jobs of companies at these stages, as their Cutshort profile says. Companies without a stage are left out when this is set.",
            "items": {
              "type": "string",
              "enum": [
                "raisedFunding",
                "profitable",
                "bootstrapped"
              ],
              "enumTitles": [
                "Raised funding",
                "Profitable",
                "Bootstrapped"
              ]
            },
            "default": []
          },
          "companyTypes": {
            "title": "Company type",
            "type": "array",
            "description": "Keep only jobs of these kinds of company, as their Cutshort profile says.",
            "items": {
              "type": "string",
              "enum": [
                "product",
                "services",
                "productsAndServices"
              ],
              "enumTitles": [
                "Product",
                "Services",
                "Products & Services"
              ]
            },
            "default": []
          },
          "excludeAgencyPostings": {
            "title": "Leave out recruitment agency postings",
            "type": "boolean",
            "description": "Skip jobs a recruiter posts for a client (often a confidential one).",
            "default": false
          },
          "maxJobsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 0,
            "type": "integer",
            "description": "Stop each search after this many jobs. 0 means all the site shows: for big lists (Python, Java, all jobs) that is only the newest few hundred, so add cities to reach more.",
            "default": 100
          },
          "onlyNewJobs": {
            "title": "Only new jobs since the last run",
            "type": "boolean",
            "description": "Deliver, and charge, only jobs that an earlier run with the same searches and filters has not delivered. Made for scheduled runs.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}