CutShort Scraper avatar

CutShort Scraper

Pricing

$1.60 / 1,000 job listings

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.60 / 1,000 job listings

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days 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 items. Search by skill terms such as python, react, or devops, paste CutShort job/search URLs, or use both in one run.

Use it when you need a focused CutShort scraper for hiring research, job-market monitoring, salary checks, startup job discovery, lead lists, or repeat exports. Each saved job can include the title, company, location, remote signal, salary range, USD salary estimates, experience range, skills, recruiter, company enrichment, job description, apply URL, source URL, and scrape metadata.

For a quick first run, keep one skill term and set Job limit to 25. Open the dataset, check the returned jobs, then add more skills or CutShort URLs when the output matches your workflow.

✅ What this Actor does

  • Searches public CutShort jobs by skill or role terms.
  • Accepts CutShort job URLs and search URLs.
  • Saves one dataset item per unique job listing.
  • Extracts job title, company, company page, company logo, website, LinkedIn, founded year, tech stack, recruiter details, location, remote information, salary, USD salary estimates, experience, skills, job type, descriptions, apply URL, and source context when CutShort exposes them.
  • De-duplicates matching jobs across all skills and URLs in the same run.
  • Caps saved jobs with Job limit so you can test small and scale later.
  • 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.

📦 Data you can extract

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

  • jobId, jobSlug, url, and applyUrl
  • title, jobType, descriptionText, and descriptionHtml
  • companyName, companyId, companySlug, companyUrl, companyLogo, companyWebsite, companyLinkedin, companyFounded, companyTechStack, companySize, and fundingStage
  • location, locations, remote, and remoteType
  • salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryRawText, salaryMinUsdEstimate, and salaryMaxUsdEstimate
  • experienceRange, experienceMin, and experienceMax
  • skills, matchedSkill, and matchedInputs
  • recruiterName and recruiterPhoto
  • sourceUrl, sourcePage, sourcePosition, dedupeKey, and scrapedAt

🎯 Common use cases

  • Monitor CutShort hiring demand for skills such as Python, React, Java, DevOps, data, product, or machine learning.
  • Build repeatable exports of startup and tech jobs for recruiting research.
  • Compare salary ranges, experience bands, remote signals, and required skills across CutShort listings.
  • 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 Job limit small for your first run.
  4. 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.
maxItemsMaximum jobs to save across all skills and URLs.
outputModefull, summary, or urls_only.

Example input:

{
"skills": ["python", "react"],
"startUrls": [
{
"url": "https://cutshort.io/jobs/python-jobs"
}
],
"maxItems": 25,
"outputMode": "full"
}

🧾 Output example

{
"jobId": "example-job-id",
"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",
"companyName": "Example Startup",
"companyUrl": "https://cutshort.io/company/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",
"location": "Bengaluru",
"locations": ["Bengaluru", "Remote"],
"remote": true,
"remoteType": "remote",
"salaryMin": 1200000,
"salaryMax": 2500000,
"salaryCurrency": "INR",
"salaryPeriod": "year",
"salaryRawText": "₹12L - ₹25L",
"salaryMinUsdEstimate": 14400,
"salaryMaxUsdEstimate": 30000,
"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": "example-job-id",
"scrapedAt": "2026-06-09T00:00:00.000Z"
}

💳 Pricing

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

Current pay-per-saved-job pricing:

  • $0.0016 per saved job listing

Use Job limit to keep the first run small, then raise it when the dataset fields match your workflow.

⚠️ 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 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.

❓ 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 item.

🧭 Can I scrape all CutShort jobs?

No. Start from skill terms or CutShort URLs. This keeps runs focused and avoids pretending the source 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 min and max values.

📝 Changelog

  • 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é