Listing Watch — Job Alert Monitor for Computrabajo
Pricing
from $1.00 / 1,000 listing checkeds
Listing Watch — Job Alert Monitor for Computrabajo
Wraps computrabajo-jobs-scraper with scheduled runs and stateful diffing to deliver only NEW job listings since your last check. Turns a one-shot scraper into a subscription. Pay per check + per new listing found.
Pricing
from $1.00 / 1,000 listing checkeds
Rating
0.0
(0)
Developer
Mariano Ferreras
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Turn a one-shot scraper into a subscription.
listing-watchschedulescomputrabajo-jobs-scraper, diffs every run against a stored history of job URLs, and delivers only the listings that are new since your last check. You pay a small per-check fee plus a per-new-listing fee — the premium is for the alert, not for re-reading data you already have.
What it does
listing-watch is a wrapper actor: it runs computrabajo-jobs-scraper on your behalf with your search parameters, compares the results against a stateful key-value store of previously seen job URLs, and outputs a compact WatchResult containing only the new listings. Nothing is re-processed and nothing duplicate reaches your dataset.
It works by:
- Running
computrabajo-jobs-scraperwith your keyword, country, and optional location/date filters - Comparing the returned job URLs against a stored list from your last run (URL is the stable dedup key)
- Pushing a single
WatchResultrecord with the new listings only - Updating its stored state so the next run picks up only what's fresh from there
Run it on an Apify Schedule (daily, hourly, whatever cadence fits) and you get a continuous, deduplicated feed of new Computrabajo postings — a job alert service built entirely from an existing one-shot scraper plus a diff layer.
Use cases
- Job alert automation — schedule a daily Computrabajo search for your ideal role and get a compact feed of only new postings, ready to pipe into Slack, email, or your ATS.
- New job listings monitor — track new posting volume by role, location, and country across LatAm without writing your own dedup logic.
- Competitor hiring monitoring — watch what roles a specific employer or industry is hiring for, and get notified the moment a new one goes up.
- HR tech / recruiting pipelines — feed a continuously deduplicated stream of new LatAm job listings into a matching engine, analytics dashboard, or candidate-alert system.
- Labor market trend tracking — measure new-posting velocity by keyword and geography over time, run after run, without manual bookkeeping.
Input example
{"keyword": "desarrollador python","country": "ar","location": "buenos aires","sinceDate": "2026-07-01","maxNewItems": 20}
| Field | Type | Default | Description |
|---|---|---|---|
targetActor | enum | computrabajo-jobs-scraper | Which actor to watch. More sources coming in v2. |
keyword | string | "desarrollador" | Job search keyword to monitor |
country | string | "ar" | Computrabajo country code (ar, mx, co, pe, cl, etc.) |
location | string | (none) | Optional city/province filter |
sinceDate | string | (none) | ISO date YYYY-MM-DD. Only monitor jobs posted on or after this date. |
maxNewItems | integer | 20 | Maximum new listings to return per run (1–200) |
detectRemoved | boolean | false | v2 feature — currently a no-op |
Each unique combination of keyword + country + location is one independent "watch" with its own stored history — reuse the same input on a schedule to keep it going.
Output example
[{"watchId": "9849d0d277328a70d1391d105a029ab101c8691646a705a0f7c6709351879832","targetActor": "computrabajo-jobs-scraper","keyword": "desarrollador python","country": "ar","newCount": 3,"totalChecked": 60,"lastRunAt": "2026-07-22T12:00:00.000Z","checkedAt": "2026-07-23T12:00:00.000Z","previousListingCount": 55,"newListings": [{"url": "https://ar.computrabajo.com/ofertas-de-trabajo/oferta-de-trabajo-de-senior-backend-python-developer-remoto-para-residentes-en-argentina-en-monserrat-F2A4E9D19A683AFB61373E686DCF3405","title": "Senior Backend Python Developer","company": "Kaizen Recursos Humanos","location": "Monserrat, Capital Federal","salary": { "raw": "A convenir", "min": null, "max": null, "currency": null },"contractType": "Contrato por tiempo indeterminado","workMode": "remote","postedDate": "2026-07-23","description": "En KaizenRH buscamos Senior Backend Python Developer...","source": "computrabajo","country": "ar"}]}]
Each dataset item is a WatchResult containing:
- Watch metadata —
watchId,targetActor,keyword,country,checkedAt,lastRunAt - Counts —
newCount,totalChecked,previousListingCount - New listings —
newListings[]— array ofJobobjects (same schema ascomputrabajo-jobs-scraper: title, company, location, salary, contract type, work mode, posted date, description, URL)
The very first run of a watch has no history to compare against, so all returned listings count as "new" — that's your baseline. Every run after that reports only what actually changed.
Pricing
This actor uses pay-per-event pricing — no rental, no subscription, no charge for duplicate listings.
| Event | Price | What triggers it |
|---|---|---|
| Actor start | $0.001 | One-time per run (covers orchestration compute) |
listing-checked | $1.00 / 1,000 ($0.001/ea) | Charged once per watch run — the cost of running the check itself |
listing-new | $5.00 / 1,000 ($0.005/ea) | Charged per genuinely new listing discovered. The premium over raw scraping pays for the dedup + alerting value, not the data |
Important — this actor internally runs computrabajo-jobs-scraper on your behalf. That sub-run is billed to you separately, at computrabajo-jobs-scraper's own published rates (currently ~$0.001 start + $0.0015 per job scraped). You'll see it as its own line item in your Apify usage. listing-watch's fees above are only for the orchestration and alerting layer on top.
Real-world cost examples (measured on live platform validation runs, keyword: "desarrollador", country: "ar"):
| Scenario | Jobs checked | New listings | listing-watch fees | computrabajo pass-through | Total |
|---|---|---|---|---|---|
| First run (seed watch) — measured | 15 | 5 | $0.027 | $0.024 | ~$0.05 |
| Second run, nothing new — measured | 15 | 0 | $0.002 | $0.024 | ~$0.03 |
| Larger watch (100 checked, 10 new) | 100 | 10 | $0.052 | $0.151 | ~$0.20 |
Most of the steady-state cost is the underlying Computrabajo scrape (unavoidable — the only way to know what's new is to re-check what's there). listing-watch's own fee stays low when nothing changes and scales only with genuinely new results.
Use with AI agents (MCP)
This actor is available as a tool for AI assistants via the Apify MCP server. Agents can subscribe to a job search alert or new listings monitor directly — no Apify console needed, just a function call.
MCP setup
{"mcpServers": {"apify": {"command": "npx","args": ["mcp-remote","https://mcp.apify.com?tools=mfapitools/listing-watch","--header","Authorization: Bearer <YOUR_API_TOKEN>"]}}}
Example agent prompts
- "Check if there are any new Python developer jobs on Computrabajo Argentina since last week"
- "Set up a watch for remote React jobs in Mexico and tell me only about new postings"
- "Has anything new been posted for 'contador' roles in Buenos Aires?"
The actor returns structured JSON with the fields shown above. Agentic workflows can run this on a schedule (via the Apify Scheduler) and only need to look at newListings on each check — no manual dedup logic required on the agent side.
Limitations
- v1 — Computrabajo only. More sources (Trustpilot, licitaciones-feed, others) are candidates for v2;
targetActoris an enum of one value today. - Detect removed listings is v2. The
detectRemovedinput field currently has no effect. - No webhook/email notifications in v1. The actor writes to its dataset each run; connect it to Slack, email, or a ticketing system via Apify webhooks or the dataset API.
- Single keyword per watch. One watch = one keyword + country + location. For multiple keywords, create multiple schedules with different inputs.
- State stored in a named key-value store (
listing-watch-state), one key per watch (hash oftargetActor+keyword+country+location). URLs are capped at 1,000 per watch, newest-preserved, to bound storage growth — job postings older than the most recent 1,000 for a given search won't be tracked for dedup. - Computrabajo's own charges are billed to you separately — see Pricing above. This actor does not mark up or hide that cost; it's a transparent pass-through from the underlying scrape.
- Cross-actor invocation. This actor calls
computrabajo-jobs-scraper(ywW0ObCeHcOu3RdpJ) internally viaActor.call(), with an automatic fallback to the Apify REST API ifActor.call()is unavailable. - Compliance inherits from the wrapped actor. All the same public-data-only guarantees of
computrabajo-jobs-scraperapply — this actor adds no new scraping surface of its own.
Changelog
See ./CHANGELOG.md.