CutShort Scraper avatar

CutShort Scraper

Pricing

from $1.50 / 1,000 job listings

Go to Apify Store
CutShort Scraper

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

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

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, or java to 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?

FieldDescription
jobIdUnique CutShort job identifier
titleJob title (e.g., "Backend Engineer - Python", "Sr. Engineering Manager")
companyNameHiring company name
location / locationsJob location(s) (e.g., "Bengaluru", "Remote")
remote / remoteTypeWhether the role is remote and the remote type
salaryMin / salaryMaxSalary range in INR (annual) when published
salaryCurrency / salaryPeriodCurrency (INR) and period (year)
salaryRawTextOriginal salary text (e.g., "₹12L - ₹25L / yr")
salaryMinUsdEstimate / salaryMaxUsdEstimateUSD estimates for INR salaries
experienceRangeRequired experience (e.g., "2-5 years", "10+ years", "Fresher")
skillsRequired tech skills (e.g., ["Python", "Django", "PostgreSQL"])
jobTypeEmployment type (FULL_TIME, INTERNSHIP)
descriptionText / descriptionHtmlFull job description in plain text and HTML
companySizeCompany size range (e.g., "0-20", "1000-5000")
fundingStageStartup funding stage (Bootstrapped, Raised funding, Profitable)
companyLinkedinCompany LinkedIn URL
companyWebsiteCompany website URL
companyFoundedYear the company was founded
recruiterName / recruiterPhotoRecruiter who posted the job
url / applyUrlDirect CutShort job URL

Input parameters

ParameterTypeRequiredDefaultDescription
skillsarrayNo["python"]Skill or role terms to search on CutShort (e.g., ["python", "react", "devops"])
startUrlsarrayNoCutShort job URLs or search URLs
maxItemsintegerNo50Maximum job listings to save across all skills and URLs
outputModestringNo"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

  1. Go to the CutShort Scraper on Apify Store.
  2. Enter skill terms — Add skills like python, react, devops, nodejs, or java in the Skills field.
  3. 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.
  4. Set the job limit — Start with 25 for a quick test, then increase once you verify the output.
  5. Choose an output mode — Use full for all 40+ fields, summary for key fields, or urls_only for just job IDs and URLs.
  6. Click Start — The scraper runs in under a minute for most skill searches.
  7. 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 ApifyClient
client = 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?

EventPrice per eventPrice 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 (like reactjs). 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.

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.