CutShort Scraper avatar

CutShort Scraper

Pricing

$1.35 / 1,000 scraped jobs

Go to Apify Store
CutShort Scraper

CutShort Scraper

Scrape public CutShort tech and startup jobs by skill or URL. Export titles, companies, locations, salary ranges, experience, skills, descriptions, apply URLs, and scrape metadata.

Pricing

$1.35 / 1,000 scraped jobs

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

a day ago

Last modified

Share

🔎 CutShort Scraper for tech jobs

CutShort Scraper extracts public tech and startup job listings from CutShort and saves them as clean Apify dataset rows. Search by skills such as python, react, or devops, paste CutShort job/search URLs, or combine both in one run.

Use this CutShort scraper for recruiting research, job-market monitoring, salary checks, startup job discovery, lead lists, and repeat exports. Each saved job can include title, company, locations, remote type, salary, USD salary estimates, experience, skills, recruiter details, company profile fields, job description, matched inputs, and source position.

The default input searches common tech skills and saves up to 225 jobs. For a smaller first run, lower Job limit to 25, open the dataset, and then scale the limit when the output matches your workflow.

✅ What this CutShort scraper does

  • Searches public CutShort jobs by skill or role term.
  • Accepts CutShort job URLs and search URLs.
  • Saves one dataset row per unique job listing.
  • De-duplicates matching jobs across all skills and URLs in the same run.
  • Extracts job title, company, locations, remote type, salary, experience, skills, job type, recruiter details, descriptions, company profile fields, and source context when CutShort exposes them.
  • Adds USD salary estimates when INR salary values are visible.
  • Lets you choose full, summary, or lightweight job-identity output.
  • Works with Apify exports, schedules, webhooks, integrations, and API clients.

This Actor focuses on public CutShort job data. It does not log in to CutShort, submit applications, contact companies, scrape candidate profiles, or collect private account pages.

📦 CutShort job data you can extract

Each dataset row is one CutShort job. Some fields can be empty when CutShort does not show that value for a specific listing.

Data groupFields
Job identityjobId, jobSlug, title, jobType
Job contentdescriptionText, descriptionHtml, skills, locations, remoteType
CompanycompanyName, companyId, companySlug, companyLogo, companyWebsite, companyLinkedin, companyFounded, companyTechStack, companySize, fundingStage
SalarysalaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryRawText, salaryMinUsdEstimate, salaryMaxUsdEstimate
ExperienceexperienceMin, experienceMax
RecruiterrecruiterName, recruiterPhoto
Run contextmatchedInputs, sourcePage, sourcePosition

🎯 Common use cases

  • Monitor CutShort hiring demand for Python, React, Java, DevOps, data, product, or machine learning roles.
  • Build repeatable CutShort job exports for recruiting research or market mapping.
  • Compare salary ranges, experience bands, remote signals, and required skills across public CutShort listings.
  • Track startup hiring and company tech stacks from a focused CutShort search.
  • Save direct CutShort job pages into a consistent dataset for review or outreach workflows.
  • Feed CutShort job data into spreadsheets, dashboards, CRMs, warehouses, alerts, or API workflows.

🚀 How to run it

  1. Add one or more Skills, such as python, react, or machine learning.
  2. Optionally paste CutShort job or search URLs into CutShort URLs.
  3. Keep the default Job limit, or lower it to 25 for a smaller first run.
  4. Choose Output detail.
  5. Start the Actor and open the dataset.

You do not need CutShort cookies, a CutShort account, or a separate CutShort API key.

⚙️ Input

FieldWhat it does
skillsSkill or role terms to search on CutShort.
startUrlsOptional CutShort job URLs or search URLs.
outputModefull, summary, or urls_only for job identity only.
maxItemsMaximum jobs to save across all skills and URLs.

Example input:

{
"skills": ["python", "java", "devops", "javascript"],
"startUrls": [
{
"url": "https://cutshort.io/jobs/python-jobs"
}
],
"outputMode": "full",
"maxItems": 225
}

🧾 Output example

{
"jobId": "6a2bf99d308c1234359cc547",
"jobSlug": "backend-engineer-python-example-startup",
"title": "Backend Engineer - Python",
"companyName": "Example Startup",
"companyId": "6a2bf0d8b550804212f62c2f",
"companySlug": "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,
"companyTechStack": ["Python", "React.js", "AWS"],
"companySize": "11-50",
"fundingStage": "Seed",
"locations": ["Bengaluru", "Remote"],
"remoteType": "remote",
"salaryMin": 1200000,
"salaryMax": 2500000,
"salaryCurrency": "INR",
"salaryPeriod": "year",
"salaryRawText": "₹12L - ₹25L",
"salaryMinUsdEstimate": 14400,
"salaryMaxUsdEstimate": 30000,
"experienceMin": 2,
"experienceMax": 5,
"skills": ["Python", "Django", "PostgreSQL"],
"jobType": "FULL_TIME",
"descriptionText": "We are looking for a Backend Engineer.",
"descriptionHtml": "<p>We are looking for a Backend Engineer.</p>",
"recruiterName": "Example Recruiter",
"recruiterPhoto": "https://cdn.cutshort.io/public/users/example",
"matchedInputs": ["python"],
"sourcePage": 1,
"sourcePosition": 1
}

💳 Pricing

This Actor uses pay-per-event pricing. You are charged only for public CutShort jobs saved to the dataset. Runs that find no matching jobs do not create saved-job charge events.

Current price:

  • $0.00135 per saved job
  • About $1.35 per 1,000 saved jobs

Use Job limit to control run size and cost. Lower it for a small sample, or keep the default when you want a broader first export.

⚠️ Limits and caveats

  • CutShort may omit fields such as salary, recruiter, company tech stack, 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 row each when the public page still exposes job data.
  • salaryMinUsdEstimate and salaryMaxUsdEstimate are calculated estimates, not values shown by CutShort.
  • Invalid targets and no-result searches are reported in logs, not as placeholder dataset rows.

❓ FAQ

🔐 Do I need a CutShort login?

No. This Actor works with public CutShort job listings and does not ask for CutShort cookies, passwords, or API keys.

🔗 Can I paste a CutShort job URL?

Yes. Add direct CutShort job URLs to CutShort URLs. Each valid direct job URL normally saves one job row.

🧭 Can I scrape all CutShort jobs?

No. Start from skill terms or CutShort URLs. This keeps runs focused and avoids pretending CutShort has one complete all-jobs mode.

📉 Why are some salary fields empty?

Some CutShort listings do not show salary details. When salary text is visible, the Actor saves the raw text and tries to parse numeric minimum and maximum values.

🧩 Why does the dataset not include direct job URLs?

The dataset keeps source-native job IDs and slugs, so URLs can be rebuilt downstream without storing duplicate derived fields in every row.

📝 Changelog

  • 1.0: Updated the public dataset to a cleaner job contract, added richer company and recruiter fields, tuned the default job export, kept lightweight output modes, and lowered saved-job pricing.
  • 0.1: Added output detail modes, richer company and recruiter fields, USD salary estimates, and lower per-job pricing.
  • 0.0: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré