# Cutshort Jobs Scraper \[$1.5/1k💰] | India Tech Jobs | Salaries (`ahmed_jasarevic/cutshort-scraper`) Actor

Scrape 43,000+ India tech and startup jobs from Cutshort into a structured dataset — salary ranges in lakhs, skills, experience, remote type, posted date and full descriptions. Built for salary benchmarking, recruitment research and hiring-signal tracking. No login or official API needed.

- **URL**: https://apify.com/ahmed\_jasarevic/cutshort-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Cutshort Jobs Scraper

Extract **Cutshort job listings for India tech and startup jobs** — salaries in lakhs, required skills, experience range, remote type and full descriptions — into a clean structured dataset, no account and no official API needed.

### Main Use Cases

- **Salary benchmarking for India tech roles** — compare salary ranges (parsed to numeric lakhs) across companies, cities and skills.
- **Startup jobs pipeline for recruiters** — monitor new tech & startup job postings from India's curated hiring platform (4M+ developers).
- **Hiring-signal & recruitment research** — track which companies are hiring, for which roles and skills, over time.
- **Skills-demand analysis** — see required skills and experience ranges per job category (e.g. video editing, remote, design).
- **AI & agent-friendly job datasets** — structured JSON job records ready for RAG pipelines, LLM apps and recruitment tech.

### How It Works

This Cutshort scraper reads Cutshort's own internal JSON API (the same backend the website renders) plus the public job sitemap it exposes to search engines (~43,000 job URLs). Category/tag listing pages are paginated automatically at 50 jobs per request, and each job's full structured record — salary, skills, experience, location, description — is returned as clean JSON. No browser, no anti-bot headaches, and ~10x lower compute cost than a browser-based scraper.

### Build India Tech Job Databases Without an Official API Alternative

Cutshort's official developer API (developers.cutshort.io) is aimed at employers searching **candidate** profiles. It does not expose the public job-listing dataset this actor reads. If you need job listings — title, company, salary range, skills, experience, remote type, posted date and description — without an official API alternative, this actor extracts exactly that surface from the public sitemap and listing pages.

### Track Startup Jobs & Salary Benchmarks Across Indian Tech

Turn Cutshort into a salary-benchmarking and hiring-signal feed:

- **Salary benchmarking** — each job record includes `salaryRange` as a raw string and `salaryMinLakhs` / `salaryMaxLakhs` as parsed numeric bounds for analysis.
- **Company intelligence** — `company`, `companyStage` (e.g. Funded, Profitable), `companyFounded`.
- **Hiring signals** — `postedDate`, `roleTypes`, `remoteType`, `experienceLabel` let you track who is hiring, and when.

### Input

| Field | Type | Required | Default | Notes |
|-------|------|----------|---------|-------|
| `startUrls` | array | No | `https://cutshort.io/jobs/video-editing-jobs` | Cutshort job URLs to scrape. Supports individual job pages (`/job/...`) and category/tag listing pages (`/jobs/...`) with automatic pagination. **Clear this field to auto-discover all live jobs from the Cutshort sitemap.** |
| `maxItems` | integer | No | `100` | Maximum number of jobs to scrape (max 50,000). Free users are capped at 10 items per run. |
| `proxy` | object | No | off | Standard Apify proxy picker. Off by default — Cutshort's API works without a proxy. |

### Example Input

```json
{
  "startUrls": [
    { "url": "https://cutshort.io/jobs/video-editing-jobs" },
    { "url": "https://cutshort.io/job/Shopify-Developer-Bengaluru-Bangalore-Moshi-Moshi-IHdsnffT" }
  ],
  "maxItems": 300
}
```

To scrape the entire live market snapshot, clear `startUrls` and set `maxItems` to `50000`.

### Output

One dataset item per job. See the dataset schema (`overview` view) for the key columns; full records include every field below:

| Field group | Fields |
|-------------|--------|
| Job identity | `jobId`, `jobTitle`, `jobUrl`, `postedDate`, `postedDateLabel` |
| Company | `company`, `companyAlias`, `companyLogo`, `companyStage`, `companyFounded` |
| Compensation | `salaryRange`, `salaryMinLakhs`, `salaryMaxLakhs` |
| Requirements | `skills`, `experienceMinYears`, `experienceMaxYears`, `experienceLabel` |
| Location | `location`, `remoteType`, `roleTypes` |
| Description | `descriptionHtml`, `descriptionText` |

### Example Output

```json
{
  "jobId": "6aae866778344e809ca6b422",
  "jobTitle": "Shopify Developer",
  "company": "Moshi Moshi",
  "companyStage": "Profitable",
  "companyFounded": 2014,
  "salaryRange": "₹2L - ₹7L / yr",
  "salaryMinLakhs": 2,
  "salaryMaxLakhs": 7,
  "skills": ["Shopify", "HTML/CSS", "Javascript", "React.js"],
  "experienceMinYears": 2.5,
  "experienceMaxYears": 6,
  "experienceLabel": "2.5 - 6 years",
  "location": "Bengaluru (Bangalore)",
  "remoteType": "On-site",
  "roleTypes": ["full_time"],
  "postedDate": "2026-09-19T13:01:18.914Z",
  "jobUrl": "https://cutshort.io/job/Shopify-Developer-Bengaluru-Bangalore-Moshi-Moshi-IHdsnffT",
  "descriptionText": "About Us: We are not just an AD agency..."
}
```

Download the dataset as **JSON, HTML, CSV or Excel**, or pull it via the Apify API.

### Scrape Category & Tag Listings With Automatic Pagination

Paste any Cutshort listing URL into `startUrls` and the actor pages through every job in that category automatically — 50 jobs per request against the listing API. Examples: `https://cutshort.io/jobs/remote-jobs` (remote jobs) or `https://cutshort.io/jobs/video-editing-jobs` (245+ video editing jobs). Each listing request returns full job objects with no per-job round trip.

### Integrations & Automation

- **Apify API** — call the actor programmatically from your HR tech, analytics or LLM stack.
- **Webhooks** — get notified when a run finishes.
- **Scheduling** — run daily or weekly on Apify's scheduler to build a salary-benchmarking and hiring-signal time series.
- **Export** — JSON, CSV, HTML, Excel, or push to your own storage.

*Recommended schedule:* **daily** for hiring-signal monitoring, **weekly** for salary benchmarking snapshots.

### Related Actors

- [CutShort.io Scraper - India Tech Jobs, Salary & Skills](https://apify.com/thirdwatch/cutshort-jobs-scraper) — most-used Cutshort actor on the Store (jobs cluster authority).
- [Indeed Jobs Scraper](https://apify.com/kaix/indeed-scraper) — the largest general job-board scraper in the jobs cluster.
- [Vivian Health Jobs Scraper](https://apify.com/crawlerbros/vivian-health-scraper) — healthcare/nursing jobs from Vivian Health (same jobs cluster).
- [Monster Job Scraper](https://apify.com/blackfalcondata/monster-scraper) — 1M+ US listings with salary & remote data.
- [CutShort Jobs Scraper: India Tech Salaries](https://apify.com/getascraper/cutshort-scraper) — competing Cutshort actor with salary-range output.

### FAQ

#### Why use this actor instead of the official Cutshort API?

Cutshort's official API (developers.cutshort.io) targets **employers searching candidate profiles** — it does not provide the public job-listing data this actor extracts, and it requires an account and API key. This actor reads the public sitemap and Cutshort's internal JSON API, so you get structured job listings with no account, no API key and no per-job browser rendering.

#### What are alternatives to this actor / Cutshort jobs data?

- Other Cutshort scrapers on Apify: [thirdwatch/cutshort-jobs-scraper](https://apify.com/thirdwatch/cutshort-jobs-scraper), [getascraper/cutshort-scraper](https://apify.com/getascraper/cutshort-scraper), [themineworks/cutshort-jobs-scraper](https://apify.com/themineworks/cutshort-jobs-scraper).
- Broad Indian job-board data: Indeed, Naukri and Monster scrapers (search the Store for "jobs India").
- Cutshort's own candidate-search API for employer-side recruiting workflows.

#### How can I scrape India tech jobs with salary data?

Use `startUrls` with a category listing (e.g. `https://cutshort.io/jobs/video-editing-jobs`) or clear it for the full sitemap, then analyze `salaryMinLakhs` / `salaryMaxLakhs` and `experienceLabel` per role. See the tasks on this actor page for ready-made "salary benchmarking" and "hiring feed" configurations.

#### What is the best way to monitor startup hiring trends?

Schedule this actor **daily** via Apify's scheduler and diff `postedDate` between runs — you get a clean hiring-signal timeline of companies, roles, skills and salary ranges across India's startup ecosystem.

### For AI Agents & LLM Apps

- **Purpose:** returns one structured job record per Cutshort tech/startup job listing (identity, company, salary in lakhs, skills, experience, location, description).
- **Minimal input:**

```json
{ "startUrls": [{ "url": "https://cutshort.io/jobs/video-editing-jobs" }], "maxItems": 100 }
```

- **Variant input — full market snapshot (sitemap discovery):**

```json
{ "startUrls": [], "maxItems": 1000 }
```

Behaviors an agent should know:

- Empty `startUrls` triggers automatic discovery of all live jobs from the public sitemap (~43,000 URLs); a non-empty `startUrls` restricts scraping to those pages/URLs.
- `maxItems` is the hard cap — leave unset/`100` for a bounded run; free-tier accounts are limited to 10 items.
- Only **job listings** are scraped — never candidate profiles, company reviews, or apply flows (not exposed by the API).
- Description is returned in both `descriptionHtml` and `descriptionText`.
- **Billing:** pay-per-result — `$0.0015` per job record stored in the default dataset.

### Legal & Compliance Disclaimer

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Cutshort (Vertoz Inc.). It accesses only publicly available job-listing pages and data exposed by Cutshort's public internals — no login bypass, no CAPTCHA solving, no access to candidate profiles or account-gated data. Users are responsible for complying with Cutshort's Terms of Service and applicable data-protection and employment law. The stored job data is public listing information; use it responsibly and do not present it as sourced from Cutshort itself.

### SEO Keywords

cutshort jobs, india tech jobs, startup jobs india, salary benchmarking india, cutshort salary data, cutshort api alternative, jobs API alternative, india developer jobs, bangalore tech jobs, cutshort scraper, cutshort jobs data, video editing jobs india, remote jobs india, hiring signals dataset, recruitment research india, skills demand analysis, startup ecosystem research, indian startup hiring, tech salary dataset, structured job listings api

# Actor input Schema

## `startUrls` (type: `array`):

Cutshort job URLs to scrape. Supports individual job pages (https://cutshort.io/job/...) AND category/tag listing pages (e.g. https://cutshort.io/jobs/video-editing-jobs) which are scraped with automatic pagination. Prefilled with 5 live jobs - just hit Start. Clear this field to automatically discover all live jobs from the Cutshort sitemap.

## `maxItems` (type: `integer`):

Maximum number of jobs to scrape. Free users are capped at 10 items.

## `proxy` (type: `object`):

Select proxies to be used by your crawler.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://cutshort.io/jobs/video-editing-jobs"
    }
  ],
  "maxItems": 100,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://cutshort.io/jobs/video-editing-jobs"
        }
    ],
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/cutshort-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://cutshort.io/jobs/video-editing-jobs" }],
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("ahmed_jasarevic/cutshort-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://cutshort.io/jobs/video-editing-jobs"
    }
  ],
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ahmed_jasarevic/cutshort-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/cutshort-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/dZS5PDHZcvIb7Hulg/builds/V4BiacuDYPwo6k2Jo/openapi.json
