Job Board Keyword Signal Scanner GTM Eng Finance Clay-Ready avatar

Job Board Keyword Signal Scanner GTM Eng Finance Clay-Ready

Pricing

from $42.50 / 1,000 results

Go to Apify Store
Job Board Keyword Signal Scanner GTM Eng Finance Clay-Ready

Job Board Keyword Signal Scanner GTM Eng Finance Clay-Ready

Multi-category job board scanner. Pick GTM, Engineering, Finance, Ops, Executive, or custom keywords across Greenhouse, Lever, and Ashby. Returns one flat Clay-ready row per domain with matched role counts and category breakdowns. MCP-ready for Claude Desktop, Cursor, and AI agents.

Pricing

from $42.50 / 1,000 results

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

44 minutes ago

Last modified

Share

๐Ÿ”‘ What can Job Board Keyword Scanner do?

Give it a company domain and a role category and it tells you whether that company is hiring for those roles right now, across five ATS platforms. One flat row per domain.

Pick from twelve role categories, combine several at once, or pass your own keyword list.

๐Ÿ“ฆ What you getโš™๏ธ Features and integrations
๐ŸŽฏ hiring_signal, one boolean to gate on
๐Ÿ—‚๏ธ Five role categories, or your own keywords
๐Ÿ“Š roles_by_category and a signal_strength
๐Ÿงพ 23 flat fields, snake_case, one row per domain
๐Ÿ” Five ATS platforms: Greenhouse, Lever, Ashby, Workday, Rippling
๐Ÿ—„๏ธ Pre-indexed fallback when the live cascade misses
๐Ÿ”„ Change detection across runs
โฌ‡๏ธ Export to JSON, CSV, Excel, HTML or XML

Bought by teams whose buying signal is a specific kind of hire: an engineering scale-up, a first CFO, an ops buildout, or a GTM ramp.

๐Ÿšซ If you only need GTM roles, use GTM Hiring Signal Scraper instead. It is purpose-built for that one category and costs the same per row. This actor exists for everything else, and for combining categories in one call.

๐Ÿ’ก Why use Job Board Keyword Scanner?

If you wantRead these fields
A hiring gate for any functionhiring_signal, signal_strength
How much they are hiringmatched_role_count, total_open_roles
Which function is growingroles_by_category, department_with_most_openings, top_matched_role
Recencymost_recent_posting_date
What changed since last runnew_roles_detected, removed_roles_detected, roles_added_count, change_detected
Whether the data is live or indexedfallback_used, fallback_source
Where to lookcareer_page_url, ats_platform, linkedin_company_url

๐Ÿ—‚๏ธ The twelve categories

Pass one or more in role_categories:

CategoryCovers
GTMVP Sales, AE, SDR, RevOps, Head of Growth, CMO, CRO
EngineeringVP Engineering, CTO, Software Engineer, Staff Engineer, Engineering Manager
FinanceCFO, VP Finance, Controller, FP&A, Financial Analyst
OperationsCOO, VP Operations, Chief of Staff, Business Operations, Strategy and Operations
ExecutiveCEO, President, Co-Founder, MD, General Manager, VP and above
MarketingCMO, VP Marketing, Demand Gen, Product Marketing, Brand, Content, SEO
HRCHRO, Chief People Officer, People Ops, Talent Acquisition, HRBP, Recruiter
CustomerSuccessChief Customer Officer, VP CS, CSM, Account Manager, Renewals, Support
DataChief Data Officer, VP Data, Data Engineer, ML Engineer, Data Scientist, BI Analyst
ProductCPO, VP Product, Product Manager, Product Owner, Product Ops
LegalGeneral Counsel, Chief Legal Officer, Corporate Counsel, Compliance, Paralegal
DesignVP Design, Head of UX, Product Designer, UX Researcher, Brand Designer
CustomYour own list, via custom_keywords

Category names are matched case insensitively and separators are ignored, so customer_success, Customer Success and customerSuccess all reach the same category. sales resolves to GTM, people to HR, analytics to Data.

That is a fix, not a convenience. Until 2026-08-22 the lookup was an exact, case sensitive property read and anything that missed was skipped in silence, so a run asking for marketing matched no roles at all and reported no hiring signal for every company. Seven of the twelve categories above are also new on that date. categories_unresolved on every row now names anything you sent that still matches nothing, so a typo is visible rather than silent.

๐Ÿ—„๏ธ The pre-indexed fallback

When the live cascade finds no ATS match, the actor falls back to a pre-indexed database covering over 175,000 companies and 54 ATS platforms. enable_fallback defaults to true.

fallback_used and fallback_source tell you which path produced the row, which matters because indexed data can be a few days behind live scraping. Set enable_fallback to false for faster runs on large lists where you are confident about ATS coverage.

โ–ถ๏ธ Ready-to-run examples

ExampleWhat it does
Find Companies Hiring Software EngineersEngineering scale-up signal
New CFO Hire DetectorFinance leadership signal
Partnerships and Channel Role ScannerChannel buildout signal
GTM and Engineering Combined ScanTwo categories in one call
Weekly Hiring Change TrackerMomentum over time

๐Ÿ“‹ What data can Job Board Keyword Scanner extract?

23 fields per domain.

FieldWhat it holds
hiring_signalThe boolean gate
matched_role_count, total_open_rolesMatches, and the whole board
matched_roles_detected, top_matched_roleWhich roles matched
roles_by_categoryBreakdown across the categories you searched
department_with_most_openingsWhere the hiring is concentrated
signal_strengthTriage band
most_recent_posting_dateFreshness
categories_searchedWhat you asked for, echoed back
ats_platform, career_page_urlWhich board answered, and where
company_name, linkedin_company_urlCompany identity
new_roles_detected, removed_roles_detected, roles_added_count, change_detectedDelta since your last run
fallback_used, fallback_sourceWhether the row came from live scraping or the index
previous_run_date, run_dateRun bookkeeping

โš ๏ธ Custom keywords are all treated as Tier 2 signals. signal_strength weights the built-in category keywords more heavily than anything you supply yourself, so a custom-keyword run will read lower on strength than an equivalent GTM run. Use matched_role_count rather than signal_strength when you are running your own keyword list.

โš ๏ธ false and null mean different things on every row. false is a measurement: the actor looked and the answer was no. null is the absence of one: the actor could not look. When something it needed fails, the row comes back with degraded: true, a plain-language degradation_reason, and every field it could not measure set to null rather than to a confident false or 0. Filter on degraded before you trust a negative.

๐Ÿ› ๏ธ How to find companies hiring for a role category

  1. Open the Input tab and put a bare domain in company_domain.
  2. Set role_categories, one or several.
  3. For anything the categories do not cover, add custom_keywords.
  4. Click Start.
  5. Filter on hiring_signal, then read roles_by_category to see where the hiring sits.

๐Ÿงช Using it in Clay

Add an Apify enrichment column and map your domain column to company_domain. Every field is a top-level key.

Combine categories in one call rather than running the actor twice. roles_by_category keeps them separable in the output.

โฑ๏ธ Tracking change over time

Pass previous_roles_detected and previous_run_date from your stored prior-run columns, and the actor returns new_roles_detected, removed_roles_detected and change_detected. Filter on roles_added_count to find companies that just opened positions.

๐Ÿ’ต How much does it cost to scan a job board?

You are charged once per domain scanned.

PlanPer domainPer 1,000 domains
Free$0.05$50.00
Bronze$0.0475$47.50
Silver$0.045$45.00
Gold$0.0425$42.50

There is also an Actor start event at $0.00005, charged once per run per GB of memory.

๐Ÿ’ณ A domain that matches no ATS is still billed. The actor probed five platforms and, if enabled, the pre-indexed fallback as well, and a row saying so is a real answer. When the free-tier monthly cap is reached the run exits before any scraping or paid fallback call, with an upgrade message and no result row, so it never charges you for a run it did not do.

โŒจ๏ธ Input

Everything is on the Input tab.

FieldTypeDefaultWhat it does
company_domainstringrequiredBare company domain.
role_categoriesarray["GTM"]One or more of the twelve categories above, plus Custom. Case insensitive.
custom_keywordsarraynoneYour own role keywords.
previous_roles_detectedstringnonePrior run's roles, unlocks change detection.
previous_run_datestringnonePrior run's date.
enable_fallbackbooleantrueUse the pre-indexed database when the live cascade misses.

๐Ÿ“ค Output

One flat row per domain, exportable as JSON, CSV, Excel, HTML or XML.

{
"company_domain": "example.com",
"company_name": "Example Inc",
"linkedin_company_url": "https://www.linkedin.com/company/example",
"hiring_signal": true,
"ats_platform": "greenhouse",
"matched_role_count": 5,
"matched_roles_detected": ["Staff Engineer", "Engineering Manager"],
"top_matched_role": "VP Engineering",
"most_recent_posting_date": "2026-08-04",
"department_with_most_openings": "Engineering",
"total_open_roles": 18,
"signal_strength": "high",
"categories_searched": ["Engineering"],
"roles_by_category": {"Engineering": 5},
"career_page_url": "https://boards.greenhouse.io/example",
"new_roles_detected": ["Staff Engineer"],
"roles_added_count": 1,
"change_detected": true,
"fallback_used": false,
"fallback_source": null,
"run_date": "2026-06-18T16:18:12.670Z"
}

๐Ÿ’ก Tips

  • Combine categories in one call. It costs one row either way and roles_by_category keeps them apart in the output.
  • Check fallback_used before treating a posting date as live. Indexed rows can lag by a few days.
  • Set enable_fallback to false on large lists where you already know your targets use a supported ATS. It is measurably faster.
  • Store matched_roles_detected and run_date each time. Change detection is free once you do.

โš ๏ธ Known limits

Workday and Rippling detection relies on career page scraping, not a clean public API, so slug mismatches can cause false negatives on some Workday domains. Greenhouse, Lever and Ashby use public APIs and are more reliable.

Roles behind authenticated career portals are not visible.

The pre-indexed fallback can be a few days stale compared with live scraping. fallback_used tells you when a row came from it.

Custom keywords are all treated as Tier 2 signals, which lowers signal_strength relative to the built-in categories.

No proxy layer by default. Heavy batch runs against the same ATS domain may get rate limited. Say so on the Issues tab if it becomes a pattern.

A fallback failure is not a run failure. If the fallback sub-call errors or times out it is caught and logged, the run continues, and the row comes back with ats_platform: "none" and fallback_used: false.

โ“ FAQ

How is this different from GTM Hiring Signal Scraper?

That one is scoped to GTM roles only and is purpose-built for it. This one lets you pick the category, covers five ATS platforms instead of three, and can combine categories in one call.

What happens when no ATS matches?

The pre-indexed fallback is tried when enable_fallback is true. If that also finds nothing, the row comes back with ats_platform: "none".

Can I use my own keywords?

Yes, via custom_keywords. Note they are weighted as Tier 2 in signal_strength.

Do I need to run it twice for two categories?

No. Pass both in role_categories and read roles_by_category in the output.

Does it need a proxy or an API key?

Neither.

๐Ÿงฉ 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.

๐Ÿง‘โ€๐Ÿ’ผ GTM Hiring Signal Scraper๐Ÿงฑ Tech Stack Detector
๐Ÿ“ก B2B Buying Signals Aggregator๐Ÿ”— Domain to LinkedIn URL Resolver
๐ŸŽฏ ICP Fit Scorer๐Ÿ“‹ Job Posting Monitor
๐Ÿ“ฌ Domain Deliverability Checker๐Ÿข Company Firmographic Enricher
๐ŸŒ Company Social Presence Mapper๐Ÿชช Company Identity Resolver
๐Ÿ’ฐ Funding and Press Signal Scanner๐Ÿ”„ Company Change-Event Feed
๐Ÿ‘ค People Finder and Email Verifier๐Ÿš€ Prospect Engine
๐Ÿค– AI Tooling Detector๐Ÿ“ฎ Outbound Stack Detector
๐Ÿ“ Publishing Frequency Trackerโœ‰๏ธ Work Email Waterfall Finder
โฉ Sequencer Lead Push๐Ÿ… Workplace Program Detector
๐Ÿ‘ฅ Team Page People Extractor๐Ÿงญ Company Discovery List Builder

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.

๐Ÿ†˜ Support

Found a bug or want a category extended? Open an issue on the Issues tab. Response time is typically within 48 hours.

โ„น๏ธ Sourcing and legal. Roles come from the public job board APIs of Greenhouse, Lever and Ashby and from public career pages on Workday and Rippling, plus a pre-indexed job database when the live cascade finds nothing. No authenticated portal is accessed. The actor returns companies, role counts and role titles, not people. You are responsible for how you use the output.

Built by Mamba Labs.