Cutshort Jobs Scraper - India Tech Jobs, Salary & Companies
Pricing
from $0.69 / 1,000 jobs
Cutshort Jobs Scraper - India Tech Jobs, Salary & Companies
Collect Cutshort jobs by skill, role or city, or export the whole board of 44,000+ listings. Salary ranges, experience, skills, full descriptions, recruiter details and company profiles included. Set your own result limit. Optional employer emails and change tracking.
Pricing
from $0.69 / 1,000 jobs
Rating
0.0
(0)
Developer
ClearPath
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
From Clearpath, creators of Indeed Jobs, LinkedIn Jobs and Google Jobs.
Get jobs from across Cutshort
- Search skills, roles and cities. Collect engineering, product, design, marketing and other roles. Use the filters you need, or leave them empty to collect across the board.
- Go beyond 1,000 jobs. Maximum jobs is optional. Remove the sample limit to collect the whole board or every available match for your search. A whole-board export returned more than 44,000 jobs.
- Keep salary and company details. Salary ranges, years of experience, skills, full descriptions, recruiter details and company profiles, where published. Job details and company profiles are included in the job charge.
The cards show examples from a previous whole-board export. Job counts and availability change over time.
Try 20 jobs from across the board
Leave skills, roles, cities and Cutshort pages empty, then use this small sample:
{"maxResults": 20,"includeJobDetails": true,"includeCompanyProfile": true}
Open the actor input and paste the example in JSON mode. maxResults limits this trial to 20 jobs. Remove it for a whole-board collection, or add searchTerms and locations to narrow your search. Optional employer email discovery is charged per job where an email is found; it is off in this example. Job and run charges apply at the current rates.
| Clearpath Job Scrapers |
|
You are here Pay & ratings Company profiles Many boards Career sites Startup equity Remote jobs |
What data can you extract from Cutshort?
Every row is one live job on Cutshort, the Indian tech job board, with a link to the job on Cutshort. A value the job or company does not state comes back as null or an empty list, never guessed. Every code comes with its readable label next to it.
- The job: title, Cutshort job link and apply link, job ID and short code, the full description as HTML and as plain text with line breaks, the posting date, the date the employer last confirmed they are hiring, the date the posting is valid until, and whether it is still open.
- Pay: lowest and highest salary per year as the job shows it, in the job's own currency (rupees on almost every job, US dollars or euros on 17 of the 4,538 Python jobs), the same range in rupees for comparing jobs, the salary line as Cutshort shows it (
₹11L - ₹15L / yr), the employer's internal budget range (in the job's currency and in rupees), whether the job shows pay per month or per year, and flags for salaries shown as a maximum only or hidden by the employer. Monthly pay such as stipends is converted to a yearly figure. 4,537 of the 4,538 Python jobs carried a salary range. - Experience: minimum and maximum years as numbers, matching the line as shown (
5 - 10 years), plus the employer's internal range, which differs on about one job in 30. - Skills and category: the skills the job asks for with Cutshort's skill codes, the skills and search terms that matched your search, Cutshort's category and role tags with readable names (
Data science & analytics,Backend developer), and related Cutshort categories. - Where and how: places, the postal code and country of the main location where given, the locality of the job where the employer names one, the work arrangement (Remote only, Remote friendly or In office), the job type (Full time, Internship, Temporary full time, Freelance) and standard employment types.
- Who posted it: the recruiter's name, photo, headline and ID. For jobs a recruitment agency posts for a client, the agency's name, ID, logo and page, and the client company and its description where the agency names them (29% of Python jobs were agency posts).
- The company: name, Cutshort page, logo and cover image, type (Product, Services, or Products & Services), size band (and the older size number where the company has one), stage and funding with their codes, founding year, followers on Cutshort, website and domain, LinkedIn and other links, tech stack with its codes, the description, and where the company lists them, photos, a video, questions and answers, featured team members with their title and LinkedIn, and products.
- Company profile (on by default): jobs the company has open on Cutshort, tech team size, the typical salary of a developer with 3 years of experience, planned developer hiring, industries, where the company hires (remote, tier 1 or tier 2 cities) with codes, the hiring team with names and headlines, and the similar companies Cutshort suggests, each with its type, stage, size, founding year, website, open jobs, description and cover image.
- Reposts: a duplicate group ID, the group size and a canonical flag for the same role posted more than once. About one Python job in ten belongs to such a group (490 of 4,538); keep
isCanonical: truerows to drop the reposts. - Employer emails (off by default): the best contact email from the company's own website, its kind (careers, general or personal), domain and the page it was found on, every company-domain email found, and a lookup status.
- Monitoring (off by default):
NEW,UPDATED,UNCHANGED,REOPENEDorCLOSEDsince the last run, the changed field names, first seen, last seen and closed dates. - Context: the Cutshort pages the job was found on, a stable key for joining runs, a content fingerprint that changes when the job is edited, when Cutshort last updated the job, and when this run collected it.
A real row from the "python" search, with job details and company profiles on:
{"jobId": "6ab22a15b2a99f741b0afe28","dedupeKey": "cutshort:job:6ab22a15b2a99f741b0afe28","jobSlug": "Data-Engineer-OIP-Insurtech-atJbb4Dt","shortId": "atJbb4Dt","url": "https://cutshort.io/job/Data-Engineer-OIP-Insurtech-atJbb4Dt","applyUrl": "https://cutshort.io/profile/view/j/6ab22a15b2a99f741b0afe28","applyType": "internal","directApply": true,"title": "Data Engineer","descriptionHtml": "<p>We are looking for a <strong>dynamic Data Engineer</strong> to join our team of technology enthusiasts. You will leverage data to drive strategic decision-making and pioneering solutions, working with complex datasets, collaborating closely with stakeholders, and transforming data into actionable insights to drive innovation.</p><p><br /></p><p><strong>Qualifications and Skills:</strong></p><ul><li>Minimum 5<strong> years of experience</strong> as a Data Engineer</li><li>Hands-on experience with <strong>Azure cloud-based data solutions</strong></li><li>Expertise in <strong>database design and management</strong>, including SQL databases such as SQL Server</li><li>Proficient in <strong>ETL (Extract, Transform, Load)</strong> design for data integration and processing</li><li>Strong knowledge of <strong>data modeling principles and techniques</strong></li><li>Ability to analyze and translate data into actionable insights, reports, and visualizations</li><li>Proficiency in <strong>Power BI</strong> for reporting and data visualization</li></ul><p><strong>Desirable Skills:</strong></p><ul><li>Experience with <strong>Power BI Report Builder / Reporting Services</strong></li><li>Knowledge of <strong>statistical analysis or Data Science</strong></li><li><strong>Experience within the UK Insurance industry is a plus</strong></li><li><strong>Python or R</strong> coding skills</li></ul><p><br /></p><p><strong>Responsibilities:</strong></p><ul><li>Implement <strong>efficient data exchange</strong> between internal and external systems to increase efficiency and reduce re-keying and translation errors</li><li>Support the Broking business by developing <strong>high-quality information resources</strong>, ensuring data availability and accessibility for decision-making</li><li>Engineer data inputs and outputs from core applications and semi-structured remote service data through <strong>data syncs between data lake, ODS (SQL database), and leveraging Fabric and ADF</strong></li><li>Perform <strong>data engineering tasks</strong> including ingestion, cleansing, and collation from a wide range of internal and external sources</li><li>Implement different methods of <strong>streaming data</strong> and create reconciliations for datasets</li><li>Build <strong>analytical models</strong> to support reporting and analytics</li><li>Collaborate with an <strong>agile delivery team</strong> to work on the backlog of specified work</li></ul>","descriptionText": "We are looking for a dynamic Data Engineer to join our team of technology enthusiasts. You will leverage data to drive strategic decision-making and pioneering solutions, working with complex datasets, collaborating closely with stakeholders, and transforming data into actionable insights to drive innovation.\n\nQualifications and Skills:\n\n- Minimum 5 years of experience as a Data Engineer\n- Hands-on experience with Azure cloud-based data solutions\n- Expertise in database design and management, including SQL databases such as SQL Server\n- Proficient in ETL (Extract, Transform, Load) design for data integration and processing\n- Strong knowledge of data modeling principles and techniques\n- Ability to analyze and translate data into actionable insights, reports, and visualizations\n- Proficiency in Power BI for reporting and data visualization\n\nDesirable Skills:\n\n- Experience with Power BI Report Builder / Reporting Services\n- Knowledge of statistical analysis or Data Science\n- Experience within the UK Insurance industry is a plus\n- Python or R coding skills\n\nResponsibilities:\n\n- Implement efficient data exchange between internal and external systems to increase efficiency and reduce re-keying and translation errors\n- Support the Broking business by developing high-quality information resources, ensuring data availability and accessibility for decision-making\n- Engineer data inputs and outputs from core applications and semi-structured remote service data through data syncs between data lake, ODS (SQL database), and leveraging Fabric and ADF\n- Perform data engineering tasks including ingestion, cleansing, and collation from a wide range of internal and external sources\n- Implement different methods of streaming data and create reconciliations for datasets\n- Build analytical models to support reporting and analytics\n- Collaborate with an agile delivery team to work on the backlog of specified work","skills": ["Windows Azure","ETL","PowerBI","Python"],"skillIds": ["00486","00158","00658","00360"],"matchedSkills": ["Python"],"matchedSearchTerms": ["python"],"category": "data-science-analytics","categoryLabel": "Data science & analytics","tags": ["others-data-science-analytics"],"tagLabels": ["Data analyst"],"locations": ["Remote only"],"locationsText": "Remote only","postalCode": null,"jobLocality": null,"countryCode": null,"remote": true,"remoteType": "remote_only","remoteTypeLabel": "Remote only","workplaceType": "remote","roleTypes": ["full_time"],"roleTypeLabels": ["Full time"],"employmentTypes": ["FULL_TIME"],"isInternship": false,"hiringForClient": false,"staffingAgencyName": null,"staffingAgencyId": null,"staffingAgencyProfileUrl": null,"clientCompanyId": null,"clientCompanyName": null,"clientDescription": null,"staffingAgencyLogo": null,"salaryMin": 1100000,"salaryMax": 1500000,"salaryInternalMin": 550000,"salaryInternalMax": 1500000,"salaryInternalMinInr": 550000,"salaryInternalMaxInr": 1500000,"salaryMinInr": 1100000,"salaryMaxInr": 1500000,"salaryCurrency": "INR","salaryPeriod": "year","salaryShownPer": "year","salaryText": "₹11L - ₹15L / yr","salaryHidden": false,"salaryShowsMaxOnly": false,"experienceMin": 5,"experienceMax": 10,"experienceInternalMin": 5,"experienceInternalMax": 10,"experienceText": "5 - 10 years","experienceShowsMinOnly": false,"postedAt": "2026-10-14T13:52:21.354Z","hiringIntentShownAt": "2026-10-23T13:54:14.400Z","validThrough": "2027-01-21T15:21:40.418Z","isActive": true,"reviewStatus": "reviewed","companyName": "OIP Insurtech","companyId": "67436036ca70b40028b623f1","companyAlias": "oip-robotics-39-hXDrTBre","companyProfileUrl": "https://cutshort.io/company/oip-robotics-39-hXDrTBre","companyLogo": "https://cdnv2.cutshort.io/company-static/67436036ca70b40028b623f1/user_uploaded_data/logos/Untitled_design_OKNTaAcY.png","companyCoverImage": "https://cdnv2.cutshort.io/company-static/67436036ca70b40028b623f1/user_uploaded_data/cover_pictures/16.webp","companyType": "Products & Services","companyTypeCode": "3","companySize": "1000-5000","companySizeCode": "service_4","companySizeLegacy": null,"companyStage": "Profitable","companyStageCode": "3","companyFunding": "Profitable","companyFundingCode": "3","companyFounded": 2012,"companyFollowersCount": 4756,"companyWebsite": "https://oipinsurtech.com","companyDomain": "oipinsurtech.com","companyLinkedin": "https://linkedin.com/company/oip-insurtech","companyLinks": {"website": "https://oipinsurtech.com","youtube": "https://youtube.com/@outsourceinsuranceprofessi1690","instagram": "https://instagram.com/oipinsurtech","team": "https://oipinsurtech.com/insurtech","about": "https://oipinsurtech.com/about-us","linkedin": "https://linkedin.com/company/oip-insurtech","blog": "https://oipinsurtech.com/blog"},"companyTechStack": ["Python","Microsoft Windows Azure","pandas","NumPy","TensorFlow","Data Science","Machine Learning (ML)","Artificial Intelligence (AI)","Insurance"],"companyTechStackCodes": ["00360","03795","00670","00641","00544","00121","00268","00652","03057"],"companyDescription": "OIP Insurtech streamlines insurance operations and optimizes workflows by combining deep industry knowledge with advanced technology. Established in 2012, OIP InsurTech partners with carriers, MGAs, program managers, and TPAs in the US, Canada, and Europe, especially the UK.\n\nWith 1,200 professionals serving over 100 clients, we deliver insurance process automation, custom software development, high-quality underwriting services, and skilled tech staff to augment our clients.\n\nWhile saving time and money is the immediate win, the real game-changer is giving our clients the freedom to grow their books, run their businesses, and focus on what they love. We’re proud to support them on this journey and make a positive impact on the industry!","companyDescriptionHtml": "<p><strong><em>OIP Insurtech</em></strong> streamlines insurance operations and optimizes workflows by combining deep industry knowledge with advanced technology. Established in <strong>2012</strong>, OIP InsurTech partners with carriers, MGAs, program managers, and TPAs in the US, Canada, and Europe, especially the UK.</p><p><br /></p><p>With <strong>1,200</strong> professionals serving over <strong>100</strong> clients, we deliver insurance process automation, custom software development, high-quality underwriting services, and skilled tech staff to augment our clients.</p><p><br /></p><p>While saving time and money is the immediate win, the real game-changer is giving our clients the freedom to grow their books, run their businesses, and focus on what they love. We’re proud to support them on this journey and make a positive impact on the industry!</p>","companyIsRecruitmentAgency": null,"companyTotalJobs": 5,"companyTechTeamSize": "101-200","companyTypicalDeveloperSalary": {"currency": "INR","min": 2500000,"max": 3500000},"companyExpectedDeveloperHires": "26-50","companyIndustryCodes": ["artificialintelligence"],"companyIndustries": ["Artificial Intelligence & Machine Learning"],"companyLocationPreferences": ["Tier 1 cities"],"companyLocationPreferenceCodes": ["tier_1"],"companyPhotos": ["https://cdnv2.cutshort.io/company-static/67436036ca70b40028b623f1/user_uploaded_data/company_photos/Home_page_OIP_image_middle_section_j38flQo7.webp","https://cdnv2.cutshort.io/company-static/67436036ca70b40028b623f1/user_uploaded_data/company_photos/7.webp","https://cdnv2.cutshort.io/company-static/67436036ca70b40028b623f1/user_uploaded_data/company_photos/13.webp","https://cdnv2.cutshort.io/company-static/67436036ca70b40028b623f1/user_uploaded_data/company_photos/Linkedin_cover_personal_profiles_zrnGjQoh.png"],"companyVideoUrl": null,"companyFaqs": [{"id": "6758015b08e45c00272cf85f","type": "text","question": "What does the company do?","answer": "Our robotics team has all graduated from our insurance boot camp. They code insurance for a living and bring with them best practices from more than 80 different systems across the insurance ecosystem.\n\nThey’ve seen what works for E&S businesses – they’ve built them. And they know what it takes to help your team deliver the better result.","answerHtml": "<p>Our robotics team has all graduated from our insurance boot camp. They code insurance for a living and bring with them best practices from more than <strong>80</strong> different systems across the insurance ecosystem.</p><p><br></p><p>They’ve seen what works for E&S businesses – they’ve built them. And they know what it takes to help your team deliver the better result.</p>","isMandatory": true},{"id": "6758015b08e45c00272cf85e","type": "text","question": "What is the location preference of jobs?","answer": "Hyderabad, both on-site and remote. We do not offer a relocation package.","answerHtml": "<p><strong>Hyderabad, both on-site and remote. We do not offer a relocation package.</strong></p>","isMandatory": true}],"companyTeamHighlights": [],"companyProductShowcase": [],"companyHiringTeam": [{"id": "67435e0a43a0b90028e08151","userId": null,"name": "Katarina Vasic","headline": "Cutshort user","linkedin": null,"photo": "https://cdn.cutshort.io/public/material-letter-icons/K.png"},{"id": "68e39ee56789ccfcd1a38fb2","userId": null,"name": "Kristina Milic","headline": "Cutshort user","linkedin": null,"photo": "https://lh3.googleusercontent.com/a/ACg8ocJqr4hsehC83BxcqDo8DpvFwyz5Kew3wn9KZGYSTk44eq_u-B4=s96-c"}],"companySimilarCompanies": [{"id": "67e2c26637c46f0026358972","name": "OMP India","alias": "omp-india-34-fJJQMPFl","profileUrl": "https://cutshort.io/company/omp-india-34-fJJQMPFl","website": "https://omp.com","founded": 1985,"type": "Product","stage": "Profitable","size": "1000-5000","jobCount": 2,"description": null,"descriptionHtml": null,"logo": "https://cdnv2.cutshort.io/company-static/67e2c26637c46f0026358972/user_uploaded_data/logos/company_logo.png","coverImage": "https://cdn.cutshort.io/public/images/unauth_bgs/startups.jpg"},{"id": "68b97571e467e09215d120e0","name": "Insurity Solutions India Private Limited","alias": "jobs-at-insurity-solutions-india-private-limited-43-nf0L2cxm","profileUrl": "https://cutshort.io/company/jobs-at-insurity-solutions-india-private-limited-43-nf0L2cxm","website": "https://insurity.com","founded": 1985,"type": "Product","stage": "Profitable","size": "1000-5000","jobCount": 1,"description": "Insurity is a leading provider of cloud-based software for insurance carriers, brokers, and MGAs. Insurity is trusted by 22 of the top 25 P&C carriers and 7 of the top 10 MGAs in the US and has over 400 cloud-based deployments. Through its best-in-class digital platform and with unrivaled industry experience and the industry’s most robust analytics offerings, Insurity is uniquely positioned to deliver exceptional value, empowering customers to focus on their core businesses, optimize their operations, and provide superior policyholder experiences. Insurity is a portfolio company of GI Partners and TA Associates.","descriptionHtml": "<p>Insurity is a leading provider of cloud-based software for insurance carriers, brokers, and MGAs. Insurity is trusted by 22 of the top 25 P&C carriers and 7 of the top 10 MGAs in the US and has over 400 cloud-based deployments. Through its best-in-class digital platform and with unrivaled industry experience and the industry’s most robust analytics offerings, Insurity is uniquely positioned to deliver exceptional value, empowering customers to focus on their core businesses, optimize their operations, and provide superior policyholder experiences. Insurity is a portfolio company of GI Partners and TA Associates.</p>","logo": "https://cdnv2.cutshort.io/company-static/68b97571e467e09215d120e0/user_uploaded_data/logos/company_logo.png","coverImage": "https://cdnv2.cutshort.io/company-static/68b97571e467e09215d120e0/user_uploaded_data/cover_pictures/Screenshot_2025_09_04_170505_HLybg36S.png"}],"recruiterId": "67435e0a43a0b90028e08151","recruiterName": "Katarina Vasic","recruiterPhoto": "https://cdn.cutshort.io/public/material-letter-icons/K.png","recruiterHeadline": "Cutshort user","relatedCategories": [{"label": "Windows Azure Jobs in India","url": "https://cutshort.io/jobs/windows-azure-jobs"},{"label": "Remote Windows Azure Jobs in India","url": "https://cutshort.io/jobs/remote-windows-azure-jobs"}],"duplicateGroupId": "93b77bbcc7baf8b3","duplicateGroupSize": 1,"isCanonical": true,"source": "cutshort.io","sourceUrl": "https://cutshort.io/jobs/remote-python-jobs","sourceUrls": ["https://cutshort.io/jobs/remote-python-jobs"],"sourceCount": 1,"deduplicatedFromCount": 0,"cutshortUpdatedAt": "2026-10-22T16:16:33.319Z","detailsIncluded": true,"scrapedAt": "2026-10-23T16:42:04Z","employerEmail": null,"employerEmailKind": null,"employerEmailDomain": null,"employerEmailSourceUrl": null,"employerEmails": null,"emailEnrichmentStatus": null,"contentHash": "f2cccca7840b212660048f902edea492e69c0dd3c4e3c6ec487915462be91905","changeType": null,"changedFields": null,"firstSeenAt": null,"lastSeenAt": null,"closedAt": null,"monitoringStateKey": null}
To keep this example short, companyHiringTeam shows 2 of its 7 people and companySimilarCompanies 2 of its 10 companies. This job shows its salary in rupees, so salaryMin and salaryMinInr match; salaryInternalMin is the employer's internal budget, lower than the range the job shows. Every key in the row is present. The employer email and monitoring fields are null because those options were off in this run. The same job collected with findEmployerEmails on (an excerpt of the email fields only):
{"jobId": "6ab22a15b2a99f741b0afe28","companyName": "OIP Insurtech","companyWebsite": "https://oipinsurtech.com","employerEmail": "recruitment@oipinsurtech.com","employerEmailKind": "careers","employerEmailDomain": "oipinsurtech.com","employerEmailSourceUrl": "https://oipinsurtech.com/careers","employerEmails": [{"email": "office@oipinsurtech.com","kind": "general","sourceUrl": "https://oipinsurtech.com/contact"},{"email": "recruitment@oipinsurtech.com","kind": "careers","sourceUrl": "https://oipinsurtech.com/careers"}],"emailEnrichmentStatus": "found"}
How often the main fields were filled across the 4,538 Python jobs: salary range 4,537, experience 4,538, category 4,528, recruiter name 4,538, company website 3,360, company size 3,267, company stage 3,249, company LinkedIn 2,684, tech team size and typical developer salary 1,387 each. Company-stated values such as the tech stack are filled only when the company lists them.
How to scrape Cutshort jobs
Type one or more skills or roles, add Cutshort pages, or leave both empty for the whole board. Every other option is optional.
| Parameter | Type | Default | Meaning |
|---|---|---|---|
searchTerms | list | none | Skills, technologies or roles, such as python, react, devops, data science or product manager, up to 100. Each term is matched to Cutshort's own job category of that name, and every job in it is collected across all cities and remote. A term with no matching category is named in the run log. |
locations | list | every place | Only jobs in these places, such as Bangalore, Mumbai, Pune, Delhi NCR, Hyderabad or Chennai. Add Remote for remote and remote-friendly jobs. Common spellings work (Bengaluru, Gurgaon, Noida), and so do towns without their own Cutshort page, such as Lucknow. |
startUrls | list | none | Cutshort category pages (cutshort.io/jobs/...), company pages (cutshort.io/company/...) or single jobs (cutshort.io/job/...), up to 1,000. A category page collects every job of that category and city; a company page every job of that company. |
maxResults | number | every match | The most jobs to save in this run, across all terms and pages. Leave it empty to save every matching job. The input form suggests 100 for a first run. |
workplaceTypes | list | all | remote_only, remote_okay (remote friendly), remote_not_okay (in office). |
roleTypes | list | all | full_time, internship, temporary_full_time, freelance. |
minExperienceYears | number | none | Only jobs open to people with at least this many years: the job's upper experience bound is at least this. |
maxExperienceYears | number | none | Only jobs open to people with at most this many years: the job's lower experience bound is at most this. Use 0 or 1 for fresher jobs. |
minSalary | number | none | Only jobs whose top salary is at least this many rupees a year, such as 2000000 for 20 lakh. Jobs paid in another currency are compared by their rupee value; jobs without a salary are left out. |
postedWithinDays | number | any date | Only jobs posted in the last this many days. |
excludeStaffingAgencies | on/off | off | Leave out jobs a recruitment agency posted for a client company. |
includeJobDetails | on/off | on | Category and role tags, validity date, postal code, recruiter ID and review status. Off gives a faster run. |
includeCompanyProfile | on/off | on | The company's open jobs, tech team size, typical developer salary, planned hiring, industries, office preferences and hiring team. Off gives a faster run. |
findEmployerEmails | on/off | off | A contact email from each company's own website, hiring addresses first. Charged per job that gets an email. |
monitorMode | on/off | off | Save only new, changed, reopened and closed jobs compared with earlier runs of the same search. |
monitorName | text | default | Keeps separate monitors apart. Use a different name for each independent feed. |
includeUnchanged | on/off | off | With monitoring on, also save jobs that have not changed, marked UNCHANGED. |
Job details and company profiles do not change the price per job. All options are also explained on the actor's Input tab.
How the filters combine
Terms and Cutshort pages add up: every job found by any of them is saved once, with matchedSearchTerms and sourceUrls telling you which found it. Every filter then narrows all of them together, and the filters also work on the whole board. A term with no matching Cutshort category, or a Cutshort address that does not exist, is named in the run log while the rest of the run continues.
Remote Python jobs paying 20 lakh or more
{"searchTerms": ["python"],"locations": ["Remote"],"minSalary": 2000000}
Remote keeps remote and remote-friendly jobs. For fully remote jobs only, use "workplaceTypes": ["remote_only"] instead.
Every job in Bangalore and Pune
{"locations": ["Bangalore","Pune"]}
With no search term, the location filter applies to the whole board, so you get every live Cutshort job in those cities. The actor reads the whole board to find them, so this takes longer than a skill search; you pay only for the jobs saved.
Several skills at once
{"searchTerms": ["react","data science","devops","product manager"],"maxResults": 2000}
Each term is matched to its Cutshort category, and the run log names the category it used. A job found by several terms is saved once, and matchedSearchTerms lists every term that found it. For a fixed number of jobs per skill, run each term separately with its own maxResults.
Fresher jobs and internships
{"searchTerms": ["software development"],"maxExperienceYears": 1,"roleTypes": ["internship","full_time"]}
Direct employers only, posted in the last 7 days
{"searchTerms": ["data engineer"],"postedWithinDays": 7,"excludeStaffingAgencies": true}
Every job at a company, a category page or a single job
{"startUrls": [{"url": "https://cutshort.io/company/wissen-technology-79-09J2iH1M"},{"url": "https://cutshort.io/jobs/golang-jobs"},{"url": "https://cutshort.io/job/Data-Engineer-OIP-Insurtech-atJbb4Dt"}]}
In our tests the company page returned 599 jobs and the Golang category page 680. A category page is collected the same way as a skill search, and a city page such as python-jobs-in-pune keeps to that city.
Jobs with employer contact emails
{"searchTerms": ["python"],"maxResults": 50,"findEmployerEmails": true}
The whole Cutshort board
{}
No term, no page and no filter returns every live Cutshort job: 44,611 of the 44,626 jobs Cutshort listed at the start of our test run, in about 23 minutes with 2 GB of memory. At the Free-plan price that is about $44.63 with job details and company profiles included, so check the maximum cost per run in the run options first: the run stops at that limit, keeps every job it saved and says so in the log.
Daily feed of new and changed jobs
{"searchTerms": ["python"],"locations": ["Bangalore"],"monitorMode": true,"monitorName": "python-bangalore"}
Run it once to record the current jobs (every job comes back as NEW), then schedule it daily in Apify. Each later run saves only the jobs that are new, changed, reopened or closed since the run before.
Every matching job, each one once
In our test, "python" returned 4,538 jobs while Cutshort's own Python page counted 4,269. 4,537 of them list Python as a skill (the other one sits in Cutshort's Python category), and none appears twice. On the same search other Cutshort actors we tested returned 50, 50 and 437 jobs.
The same holds for the board as a whole: a run with an empty input saved 44,611 of the 44,626 jobs Cutshort listed when it started; the other 15 had closed by the time the run reached them. A job Cutshort shows as closed when the actor reaches it is not saved and not charged.
The run's OUTPUT record shows what was collected: jobs saved, jobs live on Cutshort, whether the search was read completely, whether maxResults or a cost limit stopped it, and for every term or page the Cutshort category it matched, the jobs Cutshort lists, the jobs found, the jobs saved and a status (ok, partial when some results could not be read and a second run will collect them, incomplete when Cutshort's pages reached clearly fewer jobs than Cutshort counts for the category, not found, no matching category or unavailable). A job whose own page or company page could not be read is still saved with what its listing shows, and the run is then not marked complete.
Track new, changed and closed jobs
With monitorMode on, each run is compared with the earlier runs of the same input under the same monitorName:
NEW: a job this monitor has not seen before. The first run marks every jobNEW.UPDATED: the title, description, skills, places, work arrangement, job type, salary, experience, company, agency status or open status changed.changedFieldsnames what changed. A job saved without its own page (when that page could not be read, or withincludeJobDetailsoff) is never markedUPDATEDagainst a full earlier read; it is compared again at the next full read.REOPENED: a job that was closed and is open again.CLOSED: a job the monitor saw before that Cutshort no longer shows as open, saved once withclosedAt. Jobs are marked closed only on runs that read the whole search, so a run stopped early bymaxResults, a cost limit or the time limit never marks jobs closed by mistake.UNCHANGED: saved only withincludeUnchangedon.
Every row also carries firstSeenAt and lastSeenAt, and the OUTPUT record counts each change type. A different input under the same name is tracked separately, so two feeds never mark each other's jobs as closed. Use a daily schedule for job alerts and hiring signals; weekly is enough for market reports. Connect the run to Slack, email, Google Sheets, n8n, Make or Zapier through Apify's integrations to receive each day's changes.
Employer contact emails
With findEmployerEmails on, the actor reads the hiring company's own website (home, contact, about and careers pages) and returns the emails on the company's own domain, hiring addresses such as careers@ or hr@ first. In our test on 50 Python jobs, 35 had a company website and 25 of those got an email (71%). Each company website is read once per run, however many of its jobs you collect.
You pay only for jobs that get an email. A lookup that finds nothing, a company without a website and a website that cannot be reached are free, and emailEnrichmentStatus tells you which case applied (found, not_found, no_website, website_unreachable).
employerEmailKind tells you what kind of address it is: careers for hiring addresses, general for addresses such as info@, and personal for an address that looks like one person's.
Pricing
You pay per job saved to your dataset, plus a small start fee per run. Job details and company profiles cost nothing extra.
| Event | When charged | Free plan | Bronze | Silver | Gold and above |
|---|---|---|---|---|---|
| Job | each job saved | $0.99 per 1,000 | $0.89 | $0.79 | $0.69 |
| Employer email | each job that gets an email, only with findEmployerEmails on | $2.99 per 1,000 | $2.79 | $2.49 | $2.09 |
| Actor start | once per run, per GB of memory (1 GB by default) | $0.0099 | $0.0099 | $0.0099 | $0.0099 |
Apify also charges its own result fee of $0.01 per 1,000 rows in the dataset.
Example costs on the Free plan:
- 1,000 Python jobs: $0.99 for jobs, $0.01 for rows and $0.0099 to start, about $1.01.
- Every "python" job (4,538): about $4.55.
- 50 Python jobs with employer emails, 25 of which get one: about $0.13.
- The whole board (44,611 jobs): about $44.63, or about $31.25 on Gold.
With monitoring on, you pay only for the new, changed, reopened and closed jobs a run saves, plus the start fee. A run that saves no jobs has no job charges.
FAQ
Is Cutshort real or fake? Are these real jobs? The actor returns the live jobs Cutshort lists, each with its Cutshort link, posting date, the date the employer last confirmed they are hiring, Cutshort's review state, the recruiter's name and the company's profile. Agency posts are flagged with hiringForClient. Check a job's link before you apply.
How many jobs does Cutshort have, and can I get all of them? At the time of our test Cutshort listed 44,626 live jobs, and an empty-input run saved 44,611 of them. A skill search returns the jobs of that skill across Cutshort, often more than the count on Cutshort's own category page.
Can I get jobs for one city, or remote jobs only? Yes. Use locations with city names such as Bangalore, Pune or Delhi NCR, and Remote for remote and remote-friendly jobs. Towns without their own Cutshort page work too: "python" in Lucknow returned all 6 such jobs. workplaceTypes narrows by work arrangement.
Does it include salaries and experience requirements? Yes, as numbers and as shown on the job. Salary comes per year in the currency the job shows, rupees on almost every job, with a rupee value on every job for comparing. minSalary filters by the top of the range in rupees.
Can I get the hiring company's details and a contact email? Company size, stage, funding, website and LinkedIn come on every job where Cutshort has them, and the company profile adds tech team size, typical developer salary, planned hiring and the hiring team. Turn on findEmployerEmails for a contact email from the company's own website.
Can I get only new jobs every day? Yes. Turn on monitorMode with a monitorName and schedule the run daily. Each run saves the new, changed, reopened and closed jobs since the last one.
How much does it cost per 1,000 jobs? $0.99 on the Free plan and down to $0.69 on Gold and above, plus a $0.0099 start fee per run and Apify's $0.01 per 1,000 rows. Job details and company profiles are included; employer emails are $2.99 per 1,000 jobs that get one. See Pricing above.
Can I find startup jobs? Yes. Every job carries the company's stage and funding (Bootstrapped, Raised funding or Profitable), size band and founding year where Cutshort has them, so you can sort or filter the dataset by them. The input itself has no stage filter.
Why do I get more jobs than Cutshort's page count? The count on a Cutshort category page is Cutshort's own figure for that category. The actor returns the live jobs across Cutshort that ask for the skill, so the total can be higher. Each job is saved once, and matchedSkills shows which of its skills matched.
Why do some jobs look like duplicates? Some employers post the same role more than once. Each posting is a separate Cutshort job, so you get each of them, with duplicateGroupId, duplicateGroupSize and isCanonical to keep one per role.
How do I leave out recruitment agencies? Turn on excludeStaffingAgencies. Agency jobs otherwise carry the agency's name and, where the agency names it, the client company.
Do I need a Cutshort account, login or cookies? No.
Can it apply to jobs or message recruiters? No. It collects job listings only.
How current is the data? Every run reads Cutshort when it runs, and each search's newest jobs as Cutshort shows them at that moment. A job's details can trail an edit the employer made in the last few days; in our check, 600 of 600 jobs matched Cutshort's current page. Nothing is kept between runs, except the records a monitor keeps to compare runs.
Can I export to CSV, Excel or Google Sheets? Yes. Export the dataset as JSON, CSV, Excel or XML from the run, or connect Google Sheets through Apify's integrations. The dataset also has ready views for salaries, companies, recruiters and contacts, categories and skills, and changes. JSON keeps nested values such as the hiring team intact; CSV and Excel flatten them into columns.
Can I use it from n8n, Make, Zapier or Python? Yes, through Apify's integrations for those tools, or Apify's Python and JavaScript clients from your own code.
How should I use the data? You are responsible for how you use it. Rows can name people, such as recruiters and the hiring team, and an employer email can be a person's own address. Handle them under the privacy and anti-spam rules that apply to you.
Which other job sites do you cover? See the full Clearpath job directory below for Indeed, LinkedIn, Google Jobs, Glassdoor, Wellfound and more.
More Clearpath job scrapers
Global job search: Indeed · LinkedIn · Google Jobs · Workday.
Startups, remote and India: Wellfound · Himalayas · Cutshort.
More job and company data: Glassdoor · StepStone · Totaljobs · XING · Welcome to the Jungle · Y Combinator.
Support
Questions, problems or a field you need: open the Issues tab on this actor, or email max@mapa.slmail.me. Bug reports with the run ID get answered fastest.
