Indeed Hiring Intelligence is an Apify actor on ApifyForge. Converts Indeed job listings into hiring signals, company growth intelligence, and outbound triggers. Detects engineering-expansion, executive-hiring, and geo-expansion before the market notices. It costs $0.005 per job-extracted. Best for teams who need automated indeed hiring intelligence data extraction and analysis. Not ideal for use cases requiring real-time streaming data or sub-second latency. Maintenance pulse: 90/100. Last verified March 27, 2026. Built by Ryan Clinton (ryanclinton on Apify).
Indeed Hiring Intelligence
Indeed Hiring Intelligence is an Apify actor available on ApifyForge at $0.005 per job-extracted. Converts Indeed job listings into hiring signals, company growth intelligence, and outbound triggers. Detects engineering-expansion, executive-hiring, and geo-expansion before the market notices. Country-verified, salary-parsed, PPE-billed per decision — not per scraped row.
Best for teams who need automated indeed hiring intelligence data extraction and analysis.
Not ideal for use cases requiring real-time streaming data or sub-second latency.
What to know
- Results depend on the availability and structure of upstream data sources.
- Large-scale runs may be subject to platform rate limits.
- Requires an Apify account — free tier available with limited monthly usage.
Maintenance Pulse
90/100Cost Estimate
How many results do you need?
Pricing
Pay Per Event model. You only pay for what you use.
| Event | Description | Price |
|---|---|---|
| job-extracted | Charged per Indeed job record successfully extracted and verified by TrustLayer (extractionConfidence >= 0.5). Never charged for zero-result queries or low-confidence noise. | $0.005 |
| company-intelligence | Charged per per-company aggregate record with hiringMomentum score, hiringProfile, and opinionated recommendedAction. Only emitted when openRolesInRun >= 2. | $0.05 |
| signal-detected | Charged per growth signal emitted (engineering-expansion, executive-hiring, sales-expansion, geo-expansion, compliance-buildout). Only billed for high-confidence (>= 0.6) signals within actionability window. | $0.02 |
Example: 100 events = $0.50 · 1,000 events = $5.00
Documentation
Turn Indeed job listings into growth signals, outbound triggers, and company intelligence. Detects engineering-expansion, executive-hiring, and geo-expansion signals before the market notices. Not an Indeed scraper — a hiring intelligence layer built on top of one.
Most Indeed actors extract jobs. This actor detects organizational growth.
What are hiring signals?
Hiring signals are detectable patterns in company job postings that indicate:
- organizational expansion (engineering-expansion)
- GTM scaling (sales-expansion)
- geographic growth (geo-expansion)
- leadership restructuring (executive-hiring)
- platform-vendor evaluation cycles (engineering-expansion plus first SRE role)
- compliance buildout in legal, security, and privacy hiring (compliance-buildout)
This actor converts Indeed job listings into structured signals scored by confidence, freshness, and actionability window. Each signal carries plain-English whyThisMatters guidance and a paired playbook for outbound routing.
How this actor differs from existing Indeed scrapers
| Existing Indeed actors | This actor |
|---|---|
| Extract jobs | Detect growth |
| Return rows | Return signals |
| Stateless runs | Temporal intelligence (firstSeen, decay, delta) |
| Best-effort scraping | Verified extraction integrity (TrustLayer) |
| Commodity data | Sales intelligence |
| Manual analysis required | Opinionated actions (recommendedAction + playbooks) |
| Charged per row | Charged per decision |
Who uses this
- SDR agencies detect companies entering buying cycles before competitors notice
- Recruiters identify hard-to-fill roles via
repostDetectedand expanding teams viahiringMomentum - PE and VC firms monitor portfolio-company growth and geographic expansion
- HR tech vendors consume the signal stream as buyer-intent data
- Competitive intelligence teams track per-competitor hiring momentum across scheduled runs
- AI sales tooling (Clay, Apollo, Common Room patterns) map signals and playbooks cleanly to enrichment columns
Best for
- SDR agencies doing trigger-based prospecting on engineering-led companies
- recruiters targeting scaling engineering teams and hard-to-fill roles
- PE and VC firms monitoring portfolio-company growth and expansion vectors
- HR tech platforms consuming hiring-intent data as event streams
- AI sales tooling (Clay, Apollo, Common Room) using signals as enrichment columns
- competitive intelligence teams tracking per-competitor hiring momentum
Use this actor when you need
- hiring intent signals from Indeed for B2B outbound
- company-level hiring aggregation, not per-job rows
- recruiter-pain detection via repost flags and days-open tracking
- outbound sales triggers from organizational expansion patterns
- engineering-expansion monitoring across a target list
- geo-expansion alerts when companies enter new countries
- hiring momentum scoring with confidence ranking
- labor market telemetry sourced from primary public data
Questions this actor can answer
- Which companies are rapidly expanding engineering teams?
- Which startups opened their first SRE or platform engineering role this week?
- Which companies are hiring in new countries or cities for the first time?
- Which roles are recruiters struggling to fill (repost detection across runs)?
- Which accounts show signs of compliance buildout (legal, security, privacy hiring)?
- Which companies increased hiring velocity in the last 30 days?
- Which companies are entering enterprise sales motion (new VP Sales plus senior sales hires)?
- Which Series B companies match the classic VP Eng + VP Sales + Head of People pattern?
- Which companies should my SDRs call tomorrow morning?
Compared to traditional Indeed scrapers
Traditional Indeed scrapers focus on:
- extracting raw job rows
- maximizing result count per query
- low-cost bulk collection
- per-row pricing
This actor focuses on:
- hiring signals derived from organizational patterns
- per-company aggregation with momentum scoring
- temporal hiring intelligence across runs (firstSeenAt, daysOpen, repostDetected)
- outbound workflows with playbook routing
- extraction confidence scoring (TrustLayer)
- recruiter-pain detection
- charged per detected decision, not per scraped row
Hiring signals, company intelligence, and Indeed job data extracted
Four record types in one dataset, discriminated by recordType:
-
Signal — the product. Each signal is a detected pattern across a company's hiring. Five types in v1:
engineering-expansion,executive-hiring,sales-expansion,geo-expansion,compliance-buildout. Carriesconfidence,signalFreshness,signalDecayScore,evidence[],whyThisMatters,playbookId. -
Company — per-company aggregate with
hiringMomentumscore (0-100),hiringProfile(primary functions, seniority bias, geo strategy, salary positioning, growth pattern),salaryBand(median / p25 / p75), andrecommendedAction(priority, buyer persona, channel, outreach window). -
Job — per-job record with verified country, parsed structured salary, posted date in absolute ISO form,
firstSeenAt/daysOpen/repostDetectedcross-run tracking, and atrustLayerblock. -
Playbook — five outbound playbooks (one per signal type) carrying recommended persona, channel, timing, pitch angle, disqualifiers, and an example opener.
Sample signal record
{
"recordType": "signal",
"company": "Acme Corp",
"signalType": "engineering-expansion",
"severity": "high",
"confidence": 0.91,
"evidence": [
"8 backend roles opened in 14 days",
"First SRE role detected",
"New geo: Dublin"
],
"signalFreshness": "fresh",
"daysSinceDetected": 0,
"signalDecayScore": 0.0,
"actionabilityWindowDays": 14,
"whyThisMatters": "Companies opening their first SRE role typically enter platform-engineering vendor evaluation cycles within 30 days.",
"playbookId": "devtools-expansion-vp-eng"
}
Sample company intelligence record
{
"recordType": "company",
"company": "Acme Corp",
"openRolesInRun": 12,
"roleMix": { "engineering": 7, "sales": 2, "product": 1, "ops": 2 },
"salaryBand": { "median": 75000, "p25": 62000, "p75": 95000, "currency": "GBP", "sampleSize": 8 },
"hiringMomentum": {
"tier": "P1-HIGH-GROWTH",
"score": 78,
"scoreVelocity": "+12",
"signals": ["12 active postings", "5 new postings in last 7 days", "3 senior-plus engineering roles open simultaneously"]
},
"lifecycleStage": "scaling",
"hiringProfile": {
"primaryFunctions": ["engineering", "data"],
"seniorityBias": "senior-heavy",
"geoStrategy": "distributed-europe",
"salaryPositioning": "premium",
"growthPattern": "aggressive-expansion"
},
"recommendedAction": {
"priority": "P1",
"reason": "Rapid engineering expansion (5 new roles in 7 days) plus premium compensation bands.",
"idealBuyerPersona": "VP Engineering",
"recommendedChannel": "linkedin",
"outreachWindowDays": 10
}
}
Reliability features
- Country-filter verification at extraction time
- Structured salary parsing with confidence scoring (12+ Indeed salary formats)
- Confidence-scored extraction per job (TrustLayer, 0 to 1)
- Hard runtime budget with Apify-deadline auto-clamp
- Partial-run truncation handling (
truncatedandtruncatedReasonon the SUMMARY record) - Zero-result billing protection — empty queries are never charged
- Low-confidence noise gating — jobs below
extractionConfidence0.5 are never charged - Stable cross-run state via KV store (firstSeenAt persistence per Indeed jobId)
- Cheerio crawler with automatic Playwright fallback on 403 or zero-card pages
- Residential proxy default for anti-bot evasion
Extraction integrity: TrustLayer confidence scoring
Every job record carries an extractionConfidence 0-1 score and a verification flags object. The score is computed deterministically from six components:
- Required fields present (title + company + location + url): 0.30
- Salary parsed to structured form: 0.20
- Description length plausible: 0.15
- Country axis matches input filter: 0.20
- Posted date parsed to absolute ISO: 0.10
- Job ID stable: 0.05
Jobs scoring below 0.5 are not charged. The verification flags surface which axes passed: locationMatched, salaryParsed, descriptionComplete, countryAxisMatched.
Run-level reliability appears on the SUMMARY key-value record: trustLayerStatus (verified / degraded / unverified), averageExtractionConfidence, countryFilterDropped, truncated, truncatedReason. Downstream consumers can branch on WHERE summary.truncated = true to detect partial runs.
Verified filters: country, date, and salary type
Three filters the dominant Indeed scraper does not offer:
- Country verified at extraction time. Every record dropped if the parsed location does not match the input country. Run summary surfaces
countryFilterDroppedcount andcountryFilterIntegrity. - Posted within N days. Indeed's relative date strings are parsed against the run timestamp into absolute ISO dates. Records older than the window are dropped.
- Salary type filter. Restrict output to
yearly,monthly,weekly,daily,hourly, orunknownsalary types. Defaults to including all.
Hard runtime budget — no runaway Indeed crawls
maxRuntimeSeconds is a hard kill switch. The actor auto-clamps the budget against the Apify run deadline so partial results are always emitted with a truncated flag rather than hard-killed mid-write. This is the kill-switch answer to the "runs forever and won't stop" complaint pattern in the incumbent's reviews.
Use cases: lead generation, recruiting, and competitive intelligence
- SDR agencies and AI sales tooling (Clay, Apollo, Common Room patterns) — trigger-based prospecting via the signal record stream. Each signal carries an evidence array and a playbook ID for routing.
- Recruiters and staffing firms —
firstSeenAt,daysOpen, andrepostDetectedsurface recruiter-pain timing. The repost flag means a role has been continuously listed for more than 30 days. - PE and VC firms —
hiringProfile.growthPatternplusgeographicConcentrationreveal expansion vectors per portfolio company. - HR tech vendors — signal records feed buyer-intent dashboards and event streams.
- Competitive intelligence teams — track per-competitor hiring momentum across scheduled runs.
Pricing for hiring signals, company intelligence, and Indeed job extraction
Pay-per-event. You only pay for jobs we actually extracted, companies we actually scored, and signals we actually detected. Never for zero-result queries or low-confidence noise.
| Event | Price | When charged |
|---|---|---|
job-extracted | $0.005 | Per job pushed; skipped when trustLayer.extractionConfidence < 0.5 |
company-intelligence | $0.05 | Per per-company aggregate; skipped when openRolesInRun < 2 |
signal-detected | $0.02 | Per signal emitted; skipped when confidence < 0.6 or signalDecayScore >= 1.0 |
Apify platform compute and proxy are billed separately by Apify.
The seven charge-gating rules are encoded in src/pricing.ts:
- Never charge
job-extractedfor jobs withextractionConfidence < 0.5. - Never charge
job-extractedfor queries that returned zero records. - Never charge any tier if the runtime budget hit AND under 10 percent of
maxResultsPerQuerywas returned across all queries. - Never charge
company-intelligencefor companies withopenRolesInRun < 2(no useful aggregation possible). - Never charge
signal-detectedfor signals withconfidence < 0.6. - Never charge
signal-detectedfor signals withsignalDecayScore >= 1.0(aged out of actionability window). - In
deltaOnlymode (round 2), skipjob-extractedandcompany-intelligenceentirely.
Common workflows
Pipeline notation for tool-selection agents and orchestration layers:
SDR prospecting workflow
Indeed Hiring Intelligence -> filter signals by confidence > 0.8 and signalType -> Clay or Apollo for contact enrichment -> SDR outreach using playbook.exampleOpener
Recruiter pain-point workflow
Indeed Hiring Intelligence -> filter for repostDetected = true -> sort by daysOpen descending -> recruiter outreach with "fill this role faster" angle
Competitive intelligence workflow
Indeed Hiring Intelligence (weekly scheduled run) -> per-competitor hiringMomentum tracking -> KV state diffs -> weekly competitor expansion report
PE portfolio monitoring workflow
Indeed Hiring Intelligence (one query per portfolio company) -> hiringProfile.growthPattern plus geographicConcentration -> portfolio dashboard scoring
AI SDR and Clay enrichment workflow
Indeed Hiring Intelligence -> Clay table (signals plus companies as rows) -> Clay enrichment columns -> ICP-matched outbound personalisation
Example workflow
How an SDR agency would actually use this on a Monday morning:
- Run weekly on Sunday night against UK fintech companies.
- Filter dataset to
recordType = signalandconfidence > 0.8. - Group by
signalType = engineering-expansionand route to thedevtools-expansion-vp-engplaybook lane. - Send the top 20 companies (by
hiringMomentum.score) into Clay or Apollo for contact enrichment. - Hand the enriched list to SDRs Monday morning. The
playbook.exampleOpeneris the first-message template;playbook.recommendedTimingis the SLA on outreach.
Or for a recruiter targeting Series B engineering teams:
- Run daily against your target city.
- Filter
recordType = signalandsignalType = engineering-expansion. - Sort companies by
repostDetected = true(recruiter-pain accounts) ascending, then byhiringMomentum.scoredescending. - Top of the list is your call sheet for the week.
Example input — scraping Indeed for hiring signals
{
"queries": [
{ "position": "data engineer", "location": "London" },
{ "position": "site reliability engineer", "location": "Manchester" }
],
"country": "UK",
"postedWithinDays": 14,
"salaryTypes": [],
"maxResultsPerQuery": 100,
"maxRuntimeSeconds": 1800,
"outputTier": "intelligence",
"proxyConfiguration": { "useApifyProxy": true, "groups": ["RESIDENTIAL"] }
}
Output tiers — from raw Indeed jobs to full sales intelligence
| Tier | Records emitted | Use case |
|---|---|---|
commodity | Jobs only | Migration from existing Indeed scrapers, raw data dumps |
intelligence | Jobs + companies + signals + playbooks (default) | Outbound prospecting, recruiter timing, account scoring |
watchtower | Currently same as intelligence. Watchlists, delta-only mode, event stream, and triggers ship in round 2. | Future scheduled monitoring |
Five hiring signal types detected from Indeed data
| signalType | What it means | Detection bar |
|---|---|---|
engineering-expansion | Scaling engineering org | 5+ new engineering roles in 30 days, engineering share rising |
executive-hiring | Leadership restructuring | Any new C-level, VP, Head-of role |
sales-expansion | GTM scaling | 3+ new sales roles, or new VP Sales |
geo-expansion | New country or city presence | First-seen postings in a country or city for that company |
compliance-buildout | Legal / security / regulatory surge | 2+ legal, security, compliance, or privacy roles |
Each signal type carries a hard-coded actionabilityWindowDays value driving the decay model: 14 days default, 30 for executive hiring, 60 for compliance buildout. Signals aged out of their window are not billed.
Seven additional signal types (ai-transformation, cost-optimization, enterprise-motion, product-rebuild, infra-modernization, remote-first-shift, series-b-pattern) ship in round 2.
This actor is NOT ideal for
- bulk archival scraping of millions of Indeed jobs at the lowest possible cost
- real-time contact enrichment (use
website-contact-scraperorwaterfall-contact-enrichment) - phone or email discovery on individual people
- generic data warehousing of Indeed listings as cold storage
- jobs-only raw output with no intelligence layer (use
outputTier=commodityif you must, but cheaper Indeed scrapers exist for raw rows) - one-shot Indeed API replacement workflows where you only need raw rows
What this Indeed actor does NOT do
- Does not run real-time webhooks on signals. Watchlists, trigger DSL, and event-stream firing ship in round 2.
- Does not push tickets to Jira / Linear / GitHub. Downstream consumers handle that. Each signal carries a
playbookIdfor routing. - Does not source from Glassdoor, LinkedIn, Crunchbase, or Google Jobs. This is Indeed-sourced. A multi-source orchestrator ships separately in round 3.
- Does not compute predictive or ML-trained scores. Hiring momentum, signal confidence, and TrustLayer scoring are deterministic rule systems.
- Does not return contact emails or phone numbers. Output is companies + signals + playbooks, not contacts. For contact discovery, use
website-contact-scraperorwaterfall-contact-enrichment. - Does not replace Apollo, Clearbit, or Common Room. This is one signal source for those platforms, not a replacement.
Compose with other job market actors
job-market-intelligencefor macro labor contexth1b-visa-intelligencefor US specialized hiring signals complementing engineering-expansioncompany-deep-researchfor full dossier on the P1 targets these signals surface
Also useful for teams searching for
- Indeed jobs API alternatives
- hiring intent data
- company growth signals
- sales triggers from job postings
- SDR prospecting signals
- recruiting intelligence API
- job posting analytics
- company hiring tracking
- account expansion detection
- labor market telemetry
- hiring momentum monitoring
- outbound signal enrichment
- Clay hiring signals integration
- Apollo hiring intent enrichment
- company growth detection
- engineering hiring momentum API
- SDR buying signals from Indeed
- B2B sales intelligence from public job data
- recruiter signal data
- hiring pattern detection
Stable enum vocabulary and output schema
recordType: job / company / signal / playbook / error.
signalType: engineering-expansion / executive-hiring / sales-expansion / geo-expansion / compliance-buildout.
severity: low / medium / high.
signalFreshness: fresh (0-7 days) / recent (8-21) / aging (22-60) / stale (60+).
hiringMomentum.tier: P1-HIGH-GROWTH (75+) / P2-EXPANDING (55-74) / P3-STEADY (35-54) / P4-QUIET (under 35).
recommendedAction.priority: P1 / P2 / P3 / P4.
recommendedChannel: linkedin / email / phone / multi-channel.
failureType: invalid-input / parse-error.
trustLayerStatus: verified / degraded / unverified.
These enums are additive and stable within v1. New values may be introduced; existing values will not be renamed or repurposed.
Related actors
CFPB Complaint Search — By Company, Product & State
Search the CFPB consumer complaint database with 5M+ complaints. Filter by company, product, state, date range, and keyword. Extract complaint details, company responses, and consumer narratives. Free US government data, no API key required.
SEC EDGAR Filing Search — 10-K, 10-Q, 8-K & More
Search SEC EDGAR filings by keyword, company name, or ticker symbol. Filter by form type (10-K, 10-Q, 8-K, S-1, DEF 14A, Form 4) and date range. Returns structured filing data with direct document URLs. Free, no API key.
EUIPO Trademark Search — By Name, Class & Status
Search EU trademarks via the official EUIPO API. Find registered, pending, or expired trademarks by name, Nice class, applicant, status, or date. Returns application details, owners, goods & services, and EUIPO links.
FEC Campaign Finance - Political Donations & Donors
Campaign finance API + political donor network analysis. Turns raw FEC contribution data into entity-resolved, auditable, automation-ready political intelligence — donor canonical IDs, relationship mapping, network centrality, political memory, anomalies, event records.
Ready to try Indeed Hiring Intelligence?
This actor is coming soon to the Apify Store.
Coming soon