
CutShort New Tech Jobs Alert Monitor
hipersoft/cutshort-monitor
Watch any CutShort (cutshort.io) tech-job search on a schedule and get ONLY newly-posted jobs since the last run. Runs in Apify Schedules, n8n, Make or Zapier for automated new-job alerts — quiet runs return nothing, so it is cheap to watch a skill 24/7 and never miss a fresh opening.
Total users
2Monthly users
1Total runs
50Per new job posting
$0.003Last rebuilt
Oct 26, 2026Overview
Watch any CutShort (cutshort.io) tech-job search and get alerted the moment a new job is posted. Point this monitor at a skill or role — java, python, devops, data science, frontend, anything on CutShort — put it on a schedule, and each run returns only the jobs newly posted since the last run. Quiet runs return nothing, so you can watch a search every few minutes, all day, and only ever see fresh openings.
Built for automation: drop it into Apify Schedules, n8n, Make or Zapier and turn every new job into an email, a Slack message, a Google Sheet row or a webhook.
Why a monitor instead of a scraper?
A scraper gives you everything every time — and you then have to figure out what's new. This monitor remembers what it saw last time and hands you a clean feed of just the new jobs:
- 🆕 New jobs — the moment a posting matching your search goes live.
- 🗑️ Removed jobs — optional. Jobs that were present before but have now been filled, withdrawn or expired.
Perfect for job seekers who want to apply first, recruiters tracking a market, job boards aggregating fresh roles, and anyone building automated tech-job alerts.
How it works
- Give it a search — one or more skill keywords like
java,pythonordata science. You can also paste a CutShort jobs URL from your browser. - Put it on a schedule (e.g. every 30 minutes) in Apify or your automation tool.
- First run quietly records the current jobs as a baseline and returns nothing — so a fresh schedule doesn't dump the whole board at you. (Prefer the full list up front? Turn on Emit all jobs on the first run.)
- Every run after that returns only the jobs posted since the previous run.
Each monitor keeps its own separate memory, so you can run several different searches side by side without them interfering — just give each one a Monitor name.
What you get
One row per newly-posted job:
| Field | Description |
|---|---|
changeType |
new (newly posted) or removed (no longer in results). |
jobId |
CutShort job ID. |
title |
Job title (e.g. "Senior Java Developer"). |
company |
Hiring company name. |
location |
Job location (e.g. "Bengaluru"). |
remote |
Remote / Remote OK / On-site. |
roleType |
Full time, contract, etc. |
experience |
Required experience (e.g. "3 - 6 yrs"). |
salary |
Salary range when disclosed. |
skills |
Key skills for the role. |
url |
Link to the job on CutShort. |
firstSeenAt |
When this monitor first saw the job. |
lastSeenAt |
When the job was last seen (on removals). |
detectedAt |
When this change was detected. |
Example new-job row
{
"changeType": "new",
"jobId": "66b1f0a2c9e77a0012ab34cd",
"title": "Senior Java Developer",
"company": "Acme Technologies",
"location": "Bengaluru",
"remote": "Remote OK",
"roleType": "full time",
"experience": "3 - 6 yrs",
"salary": "INR 20,00,000 - 35,00,000",
"skills": ["Java", "Spring Boot", "Microservices", "REST API"],
"url": "https://cutshort.io/job/senior-java-developer-acme-technologies",
"firstSeenAt": "2026-09-06T12:34:56.000Z",
"detectedAt": "2026-09-06T12:34:56.000Z"
}
How to use it
- Add CutShort New Tech Jobs Alert Monitor to your Apify account and open its input.
- Enter one or more Skill keywords (e.g.
java,python,devops). - Optionally set a Monitor name so this search keeps its own memory.
- Save it, then create a Schedule (e.g. every 30 minutes) — or trigger it from n8n, Make or Zapier.
- Connect the output to email, Slack, a spreadsheet or a webhook and let the new-job alerts come to you.
Input
{
"queries": ["java", "python"],
"maxItems": 100,
"monitorName": "tech-jobs-watch",
"emitBaselineOnFirstRun": false,
"detectRemoved": false
}
| Field | Description |
|---|---|
queries |
One or more skill keywords to watch. Each is monitored as its own search. |
maxItems |
How many jobs from the top of each search to check each run. 0 = no limit. |
monitorName |
Optional label so this search keeps its own separate memory. |
emitBaselineOnFirstRun |
Output every current job as new on the first run instead of seeding silently. |
detectRemoved |
Also report removed jobs (default off). |
FAQ
How often should I run it? As often as you like — every 15 or 30 minutes works well. Runs with no new jobs return nothing, so frequent checks stay cheap.
Will the first run flood me with results? No. By default the first run silently records a baseline and returns nothing; you only start getting rows from the second run onward. Turn on Emit all jobs on the first run if you'd rather get the full list up front.
Can I watch several searches at once? Yes. Give each one a different Monitor name and each keeps its own independent memory of what it has seen.
Can I watch several skills? Yes — add several Skill keywords and each is watched as its own search every run.
What export and integration options are there? JSON, CSV, Excel and XML, plus the Apify API, webhooks and native integrations with n8n, Make, Zapier and more.
Input
| Field | Type | Description |
|---|---|---|
queriesSkill keywords to watch | array | One or more skills or roles to monitor on CutShort — for example 'java', 'python', 'devops' or 'data science'. Each keyword is watched as its own saved search and each run reports only the jobs that were newly posted since the previous run. You can also paste |
maxItemsMax jobs to check per run | integer | How many jobs from the top of each search to check every run (0 = no limit). The newest jobs appear first, so 100 comfortably covers fresh arrivals for most searches. Removed-job detection is only reported when this cap is not reached. Default: 100 |
monitorNameMonitor name | string | Optional label for this monitor. Each named monitor keeps its own separate memory of the jobs it has already seen, so you can run several different searches side by side without them interfering. Leave blank to derive it automatically from the search. |
emitBaselineOnFirstRunEmit all jobs on the first run | boolean | By default the very first run silently records the current jobs as a baseline and returns nothing, so a fresh schedule does not dump the whole job board at you. Turn this on to instead output every current job as 'new' on that first run. Default: false |
detectRemovedReport removed jobs | boolean | Also report jobs that were present before but have now disappeared from the search (filled, withdrawn or expired). Only reported when the whole search fits within 'Max jobs to check per run'. Default: false |
proxyConfigurationProxy configuration | object | Optional. This monitor runs fine without a proxy and none is used by default. |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~cutshort-monitor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"queries": [
"java"
],
"emitBaselineOnFirstRun": true
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/cutshort-monitor").call(run_input={
"queries": [
"java"
],
"emitBaselineOnFirstRun": True
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/cutshort-monitor').call({
"queries": [
"java"
],
"emitBaselineOnFirstRun": true
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| New job posting Charged once for each newly-posted job detected and returned since the previous run. | $0.003 | $0.0015 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Dribbble Shots Scraper
Scrape public design shots from Dribbble: title, high-res image, tags, likes, views and designer credit. Filter by category or sort, export JSON, CSV or Excel.
359 runs · 5 users · $0.003 / shot scrapedComputrabajo Scraper
Scrape Computrabajo job listings across Latin America (Mexico, Colombia, Argentina, Chile, Peru and more): title, company, location, salary, posted date and apply URL. Filter by country and keyword. No setup.
206 runs · 4 users · $0.002 / listing scrapedKraken Market Data Scraper
Fetch Kraken spot market data in bulk: ticker stats (ask, bid, last, 24h high/low/volume/vwap), OHLC candles for any interval, order book depth (top bids/asks), and tradable pair metadata. Fast, clean and cheap.
165 runs · 4 users · $0.001 / pair scrapedBayt Scraper
Scrape Bayt.com job listings across the Middle East (UAE, Saudi Arabia, Egypt, Qatar and more): title, company, location, posted date and apply URL. Filter by country and keyword.
134 runs · 4 users · $0.003 / job scrapedGitHub Scraper
Search GitHub and scrape repositories (stars, forks, language, topics, license, dates) or user profiles (name, company, location, bio, followers, public email, repos). Uses the GitHub REST API; optional token for higher rate limits. For developer lead generation, OSS research and recruiting.
131 runs · 7 users · $0.0008 / item scrapedHacker News Scraper
Scrape Hacker News stories, comments, Ask HN, Show HN, jobs and polls by keyword, points, comments and date range. Sort by relevance or newest. Title, URL, author, points, comment count, text and HN link. Fast clean HTTP via the HN Algolia API, no setup.
130 runs · 2 users · $0.004 / item scrapedSend the site and the fields. We build it and you get it first.