VOOZH about

URL: https://apify.com/zentrafoundry/job-posting-signal-normalizer

โ‡ฑ Normalize Job Scraper Results and Detect Hiring Signals ยท Apify


Pricing

Pay per event

Go to Apify Store

Job Posting Signal Normalizer

Normalize job datasets and detect hiring signals.

Pricing

Pay per event

Rating

0.0

(0)

Developer

๐Ÿ‘ Zentra

Zentra

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 minutes ago

Last modified

Share

Normalize Schema Org Jobposting, Greenhouse Job Board Api, Lever Postings Api and return hiring-signal rows with company, role, skills, seniority, remote type, and change state.

Who this is for

Recruiting, sales intelligence, talent market research, RevOps, and workforce analytics teams use this actor when they need focused job posting signal normalizer output instead of a broad generic scraper or manual checking.

Buyer outcomes

  • Normalize job posting signal normalizer job data across scraper outputs, ATS feeds, or career pages.
  • Prioritize hiring signals with company, role, location, remote type, seniority, skills, change state, confidence, and source URL.
  • Route hiring-signal records into recruiting, sales intelligence, workforce research, CRM, or alerting workflows.

Sources monitored

Inputs

  • sourceMode: use sample for a smoke run or startUrls for job pages, ATS feeds, career pages, or scraper-output URLs.
  • startUrls: job posting, career page, ATS, company hiring, or job scraper dataset URLs.
  • sourceIds: approved job, ATS, scraper, or career-page source identifiers.
  • maxItems: bounded number of normalized job records or job changes to return.
  • sinceLastRun: emit only new or changed job posting states when scheduled.
  • watchlistTerms: company, role, skill, seniority, location, remote type, or department terms.
  • webhookUrl: optional destination for recruiting, sales intelligence, or hiring-signal alerts.

How it transforms the input

  • Input: job scraper dataset, ATS feed, career page, or job posting URL.
  • Transformation: normalize company, role, location, remote type, seniority, department, and skills, then detect posting changes.
  • Output: hiring-signal record with company, job title, skills, seniority, remote type, change type, source URL, and confidence.

Outputs

The actor returns normalized job posting signal records with company, job title, location, remote type, seniority, skills, change type, hiring signal, source URL, and confidence.

Family-specific fields to expect:

  • companyName: Normalized hiring company name.

  • jobTitle: Normalized job title.

  • location: Location or market for the posting.

  • remoteType: Remote, hybrid, onsite, or unknown state.

  • seniority: Junior, mid, senior, executive, or unspecified seniority.

  • skills: Detected skill keywords or role capabilities.

  • hiringSignal: Signal classification, such as posting-observed, new-posting, or role-change.

  • changeType: Observed job posting state change.

  • sourceUrl: Source-backed job posting or dataset URL.

  • detectedAt: Timestamp when the hiring signal was detected.

  • recordId: Stable record ID for exports, dedupe, and downstream joins.

  • title: Human-readable record title for review and export.

  • sourceName: Source identifier used to trace where the record came from.

  • sourceUrl: Direct source URL for review and audit.

  • dedupeKey: Stable key used for delta mode and duplicate suppression.

  • retrievedAt: Timestamp showing when the actor retrieved or generated this record.

  • score: Normalized field for filtering, routing, or downstream review.

  • scoreReasons: Buyer-readable explanation for the score or match.

  • confidence: Normalized field for filtering, routing, or downstream review.

  • errors: Normalized field for filtering, routing, or downstream review.

  • runSummary: Run-level summary for counts, filters, charges, and next actions.

Pricing

This actor uses Apify pay-per-event pricing. Current public listing guidance: $29-$49 / 1,000 launch validation records until public data proof is complete. Charges are tied to buyer-visible value events such as job-normalized, job-change-detected, dataset-processed, record-saved, enriched-record. Small validation runs are supported so you can inspect output before scaling a schedule.

  • job-normalized: Charge after producing one normalized job row. Typical price: $0.005. A run that produces 10 matching records charges only for the matched buyer-value events and remains capped by the run limit.
  • job-change-detected: Charge after producing one job posting change. Typical price: $0.010. A run that produces 10 matching records charges only for the matched buyer-value events and remains capped by the run limit.
  • dataset-processed: Base charge when Job Posting Signal Normalizer writes a non-empty default dataset. Typical price: $0.011. A run that produces 10 matching records charges only for the matched buyer-value events and remains capped by the run limit.
  • record-saved: Charge for each buyer-visible result saved by Job Posting Signal Normalizer. Typical price: $0.003. A run that produces 10 matching records charges only for the matched buyer-value events and remains capped by the run limit.
  • first-run-cap: Recommended first run budget cap. Typical price: $2.000. Start with the default small run, inspect the dataset, then raise maxItems or schedule recurring runs.

API example

curl-X POST "https://api.apify.com/v2/actors/zentrafoundry~job-posting-signal-normalizer/runs"\
+ -H"Authorization: Bearer $APIFY_TOKEN"\
+ -H"Content-Type: application/json"\
+ -d'{"maxItems":10,"sourceIds":["SCHEMA-ORG-JOBPOSTING","GREENHOUSE-JOB-BOARD-API","LEVER-POSTINGS-API"],"includeSourceUrls":true,"includeMatchReasons":true,"outputMode":"buyer-ready-records"}'

Recommended first run

{
"maxItems":10,
"sourceIds":[
"SCHEMA-ORG-JOBPOSTING",
"GREENHOUSE-JOB-BOARD-API",
"LEVER-POSTINGS-API"
],
"includeSourceUrls":true,
"includeMatchReasons":true,
"outputMode":"buyer-ready-records"
}

Sample output

Sample status: sample_unavailable at https://zentra.nimblique.studio/external/actor-review/samples/job-posting-signal-normalizer.json. No fake sample is published; run a bounded real sample refresh before using examples in promotion.

Recommended public tasks

[
{
"name":"Normalize 10 job postings",
"description":"Low-cost validation run for checking company, role, skill, seniority, remote type, and source fields.",
"input":{
"maxItems":10,
"sourceIds":[
"SCHEMA-ORG-JOBPOSTING",
"GREENHOUSE-JOB-BOARD-API",
"LEVER-POSTINGS-API"
],
"includeSourceUrls":true,
"includeMatchReasons":true,
"outputMode":"buyer-ready-records",
"actorSlug":"job-posting-signal-normalizer"
}
},
{
"name":"Daily hiring signal check",
"description":"Recurring batch for job posting changes, role trends, and hiring signals.",
"schedule":"Daily during local business hours",
"input":{
"maxItems":25,
"sourceIds":[
"SCHEMA-ORG-JOBPOSTING",
"GREENHOUSE-JOB-BOARD-API",
"LEVER-POSTINGS-API"
],
"includeSourceUrls":true,
"includeMatchReasons":true,
"outputMode":"buyer-ready-records",
"actorSlug":"job-posting-signal-normalizer"
}
}
]

Use cases

  • Normalize job posting signal normalizer job postings into consistent company, role, location, skill, and seniority fields.
  • Send hiring-signal records into recruiting, sales intelligence, or market research workflows.
  • Detect new, changed, or removed postings with source evidence and confidence.
  • Schedule recurring checks for hiring momentum and role-family changes.

Trust and compliance

  • Uses Schema Org Jobposting, Greenhouse Job Board Api, Lever Postings Api.
  • Keeps source URLs and source identifiers in output records for auditability.
  • Does not require private credentials unless a source is explicitly configured for approved authenticated access.

Limitations

  • Results depend on public-source availability, source uptime, and source update cadence.
  • Public sources can revise records after publication; rerun scheduled tasks for fresh evidence.
  • Scores and match reasons are decision-support signals, not legal, financial, procurement, medical, safety, or regulatory advice.
  • Large production runs can cost more than the default smoke run; start small, inspect output, then scale schedules.

FAQ

Can I run this without URLs? Yes. The default sample mode is designed to succeed without user-supplied URLs, and URL-backed runs can use startUrls when needed.

Can I schedule it? Yes. Use sinceLastRun, watchlistTerms, and optional webhookUrl to turn the actor into a recurring alert or report workflow.

How do I verify value before scaling? Run the recommended first-run input, review the sample output fields, then increase maxItems or schedule recurring runs after the dataset matches your use case.

You might also like

Job Posting Lead Finder | $3/1K | Lead Score, Hiring Signal

apivault_labs/apify-actor-job-leads

Find companies actively hiring across Indeed, LinkedIn Jobs, and Glassdoor. Extract job titles, salaries, locations, and company names. Auto-deduplication by company. Companies posting jobs = companies with budget = your best leads. $3 per 1,000 results.

54

BuiltIn.com Tech Companies & Tech Stack Scraper

haketa/builtin-tech-companies-scraper

Built In scraper & API: export tech companies and startups by city and industry โ€” company name, description, website, industry, size, funding stage, tech stack and open jobs. Tech-company intelligence and B2B lead generation โ€” fast, no login.

Job Posting Drift Intelligence Actor

muhammad-bilal/job-posting-drift-intelligence-actor

Job Posting Drift Intelligence monitors job listings over time and detects meaningful changes like salary updates, remote/onsite shifts, seniority inflation, and requirement changes. Turn static job posts into actionable job lifecycle intelligence

๐Ÿ‘ User avatar

Muhammad Bilal

3

5.0

(1)

LinkedIn Hiring Tracker & Salary Intelligence

scrapemint/linkedin-jobs-scraper

Track LinkedIn hiring in real time. Every job row ships parsed salary range, tech stack, seniority tier, and remote type. Filter by keyword, location, experience, and post date. For comp researchers, recruiters, and M&A scouts. JSON. Pay per job.

LinkedIn Jobs Scraper | $3/1K | No Login (Real-Time)

apivault_labs/linkedin-jobs-scraper

Scrape LinkedIn Jobs in real-time โ€” title, company, location, job type, description. No login, no API key required.

24

Instagram Content Scraper - Posts + Reels [NO LOGIN] โœ…

unseenuser/IG-posts

Scrape every public Instagram post AND reel from any profile in one run. Get captions, likes, comments, plays, video URLs, carousel images, and verified status. No login, no cookies. Built for influencer research, content strategy, and brand monitoring.

6

5.0

(3)

Hiring-Signal & Job-Postings Intel - ATS, Surge, Tech Stack

seibs.co/hiring-signal-intel

Live job-postings intel from public ATS endpoints (Greenhouse, Lever, Ashby, Workday & more). Normalized postings plus a hiring-signal engine: net-new roles, role-count deltas, dept expansion, surge flags, and JD tech-stack detection. For B2B sales, recruiting, and alt-data. Public data only.

Jobs Scraper โ€” Greenhouse, Lever, Workday, Ashby & Remote

sashaebashu/job-postings-scraper

Scrape jobs from Greenhouse, Lever, Workday, Ashby, Recruitee, SmartRecruiters + remote boards. Titles, departments, locations, dates. Hiring-signal data.

TotalJobs UK (/w EMAILS) [only $2/1k] Scraper ยท Jobs/Salary/Geo

memo23/totaljobs-scraper

[only $2] Map the UK job market from TotalJobs.com โ€” 44,490+ postings across 1,780+ listing pages. Each row carries title, employer + logo, location + lat/lng, parsed salary band (min/max/currency/period), dates, and employment type. One outputrecord per job.

๐Ÿ‘ User avatar

Muhamed Didovic

23

5.0

(1)