CutShort Scraper
Pricing
from $1.50 / 1,000 job listings
CutShort Scraper
Scrape CutShort.io tech and startup jobs — titles, companies, salaries, skills, experience, descriptions, recruiter details, tech stacks, funding stage. Search by skill or paste URLs. Output modes: full, summary, urls_only. Export JSON, CSV, Excel. No login needed.
Pricing
from $1.50 / 1,000 job listings
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
CutShort Scraper — India Tech & Startup Jobs, Salaries & Skills
Scrape CutShort.io tech and startup job listings — titles, companies, salaries, skills, experience, descriptions, recruiter details, funding stage, and LinkedIn profiles. Search by skill or paste CutShort URLs. Three output modes: full, summary, urls_only. Export as JSON, CSV, or Excel. No login needed.
| Extract structured job data from CutShort.io — India's curated tech hiring platform. Search by skill terms like python, react, or devops. Get 35+ fields per job including salary ranges, funding stage, recruiter contacts, company LinkedIn, and USD salary estimates. $1.50 per 1,000 jobs. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Apify Actor: parsebird/cutshort-jobs-scraper — scrapes CutShort.io tech and startup job listings from India's curated hiring platform. Pricing: $0.0015/result ($1.50/1000). Call via ApifyClient: client.actor("parsebird/cutshort-jobs-scraper").call(run_input={"skills": ["python", "react"], "maxItems": 25}). Key inputs: skills (array of strings — skill terms like "python", "react", "devops", "nodejs", "java"), startUrls (array of objects with "url" key — CutShort job or search URLs), maxItems (integer, default 50 — max jobs to save), outputMode (string: "full"|"summary"|"urls_only", default "full"). Output fields (full mode): jobId, jobSlug, url, applyUrl, title, jobType, descriptionText, descriptionHtml, companyName, companyId, companySlug, companyUrl, companyLogo, companyWebsite, companyLinkedin, companyFounded, companySize, fundingStage, location, locations, remote, remoteType, salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryRawText, salaryMinUsdEstimate, salaryMaxUsdEstimate, experienceRange, experienceMin, experienceMax, skills, recruiterName, recruiterPhoto, matchedSkill, matchedInputs, sourceUrl, sourcePage, sourcePosition, dedupeKey, scrapedAt. API docs: https://docs.apify.com/api/v2 Token: https://console.apify.com/settings/integrations
What is CutShort Scraper?
CutShort Scraper is an Apify Actor that extracts job listings from CutShort.io — India's curated tech hiring platform focused on startups and tech companies. Unlike mass job boards, CutShort vets companies before listing, resulting in higher-quality job data with better salary transparency.
Think of it as a CutShort API alternative — CutShort does not offer a public data API, but this scraper delivers structured job data at scale. Each listing includes salary ranges, funding stage, company size, recruiter details, and LinkedIn profiles — data points that other job boards rarely expose.
- 🔍 Search by skill — Pass skill terms like
python,react,devops,nodejs, orjavato find matching jobs - 🔗 Direct URLs — Paste any CutShort job URL or search URL to extract specific listings
- 📊 Three output modes — Full (35+ fields), Summary (key fields), or URLs only
- 🏢 Rich company data — Funding stage, company size, LinkedIn, website, founded year
- 💰 Salary transparency — Numeric salary ranges in INR with USD estimates
- 🔄 Automatic deduplication — Jobs appearing across multiple skills are saved only once
What data can you extract from CutShort?
| Field | Description |
|---|---|
jobId | Unique CutShort job identifier |
title | Job title (e.g., "Backend Engineer - Python", "Sr. Engineering Manager") |
companyName | Hiring company name |
location / locations | Job location(s) (e.g., "Bengaluru", "Remote") |
remote / remoteType | Whether the role is remote and the remote type |
salaryMin / salaryMax | Salary range in INR (annual) when published |
salaryCurrency / salaryPeriod | Currency (INR) and period (year) |
salaryRawText | Original salary text (e.g., "₹12L - ₹25L / yr") |
salaryMinUsdEstimate / salaryMaxUsdEstimate | USD estimates for INR salaries |
experienceRange | Required experience (e.g., "2-5 years", "10+ years", "Fresher") |
skills | Required tech skills (e.g., ["Python", "Django", "PostgreSQL"]) |
jobType | Employment type (FULL_TIME, INTERNSHIP) |
descriptionText / descriptionHtml | Full job description in plain text and HTML |
companySize | Company size range (e.g., "0-20", "1000-5000") |
fundingStage | Startup funding stage (Bootstrapped, Raised funding, Profitable) |
companyLinkedin | Company LinkedIn URL |
companyWebsite | Company website URL |
companyFounded | Year the company was founded |
recruiterName / recruiterPhoto | Recruiter who posted the job |
url / applyUrl | Direct CutShort job URL |
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
skills | array | No | ["python"] | Skill or role terms to search on CutShort (e.g., ["python", "react", "devops"]) |
startUrls | array | No | — | CutShort job URLs or search URLs |
maxItems | integer | No | 50 | Maximum job listings to save across all skills and URLs |
outputMode | string | No | "full" | Output detail level: full, summary, or urls_only |
Output example
{"jobId": "6a2bf99d308c1234359cc547","jobSlug": "backend-engineer-python-example-startup","url": "https://cutshort.io/job/backend-engineer-python-example-startup","applyUrl": "https://cutshort.io/job/backend-engineer-python-example-startup","title": "Backend Engineer - Python","jobType": "FULL_TIME","descriptionText": "We are looking for a Backend Engineer...","descriptionHtml": "<p>We are looking for a Backend Engineer...</p>","companyName": "Example Startup","companyId": "6a2bf0d8b550804212f62c2f","companySlug": "jobs-at-example-startup","companyUrl": "https://cutshort.io/company/jobs-at-example-startup","companyLogo": "https://cdnv2.cutshort.io/company-static/example/logo.png","companyWebsite": "https://example.com","companyLinkedin": "https://linkedin.com/company/example","companyFounded": 2022,"companySize": "11-50","fundingStage": "Bootstrapped","location": "Bengaluru","locations": ["Bengaluru", "Remote"],"remote": true,"remoteType": "remote_only","salaryMin": 1200000,"salaryMax": 2500000,"salaryCurrency": "INR","salaryPeriod": "year","salaryRawText": "₹12L - ₹25L / yr","salaryMinUsdEstimate": 14457,"salaryMaxUsdEstimate": 30120,"experienceRange": "2-5 years","experienceMin": 2,"experienceMax": 5,"skills": ["Python", "Django", "PostgreSQL"],"recruiterName": "Example Recruiter","recruiterPhoto": "https://cdn.cutshort.io/public/users/example","matchedSkill": "python","matchedInputs": ["python"],"sourceUrl": "https://cutshort.io/jobs/python-jobs","sourcePage": 1,"sourcePosition": 1,"dedupeKey": "6a2bf99d308c1234359cc547","scrapedAt": "2026-06-14T12:00:00.000000+00:00"}
How to scrape CutShort
- Go to the CutShort Scraper on Apify Store.
- Enter skill terms — Add skills like
python,react,devops,nodejs, orjavain the Skills field. - Or paste CutShort URLs — Add job URLs (
https://cutshort.io/job/...) or search URLs (https://cutshort.io/jobs/python-jobs) to the CutShort URLs field. - Set the job limit — Start with 25 for a quick test, then increase once you verify the output.
- Choose an output mode — Use
fullfor all 40+ fields,summaryfor key fields, orurls_onlyfor just job IDs and URLs. - Click Start — The scraper runs in under a minute for most skill searches.
- Download results — Export your data as JSON, CSV, or Excel from the Dataset tab. Or access results via the Apify API.
Python API example:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("parsebird/cutshort-jobs-scraper").call(run_input={"skills": ["python", "react"],"maxItems": 50,"outputMode": "full",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['title']} at {item['companyName']} — {item.get('salaryRawText', 'N/A')}")
JavaScript API example:
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("parsebird/cutshort-jobs-scraper").call({skills: ["python", "react"],maxItems: 50,outputMode: "full",});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => {console.log(`${item.title} at ${item.companyName} — ${item.salaryRawText || "N/A"}`);});
Use cases
- 📊 Salary benchmarking — Compare pay ranges for Indian tech roles by skill, experience, and funding stage
- 🏢 Startup intelligence — Track which startups are hiring, their funding stage, company size, and headcount
- 🔍 Recruiter research — Find in-demand skills and actively hiring companies with recruiter contacts
- 📈 Job market monitoring — Schedule daily runs to track CutShort hiring trends over time
- 🤖 AI agent data feeds — Pipe structured job data into LLM workflows, chatbots, or recommendation engines
- 📋 Job aggregators — Add curated startup roles to your platform with CutShort as a data source
Use Apify scheduling to automate recurring exports. Connect to Google Sheets, Slack, or Zapier via Apify integrations.
How much does it cost to scrape CutShort?
| Event | Price per event | Price per 1,000 |
|---|---|---|
job-listing-scraped | $0.0015 | $1.50 |
Each job listing saved to the dataset counts as one event. Runs that find no matching jobs do not incur charges. Use the maxItems parameter to control costs — start with 25, then scale up.
Typical costs:
- 50 jobs (one skill search): ~$0.075
- 200 jobs (4 skills): ~$0.30
- 1,000 jobs (many skills + URLs): ~$1.50
New users get $5 of free Apify platform credit — enough for thousands of CutShort job listings.
Limits and caveats
- CutShort may omit fields such as salary, recruiter, funding stage, company size, remote type, or full description on some listings.
- Broad skill terms can return overlapping jobs. The Actor de-duplicates jobs within the run before saving them.
- Direct job URLs normally produce one job item each when the public page still exposes job data.
- The Actor is built for public job listings, not private dashboards, applicant data, or application submission.
- Invalid targets and no-result searches are reported in logs, not as placeholder dataset items.
- Each CutShort skill page returns up to 50 jobs. To get more results, use multiple skill terms.
- Some skill terms (like
react) may need the full name used by CutShort (likereactjs). The scraper automatically tries common alternatives.
FAQ
Do I need a CutShort account? No. The scraper accesses publicly visible job listings. No login, cookies, or API keys are needed.
How does CutShort compare to Naukri? CutShort has fewer listings but focuses on curated tech and startup jobs with better salary transparency, company/funding data, and recruiter details. For mass India job data, pair this with Naukri Jobs Scraper.
What currency are the salaries in? Indian Rupees (INR), reported as annual CTC (Cost to Company). USD estimates are provided automatically for INR salaries.
Can I schedule recurring runs? Yes. Use Apify's scheduling feature to run daily, weekly, or at any interval. Results are available via API or integrations.
Can I export to CSV or Excel? Yes. Download results in JSON, CSV, XML, or Excel directly from the Apify Console Dataset tab, or use the API to retrieve results programmatically.
What does the outputMode parameter do?
It controls how much data is saved per job. full includes all 35+ fields (descriptions, company data, recruiter info). summary includes key fields like title, company, salary, and skills. urls_only includes just the job ID, URL, and title.
How do I access results via API? Use the Apify API or client libraries for Python and JavaScript. See the code examples in the How to scrape CutShort section. Get your API token at console.apify.com/settings/integrations.
Why did a skill return 0 jobs?
CutShort uses specific skill slugs for its pages. If a skill like react returns empty, try the full name reactjs. The scraper automatically tries common alternatives, but very niche terms may not have a corresponding CutShort page.
Is it legal to scrape CutShort?
Scraping publicly available data is generally legal according to the US Ninth Circuit ruling in HiQ Labs v. LinkedIn. This scraper only accesses publicly visible job listings on CutShort.io — it does not log in, bypass paywalls, or access private data. Always review CutShort's Terms of Service and consult legal counsel for your specific use case. For more details, see Apify's guide on web scraping legality.
Related Actors
- Naukri Jobs Scraper — Scrape Naukri.com job listings across India with salaries, skills, and AmbitionBox reviews
- HelloWork Jobs Scraper — Scrape HelloWork job listings in France with salaries and skills
- BuiltIn Jobs Scraper — Scrape BuiltIn.com tech jobs in the US with company details
- HiringCafe Jobs Scraper — Scrape HiringCafe job listings with structured salary data