Cutshort Jobs Scraper
Pricing
Pay per event
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
Maintained by CommunityActor 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-jobshttps://cutshort.io/jobs/python-jobshttps://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?
| Field | Description |
|---|---|
title | Job title |
url | Public Cutshort job URL |
jobId | Cutshort job identifier when present |
company | Company name |
companyUrl | Public company/profile URL when available |
locations | Location array |
locationText | Display location text |
remoteType | Remote mode from Cutshort |
roleTypes | Full-time, internship, contract, or other role tags |
skills | Skills and technologies listed on the job |
salaryText | Human-readable salary range |
salaryMin | Numeric salary lower bound when public |
salaryMax | Numeric salary upper bound when public |
salaryCurrency | Salary currency code |
experienceMin | Minimum experience |
experienceMax | Maximum experience |
descriptionText | Clean text job description |
descriptionHtml | Original public HTML description |
sourceUrl | Category/search URL that produced the job |
sourceSlug | Cutshort slug such as reactjs-jobs |
scrapedAt | UTC 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
- Open the actor on Apify.
- Add one or more Cutshort job category URLs.
- Optionally add category slugs such as
reactjs-jobs. - Set the maximum number of jobs.
- Run the actor.
- 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
maxItemslow during testing. - Disable descriptions when you only need counts, skills, companies, and salaries.
- Deduplicate downstream by
jobIdorurl.
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 ApifyClientclient = 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().itemsprint(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.
Related scrapers
Explore other Automation Lab actors for job and recruiting workflows:
- https://apify.com/automation-lab/naukri-scraper
- https://apify.com/automation-lab/welcome-to-the-jungle-jobs-scraper
- https://apify.com/automation-lab/remoteok-jobs-scraper
- https://apify.com/automation-lab/jobicy-jobs-scraper
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.