Account Hiring Watch avatar

Account Hiring Watch

Pricing

from $8.50 / 1,000 posting changes

Go to Apify Store
Account Hiring Watch

Account Hiring Watch

Watch company domains and get only what changed since the last run: new, closed, and reposted job postings read live from 17 job boards, Greenhouse, Lever, Ashby, and Workday among them. Each row has the full job description, a stable posting key, and 30 day hiring velocity. Flat rows or a webhook.

Pricing

from $8.50 / 1,000 posting changes

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

๐Ÿ”‘ What can Account Hiring Watch do?

Account Hiring Watch reads the job boards of the companies you care about and tells you only what changed since your last run: postings that opened, closed, or were reposted. Every run also returns one summary row per company with 30 day hiring velocity, direction, and a surge flag.

  • Only changes. The watch keeps its own state between runs, so run two returns new, closed, and reposted postings, not the whole board again.
  • Read live from the company's own board. Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Personio, and Recruitee, through their public job board endpoints. No job aggregator, no login.
  • A stable posting key. posting_key names one role at one company and city across boards and across runs. A title edit keeps its key.
  • Full job descriptions on new and reposted rows, up to the length you set.
  • Hiring velocity on every run, including the first: new postings in the last 30 days against the 30 days before, direction, and a surge flag.
  • A signed webhook in the Standard Webhooks format. With a webhook set, you pay for a change only when your endpoint accepts it.
  • First run postings are free. The first run sets the baseline and returns postings opened in the last 7 days, marked is_backfill, at no charge.

๐Ÿ’ก Why use Account Hiring Watch?

  • Catch a target account the week it starts hiring for sales, engineering, or any role category.
  • Spot a role that closed (someone was hired: time to find them) or a role that came back (the hire did not stick).
  • Feed velocity and surge into account scoring without storing job boards yourself.
  • Load flat rows into Clay, a CRM, or a warehouse, or receive them on a webhook.

๐Ÿ› ๏ธ How to watch accounts for hiring changes

  1. Paste company domains into Company domains to watch, one per line.
  2. Pick Role categories, or leave All roles.
  3. Run it. The first run sets the baseline and returns recent postings at no per posting charge.
  4. Schedule it daily or weekly with the same Watch name. Each run returns only what changed.

Use one Watch name per list or client. Two watch names never share state.

๐Ÿ“‹ What data does Account Hiring Watch return?

Two row types in one dataset. Every field is on every row, null where it does not apply.

posting_change, one per change:

FieldExample
change_typenew, closed, or reposted
company_domain, company_namevercel.com, Vercel
posting_key, event_idpk_e6c13ac023e8022984a3, ev_5d604061cc6829034a8c
job_title, job_location, job_department, is_remoteIT Systems Engineer, San Francisco
job_url, source_board, board_native_ids, opening_countGreenhouse link, greenhouse, 6218743004, 1
matched_categories, matched_keyword, keyword_tierGTM, account executive, 2
posted_at, first_seen_at, last_seen_at, closed_at, days_open2026-10-07
reposted_from_closed_atwhen the earlier posting closed
job_description, job_description_chars, job_description_truncatedfull text, 4333, false
is_backfill, delivery_statustrue, dataset_only

account_summary, one per company per run:

FieldExample
open_postings, open_postings_matched89, 54
new_postings_30d, prior_postings_30d (and _matched)20, 12
closed_postings_30d, reposted_postings_30d (and _matched)0, 0
velocity_change_pct, hiring_direction, surge_flag67, up, false
velocity_basis, history_days, undated_postingsboard_dates, 0, 0
changes_new, changes_closed, changes_repostedthis run's counts
board_provider, board_slug, board_match_confidencegreenhouse, vercel, confirmed
board_total, board_truncated, is_baseline89, false, true

Every row also carries row_status, error_reason, degraded, degradation_reason, billable_events_json (what this row was charged for), source, source_date, and read_at.

๐Ÿ’ต How much does it cost?

You pay per posting change delivered.

PlanPer changePer 1,000 changes
Free$0.010$10.00
Bronze$0.0095$9.50
Silver$0.009$9.00
Gold$0.0085$8.50
  • There is also an Actor start event at $0.002, charged once per run per GB of memory. The actor runs at 256 MB, so that is one start event per run.
  • Summary rows are free. First run backfill rows are free. A change already charged is never charged again.
  • With a webhook set, a change is charged only after your endpoint answers 2xx.
  • Free Apify plans get 150 changes per calendar month, resetting on the 1st. Changes past the allowance wait in the watch and are delivered first on a later run.

๐Ÿ›‘ Your spending limit is respected. Set a maximum cost per run in Apify, or max_charge_usd on the Input tab. When the next change would go over, the remaining changes are held and delivered first on the next run. Nothing is lost and nothing is charged twice.

โŒจ๏ธ Input

FieldDefaultWhat it does
domainsrequiredCompany domains to watch, up to 2,000 per run
watch_namedefaultKeeps watch lists apart. A new name starts a new watch
keyword_categoriesAllOnly matching changes are returned and charged: GTM, Engineering, Finance, Operations, Executive, Marketing, HR, CustomerSuccess, Data, Product, Legal, Design, Custom
custom_keywordsnoneWhole word title keywords, T1: or T3: prefix for tier
board_hintsnonedomain=provider:slug, for example acme.com=greenhouse:acmeinc
first_run_moderecentrecent, baseline_only, or all_open. First run rows are always free
first_run_recent_days7Window for recent
closed_after_misses2Complete reads without a posting before it closes
repost_window_days30A closed posting back inside this window is reposted
include_job_descriptiontrueFull description on new and reposted rows
description_max_chars20000Length cap per description
webhook_url, webhook_secretnoneSigned delivery. HTTPS only; the secret is required
webhook_batch_modebatchbatch (up to 50 per request) or per_change
state_storenoneYour own key value store for the watch state
max_domains500Domains past this number are skipped
max_charge_usdnoneCost cap for one run

Clay sends every field as text, and the actor reads numbers and true/false values from text.

๐Ÿ“ก Webhook format

Requests follow the Standard Webhooks specification, so any of its libraries verifies them.

  • Headers: webhook-id (the same id on a retry), webhook-timestamp, webhook-signature (v1, plus base64 HMAC SHA256 of id.timestamp.body).
  • Body: { "type": "hiring.changes", "api_version": "1", "watch_name", "run_id", "sent_at", "changes": [...], "accounts": [...] }. Each change has the same fields as its dataset row.
  • Dedupe on event_id.
  • Retries: 3 attempts in a run (2 s, 8 s, 30 s) on network errors, 408, 429, and 5xx. A change still not accepted waits and goes first on the next run. After 7 days it is dropped, never charged, and counted in webhook_expired_changes.

๐Ÿงฎ How changes are decided

  • new: a posting key the watch has not seen, or one closed longer ago than the repost window.
  • closed: missing from closed_after_misses complete reads in a row. On Greenhouse, Lever, SmartRecruiters, Workable, and Recruitee, a 404 from the posting itself closes it on the first miss.
  • reposted: a key that closed inside the repost window comes back, or every board id under an open key is replaced in one read.
  • A partial or failed board read never closes a posting.
  • Reposts do not count as new hiring in velocity.

๐Ÿงฉ Use with Clay, the API, and agents

  • Clay: run the actor from a Clay table with domains in one column, or point webhook_url at a Clay table webhook with webhook_batch_mode set to per_change.
  • API: POST https://api.apify.com/v2/acts/mambalabs~account-hiring-watch/runs with the input above, then read the default dataset.
  • Schedules: create an Apify schedule with a fixed watch_name.

โš ๏ธ Error handling

SituationWhat you get
No job board foundSummary row with degraded true and the boards checked. Add a board_hints entry
Board names a different employerSummary row says which employer; no rows from that board
Board unreachable or slowSummary row with the reason; no posting is counted as closed
Board read cut short (Workday reads stop at 400)board_truncated true; no posting outside the read is counted as closed
Description read failsChange row still delivered, degraded true
Webhook refusesRows written as pending without description and URL, sent first next run
State store unavailableEvery domain runs as a first run (free) and the summary row says so

โš ๏ธ Known limits

  • Some company sites refuse requests from cloud servers, so the watch cannot find their board link. A board_hints entry fixes it.
  • Workday boards are read up to 400 postings per run.
  • velocity_basis reads board_dates until the watch holds 60 days of history. Until then, postings that closed before the watch started are not in prior_postings_30d, so up and surge read high.
  • also_seen_on is reserved and null in this version.
  • Rippling has a reader that has not been confirmed on a live board yet.

โ“ FAQ

Why did my first run return so few changes? The first run returns postings opened in the last 7 days, free. Set first_run_mode to all_open to get every open posting, also free.

Does changing the role categories reset the watch? No. Every posting is tracked; categories only decide which changes are returned and charged.

Can I keep the state in my own storage? Yes, choose a key value store in state_store.

๐Ÿงฉ Want other GTM data?

Mamba Labs builds custom actors for B2B go-to-market teams. The public versions of that work live here on the Store, so our users get the same tooling we build under contract.

๐Ÿ•ต๏ธ Agent Accessibility Auditor๐Ÿค– AI Tooling Detector
๐Ÿ“ก GTM Signals Aggregator๐Ÿš€ Prospect Engine
๐Ÿ“ Publishing Frequency Tracker๐Ÿฆ‹ Bluesky Brand Presence Mapper
โฉ Sequencer Lead Push๐Ÿ”„ Company Change Event Feed
๐Ÿ“‡ Company Contact Details Extractor๐Ÿงญ Company Discovery List Builder
๐Ÿข Company Firmographic Enricher๐Ÿชช Company Identity Resolver
๐ŸŒ Company Social Presence Mapper๐Ÿท๏ธ Contact Classifier
๐Ÿ“ˆ Influencer Change Monitor๐Ÿ”Ž Influencer Finder
๐Ÿงพ Influencer Lead List Builder๐Ÿ‘ค Influencer Profile Scraper
๐Ÿ“ฌ Domain Deliverability Checker๐Ÿ”— Domain to LinkedIn URL Resolver
๐Ÿ›’ Ecommerce Platform Profilerโœ‰๏ธ Work Email Waterfall
๐ŸŽช Event Presence Indexโš–๏ธ Expert Witness Directory
๐Ÿ’ต Company Funding Record๐Ÿ’ฐ Funding and Press Signal Scanner
๐Ÿ™ GitHub Organization Signal Scanner๐Ÿง‘โ€๐Ÿ’ผ GTM Hiring Signal Scraper
๐Ÿ“‹ Job Posting Monitor๐Ÿงฑ Tech Stack Signal Detector
๐ŸŽฏ ICP Fit Scorer๐Ÿ›๏ธ Legal Entity Resolver
๐Ÿ“ฐ Link in Bio Scraper and Newsletter Detector๐Ÿ’ผ LinkedIn Company Page Mapper
๐Ÿ’ฌ LinkedIn Post Tracker๐Ÿ“ข Meta Ad Library Monitor
๐Ÿ“ธ Meta Brand Presence Mapper๐Ÿ“ฎ Outbound Stack Detector
๐Ÿ“„ Page Finder and Extractor๐Ÿง‘ People Finder & Email Verifier
๐Ÿ“Œ Pinterest Brand Presence Mapper๐Ÿ† Government Contract Award Monitor
๐Ÿ“… Reporting Window Finder๐Ÿ‘ฝ Reddit Brand Presence Mapper
โญ Trustpilot Reputation Enricher๐Ÿค Influencer Talent Agency Lookup
๐Ÿ‘ฅ Team Page People Extractor๐ŸŽต TikTok Brand Presence Mapper
๐Ÿ“Š Website Traffic Rank Estimator๐Ÿ… Workplace Program Detector
โœ–๏ธ X Brand Presence Mapperโ–ถ๏ธ YouTube Channel Stats Extractor

Every actor in the suite takes a domain or a company and returns one flat row, so they stack in the same Clay table without reshaping anything.

๐Ÿ› ๏ธ Need something custom built for you or your team? Tell us what you are trying to find and we will build it. Talk to Mamba Labs.

Shared code: @mambalabsdev/gtm-core (job board readers, posting key, keyword categories).

๐Ÿ†˜ Support

Found a bug or need a board added? Open an issue on the Issues tab. Response time is typically within 48 hours.

โ„น๏ธ Sourcing and legal. Postings come from the public job board endpoints of Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Personio, Recruitee, and Workday, and from the company's own careers page. No authenticated portal is accessed. The actor returns companies and job postings, not people. You are responsible for how you use the output.

Built by Mamba Labs.