Company Career Page Scraper avatar

Company Career Page Scraper

Pricing

from $1.20 / 1,000 results

Go to Apify Store
Company Career Page Scraper

Company Career Page Scraper

Give it any company URL - it finds the career page, detects the ATS and pulls every open role from the source: Greenhouse, Lever, Ashby, Workday, Oracle HCM, SmartRecruiters, Workable. 33 fields with the real apply URL, posting date and filters, plus AI-extracted skills and salary.

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

7

Bookmarked

387

Total users

31

Monthly active users

18 hours ago

Last modified

Share

๐Ÿข Company Career Page Scraper

Give it any company URL โ€” it finds the career page, detects the applicant tracking system, and pulls every open role straight from the ATS, then uses AI to enrich each record with structured skills, requirements, responsibilities and more.

Jobs come from the source, not from an aggregator. That means the canonical apply URL, the true first-published date, and real remote/employment-type fields rather than values inferred from a job board's listing text.

No configuration needed. No manual career page URLs. Just company homepages in, structured job data out.

โœจ Features

  • ๐Ÿ” Automatic Career Page Discovery โ€” Finds career pages from any company homepage using ATS detection, common path heuristics, sitemap scanning, and link crawling. No need to find career URLs yourself.
  • ๐Ÿ”Œ Built-in ATS Adapters โ€” Native support for Greenhouse, Lever, Ashby, Workday, and Oracle HCM. Extracts directly from their APIs for maximum speed and reliability.
  • ๐Ÿค– AI-Powered Enrichment โ€” Every job is enriched using OpenAI to extract structured skills, requirements, responsibilities, benefits, and salary from raw descriptions.
  • ๐Ÿ“ Smart Location Parsing โ€” Automatically normalizes locations into city, country, and remote status (yes/no/hybrid).
  • ๐ŸŽฏ Seniority Detection โ€” Detects seniority level (Intern โ†’ Junior โ†’ Mid โ†’ Senior โ†’ Staff โ†’ Lead โ†’ Executive) from job titles.
  • ๐ŸŽฏ Real Filters โ€” Filter by keyword, location, workplace type, employment type and posting date. These read fields the ATS actually publishes, so they filter rather than merely appear to.
  • ๐Ÿ“‹ Honest Reporting โ€” Companies that cannot be resolved to a career page are named in the log and in RUN_SUMMARY, with every discovery route that was tried. You are never charged for a company we failed to resolve.
  • โšก Fast & Efficient โ€” ATS adapters pull from JSON APIs, not HTML scraping. Most companies complete in seconds.

๐Ÿ› ๏ธ How It Works

  1. Provide company URLs โ€” Homepages like https://stripe.com or direct career page URLs like Oracle HCM (https://*.oraclecloud.com/hcmUI/CandidateExperience/...)
  2. Automatic discovery โ€” The scraper finds the career page and identifies the ATS platform
  3. Job extraction โ€” All open positions are extracted using the optimal adapter, then filtered
  4. AI enrichment โ€” Each job description is analyzed by AI to extract structured fields
  5. Get your data โ€” Clean, normalized JSON with 33 fields per job, identical across every ATS

๐Ÿ”Œ Supported ATS Platforms

PlatformMethodCoverage
๐ŸŒฟ GreenhouseJSON APIThousands of companies (Figma, Stripe, Airbnb, ...)
๐Ÿ—๏ธ AshbyJSON APIFast-growing startups (Notion, Ramp, ...)
๐ŸŽฏ LeverJSON APIMid-market tech (Netflix, Navan, ...)
๐Ÿ’ผ WorkdayHTML + APIEnterprise (Amazon, Walmart, Visa, ...)
โ˜๏ธ Oracle HCMREST APIEnterprise (WM, Ford, DTCC, Nokia, ...)
๐Ÿงฉ SmartRecruitersJSON APIEnterprise & mid-market (Canva, Visa, Ubisoft, ...)
๐Ÿ“ฆ WorkablePublic indexSMB & scale-ups โ€” 168,000+ live roles
๐Ÿ“ฃ RadancyJSON + JSON-LDLarge employers on their own domain (Chipotle, Kaiser Permanente, Sysco, Intuit, Wegmans)

More adapters coming: iCIMS, Taleo, Teamtailor, BambooHR, Personio, and others.

How companies are resolved

Each company is put through six routes, all free. An ATS board always wins over a plain career page โ€” the search keeps going until it finds a board it can read, and only falls back to a page if none exists:

  1. The URL you supplied is already an ATS board URL
  2. ATS links found in the homepage HTML
  3. Guessing the board token from the domain, checked against the board's own name
  4. Common career paths (/careers, /jobs, jobs.<domain>, ...)
  5. Sitemap scanning and link crawling
  6. Lookup in Workable's public cross-company index, matched on the company's own website domain

Routes 3 and 6 are ordered deliberately. Guessing the token early matters because a company can have a perfectly readable board behind a careers page that shows nothing machine-readable. The Workable index runs last because it is the only step with a third-party rate limit.

Where a vendor publishes the board's company name, a guessed token is checked against it, so you do not receive another company's postings by accident. Ashby publishes no company name anywhere, so an Ashby board matched purely by token is accepted on weaker evidence than the others.

Not every company resolves. Career pages built entirely client-side, and enterprises on tenanted systems, can leave nothing for any route to find. When that happens the company is reported by name with the routes tried, and you are not charged for it โ€” paste the board URL directly and it will work.

๐Ÿค– AI Enrichment โ€” What Makes This Unique

Most job scrapers give you raw HTML and call it a day. This scraper goes further โ€” every job is processed by OpenAI to extract:

FieldDescriptionExample
SkillsTechnical and soft skills mentioned["Python", "React", "Project Management"]
RequirementsQualifications and experience needed["5+ years experience", "BS in Computer Science"]
ResponsibilitiesKey duties and deliverables["Design system architecture", "Mentor junior engineers"]
BenefitsPerks and compensation extras["Health insurance", "401k", "Remote work"]
SalaryCompensation if mentioned"$150,000 - $200,000 per year"

The AI only extracts what's explicitly stated โ€” it never fabricates information. If a field isn't mentioned in the description, it returns empty.

Cost: AI enrichment uses a cost-optimized OpenAI model. A typical run of 1,000 jobs costs less than $0.50 in AI processing.

โš™๏ธ Input Parameters

ParameterTypeDefaultDescription
startUrlsarrayrequiredCompany homepage URLs, or ATS board URLs directly
maxJobsPerCompanyinteger200Maximum job listings per company
keywordsarray[]Keep only jobs whose title, department or team contains any of these
locationstring""Keep only jobs whose location matches this text
workplaceTypearray[]remote, hybrid and/or on-site
employmentTypearray[]e.g. Full-time, Contract, Internship
postedAfterstring""ISO date โ€” keep only jobs first published on or after it
enrichWithAIbooleantrueTurn off for a faster run returning raw ATS fields only

Filters combine with AND. A job whose ATS does not publish a filtered field is kept, not dropped โ€” "this ATS does not say" is not the same answer as "no".

Input Example

{
"startUrls": [
{ "url": "https://www.notion.so" },
{ "url": "https://www.figma.com" },
{ "url": "https://emcm.fa.us2.oraclecloud.com/hcmUI/CandidateExperience/en/sites/WMCareers/jobs" }
],
"maxJobsPerCompany": 50,
"keywords": ["engineer"],
"workplaceType": ["remote"]
}

๐Ÿ“Š Output Example

Each job is a fully normalized JSON record with 33 fields, identical across every ATS:

{
"companyDomain": "notion.so",
"companyName": "Notion",
"source": "ashby",
"careersUrl": "https://jobs.ashbyhq.com/notion",
"jobId": "ashby-34664867-7190-479c-8a8c-2a9612b532ea",
"title": "Senior Stock Plan Administrator",
"atsBoardToken": "notion",
"location": "San Francisco, California",
"locationCity": "San Francisco",
"locationRegion": "California",
"locationCountry": "United States",
"remote": "unknown",
"employmentType": "Full-time",
"department": "Legal",
"team": "Legal",
"seniority": "Senior",
"requisitionId": "1334",
"postedAt": "2026-02-05T22:23:45.355+00:00",
"updatedAt": "2026-07-22T05:37:08-04:00",
"jobUrl": "https://jobs.ashbyhq.com/notion/34664867...",
"applyUrl": "https://jobs.ashbyhq.com/notion/34664867.../application",
"skills": [
"Equity compensation administration",
"CEP designation",
"Knowledge of equity plan types",
"Securities regulations",
"Equity administration software",
"Project management"
],
"requirements": [
"8+ years of experience in equity compensation administration",
"Current or prior CEP designation"
],
"responsibilities": [
"Administer all aspects of equity compensation programs",
"Maintain accurate records of all equity grants",
"Ensure compliance with SEC regulations",
"Prepare equity compensation reports for leadership"
],
"benefits": [],
"salary": "$200,000 - $240,000 per year",
"salaryMin": 200000,
"salaryMax": 240000,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"descriptionText": "...",
"descriptionHtml": "...",
"scrapedAt": "2026-02-08T09:13:46.981Z"
}

๐Ÿ’ก Use Cases

  • Recruiting Intelligence โ€” Monitor competitors' hiring to understand their strategy and growth areas
  • Job Market Research โ€” Analyze skill demand, salary trends, and location patterns across industries
  • Lead Generation โ€” Identify companies actively hiring for specific roles or technologies
  • HR Tech & Job Boards โ€” Aggregate listings from thousands of companies into a single feed
  • Investment Research โ€” Track hiring velocity as a signal for company growth and health
  • Academic Research โ€” Study labor market trends, skill requirements, and employment patterns at scale

๐Ÿงพ Run Summary

Every run writes a RUN_SUMMARY record to the key-value store: how many companies were requested, resolved and missed, which adapter handled each one, how many jobs were filtered out, and the discovery routes tried for anything that failed. A run that resolves nothing fails loudly rather than returning an empty dataset that looks like success.

Start monitoring the job market with Company Career Page Scraper today! ๐Ÿš€