Tech Stack Hiring Signals for B2B Sales avatar

Tech Stack Hiring Signals for B2B Sales

Pricing

Pay per usage

Go to Apify Store
Tech Stack Hiring Signals for B2B Sales

Tech Stack Hiring Signals for B2B Sales

Scan public Greenhouse and Lever job boards for 60+ curated tech companies. Detect Salesforce, Kubernetes, Snowflake, AWS and other hiring signals for B2B intent workflows.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

S. Klein

S. Klein

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

0

Monthly active users

18 hours ago

Last modified

Share

Find companies that are currently hiring for a technology and use those job postings as a practical B2B buying-intent signal.

This Actor scans public Greenhouse and Lever job boards for a curated directory of 60+ technology companies. It detects technology keywords in current open roles, returns a company-level signal score, and saves stable IDs, hashes, source URLs, and a run summary for monitoring workflows.

It is not a general-purpose job board scraper. Use it when you want ranked company signals for sales, consulting, recruiting intelligence, market research, or account monitoring.

What You Get

  • Company-level hiring signal rows, not thousands of raw job rows
  • Scores from 0 to 100 based on relevant role count and share of open roles
  • Detected technologies such as Salesforce, Kubernetes, Snowflake, AWS, dbt, Terraform, React, Python, and more
  • Source links to the public Greenhouse or Lever board for manual verification
  • Stable signalId and recordHash fields for scheduled monitoring
  • A RUN_SUMMARY dataset row and Key-Value Store record with status, warnings, and source counts
  • Fast default run suitable for Apify Store automated tests

Who Uses It

  • SDR and RevOps teams looking for accounts that are actively expanding a stack
  • Consulting firms tracking Salesforce, SAP, cloud, data, or DevOps expansion signals
  • Recruiters and staffing teams mapping active hiring demand by technology
  • VC, PE, and market analysts watching portfolio or competitor hiring patterns
  • Automation users who want a small, stable dataset for CRM enrichment, Clay, Make, Zapier, n8n, or webhooks

Input

Default quick run

The default input runs in fast test mode against a small stable US subset and returns the top company-level hiring signals.

{
"mode": "list_top_signals",
"region": "us",
"maxResults": 5,
"testMode": true,
"maxCompanies": 5,
"concurrency": 3,
"maxRetries": 2,
"requestTimeoutSecs": 15
}

Find companies hiring for Kubernetes

{
"mode": "search_by_technology",
"technology": "Kubernetes",
"region": "us",
"maxResults": 10,
"minSignalScore": 20,
"testMode": false,
"maxCompanies": 50
}

Inspect one company

{
"mode": "get_company_signals",
"companyName": "stripe",
"testMode": false
}

Output

Each hiring signal row represents one company.

{
"recordType": "HIRING_SIGNAL",
"signalId": "search_by_technology:greenhouse:stripe:kubernetes",
"recordHash": "7ed2...",
"scrapedAt": "2026-07-03T12:00:00.000Z",
"runMode": "search_by_technology",
"targetTechnology": "Kubernetes",
"companyName": "Stripe",
"companySlug": "stripe",
"region": "us",
"hiringSignalScore": 74,
"technologyMatches": ["AWS", "Go", "Kubernetes", "Python", "Terraform"],
"openRoleCount": 89,
"relevantRoleCount": 7,
"sampleJobTitles": ["Staff Infrastructure Engineer, Kubernetes Platform"],
"atsSource": "greenhouse",
"companyUrl": "https://stripe.com",
"sourceUrls": ["https://boards.greenhouse.io/stripe"],
"sourceFetchStatus": "ok",
"sourceAttemptCount": 1,
"dataQualityWarnings": []
}

Every run also writes a summary row to the dataset and to Key-Value Store key RUN_SUMMARY.

{
"recordType": "RUN_SUMMARY",
"status": "SUCCEEDED",
"mode": "list_top_signals",
"region": "us",
"testMode": true,
"companiesProcessed": 5,
"sourceSuccessCount": 5,
"sourceFailureCount": 0,
"recordsReturned": 5,
"warnings": [],
"errors": []
}

Possible summary statuses:

  • SUCCEEDED: valid source data was fetched and signal rows were returned
  • NO_RESULTS: valid source data was fetched, but no rows matched your filters
  • PARTIAL_SOURCE_FAILURE: some sources failed temporarily, but at least one valid source returned data
  • FAILED: input was invalid or all source requests failed, so no valid data could be verified

How the Score Works

For technology searches, the score combines:

  • Ratio signal: the share of open roles matching the target technology
  • Absolute signal: the number of matching open roles

For top-signal runs without a target technology, the score is based on current open-role volume and is best used as a hiring velocity indicator, not proof of adoption of a specific technology.

Data Sources

The Actor uses public ATS endpoints and public job board pages:

  • Greenhouse boards
  • Lever postings

No login, cookies, residential proxy, or browser rendering is required.

Limits

  • Coverage is a curated directory of 60+ companies, not the whole job market.
  • It currently supports Greenhouse and Lever only.
  • It returns company-level signals, not full job descriptions or salary data.
  • Technology detection is deterministic keyword matching, so it can miss synonyms or infer weak signals from broad terms.
  • Open roles change frequently. Schedule daily or weekly runs if you need monitoring.

Weekly CRM enrichment

  1. Run search_by_technology for your target stack.
  2. Export CSV.
  3. Match by companySlug or company domain in your CRM.
  4. Use hiringSignalScore, relevantRoleCount, and sampleJobTitles for prioritization.

Monitoring changes

  1. Create an Apify task with your target technology.
  2. Schedule it daily or weekly.
  3. Compare signalId and recordHash between runs.
  4. Trigger a webhook when a new company appears or a hash changes.

n8n, Make, Zapier, or Clay

Use the default dataset endpoint from a finished run and filter rows where recordType is HIRING_SIGNAL. Use the Key-Value Store RUN_SUMMARY record for health checks before importing results.

Troubleshooting

The run returned NO_RESULTS

The sources responded correctly, but no company matched your technology or score filters. Lower minSignalScore, increase maxCompanies, or turn testMode off.

The run returned PARTIAL_SOURCE_FAILURE

Some public ATS boards were temporarily unavailable, rate-limited, or changed their response. The dataset still contains valid rows from sources that responded. Check warnings in RUN_SUMMARY.

The run failed

The Actor fails intentionally when input is invalid or all sources fail. This prevents false positive monitoring runs.

Why Use This Instead of a General Job Scraper?

General job scrapers are better when you need every job posting. This Actor is better when you need a compact account-level buying signal with a score, stable IDs, hashes, and source transparency. It is designed for recurring GTM and market-monitoring workflows where a small, explainable dataset is more useful than a large raw job feed.