Cutshort Jobs Scraper avatar

Cutshort Jobs Scraper

Pricing

Pay per event

Go to Apify Store
Cutshort Jobs Scraper

Cutshort Jobs Scraper

Scrape public Cutshort job listings with companies, locations, skills, salary, experience, URLs, and descriptions for recruiting research.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Extract public job listings from Cutshort.io category and search pages. The actor reads server-rendered Cutshort job data and saves structured records with titles, companies, locations, skills, salary ranges, experience ranges, URLs, and descriptions.

Use it for recruiting intelligence, India tech hiring research, salary monitoring, agency lead sourcing, and job-market dashboards.

What does Cutshort Jobs Scraper do?

Cutshort Jobs Scraper turns public Cutshort job pages into clean Apify datasets.

It can scrape pages such as:

  • https://cutshort.io/jobs/reactjs-jobs
  • https://cutshort.io/jobs/python-jobs
  • https://cutshort.io/jobs/remote-jobs
  • any other public Cutshort /jobs/... page that includes job listings

The actor works without a Cutshort account for publicly visible listings.

Who is it for?

Recruiters use it to monitor active technology hiring in India.

Staffing agencies use it to discover companies hiring for specific skills.

Job-board operators use it to enrich job inventory and trend reports.

Labor-market analysts use it to track skill demand, remote work, and salary bands.

Founders and sales teams use it to identify companies with open roles and growth signals.

Why use this actor?

  • 🧭 Scrapes public Cutshort category pages directly
  • 🧑‍💻 Captures skills and tech-stack signals
  • 💰 Extracts public salary ranges when Cutshort exposes them
  • 📍 Saves locations and remote-work mode
  • 🏢 Includes company names and company links when available
  • 📝 Optionally includes public job descriptions
  • ⚡ Uses HTTP extraction, not a browser, for fast and low-cost runs

What data can you extract?

FieldDescription
titleJob title
urlPublic Cutshort job URL
jobIdCutshort job identifier when present
companyCompany name
companyUrlPublic company/profile URL when available
locationsLocation array
locationTextDisplay location text
remoteTypeRemote mode from Cutshort
roleTypesFull-time, internship, contract, or other role tags
skillsSkills and technologies listed on the job
salaryTextHuman-readable salary range
salaryMinNumeric salary lower bound when public
salaryMaxNumeric salary upper bound when public
salaryCurrencySalary currency code
experienceMinMinimum experience
experienceMaxMaximum experience
descriptionTextClean text job description
descriptionHtmlOriginal public HTML description
sourceUrlCategory/search URL that produced the job
sourceSlugCutshort slug such as reactjs-jobs
scrapedAtUTC scrape timestamp

How much does it cost to scrape Cutshort jobs?

The actor uses pay-per-event pricing.

  • A small start event is charged once per run.
  • A per-job event is charged only for saved dataset rows.

Formula-derived pricing is extremely low for this HTTP actor; the platform-ready BRONZE price is about $0.042 per 1,000 saved jobs, with higher-tier discounts. FREE-tier runs use about $0.048 per 1,000 saved jobs; DIAMOND-tier runs use about $0.012 per 1,000 saved jobs.

How to use Cutshort Jobs Scraper

  1. Open the actor on Apify.
  2. Add one or more Cutshort job category URLs.
  3. Optionally add category slugs such as reactjs-jobs.
  4. Set the maximum number of jobs.
  5. Run the actor.
  6. Export the dataset as JSON, CSV, Excel, or via API.

Input options

Start URLs

Use full Cutshort URLs.

[
{ "url": "https://cutshort.io/jobs/reactjs-jobs" }
]

Search/category slugs

Use this when you only know the last part of a Cutshort URL.

["reactjs-jobs", "python-jobs"]

The actor converts the slug into a Cutshort jobs URL.

Maximum jobs

Use maxItems to stop after a fixed number of saved listings.

Include description

Set includeDescription to false if you only need short listing-level fields.

Input example

{
"startUrls": [
{ "url": "https://cutshort.io/jobs/reactjs-jobs" }
],
"searchSlugs": ["python-jobs"],
"maxItems": 50,
"includeDescription": true
}

Output example

{
"title": "Full Stack Developer",
"url": "https://cutshort.io/job/Full-Stack-Developer-example",
"jobId": "abc123",
"company": "Example Technologies",
"companyUrl": "https://cutshort.io/jobs-at-example-technologies",
"locations": ["Bengaluru (Bangalore)"],
"locationText": "Bengaluru (Bangalore)",
"remoteType": "remote_not_okay",
"roleTypes": ["full_time"],
"skills": ["React.js", "Node.js", "TypeScript"],
"salaryText": "₹10L - ₹20L / yr",
"salaryMin": 1000000,
"salaryMax": 2000000,
"salaryCurrency": "INR",
"experienceMin": 2,
"experienceMax": 6,
"descriptionText": "Public job description text...",
"sourceUrl": "https://cutshort.io/jobs/reactjs-jobs",
"sourceSlug": "reactjs-jobs",
"scrapedAt": "2026-06-08T08:00:00.000Z"
}

Tips for better results

  • Use specific skill slugs for targeted sourcing.
  • Run multiple smaller skill pages instead of one broad page when building dashboards.
  • Keep maxItems low during testing.
  • Disable descriptions when you only need counts, skills, companies, and salaries.
  • Deduplicate downstream by jobId or url.

Integrations

You can connect the dataset to:

  • Google Sheets for recruiting dashboards
  • Airtable for agency lead tracking
  • BigQuery or Snowflake for labor-market analysis
  • Slack alerts for new jobs in a tracked skill
  • CRM tools for company hiring-signal enrichment

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/cutshort-jobs-scraper').call({
searchSlugs: ['reactjs-jobs'],
maxItems: 25,
includeDescription: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/cutshort-jobs-scraper').call(run_input={
'searchSlugs': ['reactjs-jobs'],
'maxItems': 25,
'includeDescription': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~cutshort-jobs-scraper/runs?token=MY-APIFY-TOKEN' \
-H 'Content-Type: application/json' \
-d '{"searchSlugs":["reactjs-jobs"],"maxItems":25,"includeDescription":true}'

MCP usage

Use Apify MCP to run this actor from Claude Desktop or Claude Code.

MCP server URL:

https://mcp.apify.com/?tools=automation-lab/cutshort-jobs-scraper

Claude Code setup:

$claude mcp add apify-cutshort-jobs "https://mcp.apify.com/?tools=automation-lab/cutshort-jobs-scraper"

Claude Desktop JSON config:

{
"mcpServers": {
"apify-cutshort-jobs": {
"url": "https://mcp.apify.com/?tools=automation-lab/cutshort-jobs-scraper"
}
}
}

Example prompts:

  • "Scrape 25 React.js jobs from Cutshort and summarize the most common skills."
  • "Find public Cutshort jobs for Python and group them by salary range."
  • "Monitor this Cutshort category and show companies hiring remotely."

Data quality notes

Cutshort controls which fields are public. Some listings may omit salary, experience, locations, or company details. The actor keeps missing optional fields as null or empty arrays instead of inventing values.

FAQ

Why did I get fewer jobs than requested?

A Cutshort category page may expose fewer public jobs than your maxItems, or duplicates may be skipped across multiple URLs.

Why is salary missing?

Salary is only saved when Cutshort exposes a public salary range for that listing.

Can I scrape private applicant data?

No. This actor only extracts public job listing data visible without logging in.

Legality and responsible use

This actor is designed for publicly available job listing data. You are responsible for ensuring that your use case complies with applicable laws, platform terms, and privacy obligations. Do not use scraped data for spam, discrimination, or unauthorized profiling.

Explore other Automation Lab actors for job and recruiting workflows:

Changelog

Initial version extracts public Cutshort job listings from server-rendered job category pages.

Support

If a public Cutshort jobs page fails, include the input URL, run ID, and expected listing examples in your support request.

Field reference: title

The job title shown by Cutshort.

Field reference: company

The company name associated with the public listing.

Field reference: skills

The technologies and skills Cutshort exposes for the job.

Field reference: salary

The salary text and numeric range when public.

Field reference: experience

The experience range when public.

Field reference: description

The public job description converted to text, with optional HTML retained.