Public Job Postings Scraper avatar

Public Job Postings Scraper

Pricing

from $2.00 / 1,000 scraped results

Go to Apify Store
Public Job Postings Scraper

Public Job Postings Scraper

Track the latest job openings from top technology companies using Greenhouse and Lever ATS platforms. This Actor automatically collects active job postings from leading companies like Stripe, Figma, Coinbase, Discord, Netflix, Spotify, Palantir, and Robinhood. Filter results by job title keyword.

Pricing

from $2.00 / 1,000 scraped results

Rating

0.0

(0)

Developer

Data Pilot

Data Pilot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

๐Ÿ’ผ Public Job Postings Scraper is a powerful Apify Actor designed to discover, track, and collect live Public Job listings directly from company career pages via the Greenhouse and Lever applicant tracking systems (ATS). This tool provides comprehensive Public Job intelligence including titles, locations, departments, posting dates, and full job descriptions. Whether you're building a job board, tracking hiring trends, or monitoring company growth, the Public Job Postings Scraper delivers actionable Public Job insights efficiently.

With multi-ATS integration across Greenhouse and Lever, keyword and location filtering, and reliable Apify Dataset delivery, the Public Job Postings Scraper ensures comprehensive Public Job discovery across a curated list of companies. It focuses on key Public Job signals including job title, department, location, and posting date, making it an essential tool for hiring research and talent market intelligence.


๐Ÿ“‹ Table of Contents


๐Ÿ”ฅ Features

  • Greenhouse Integration โ€“ Direct integration with the Greenhouse Job Board API.
  • Lever Integration โ€“ Direct integration with the Lever Postings API.
  • Multi-Company Coverage โ€“ Aggregates Public Job listings from a curated set of companies including Figma, Discord, Coinbase, Palantir, Stripe, Robinhood, Netflix, and Spotify.
  • Keyword Filtering โ€“ Filter Public Job results by title keyword.
  • Location Filtering โ€“ Filter by location, with smart matching for "US"/"USA"/"United States" including common remote and city terms.
  • HTML-Cleaned Descriptions โ€“ Automatically strips HTML tags and entities from job descriptions.
  • Department Extraction โ€“ Captures department or team for each posting.
  • Posting Date Tracking โ€“ Records when each job was posted or last updated.
  • Direct Job URLs โ€“ Provides direct links to each job posting.
  • Per-Company Limiting โ€“ Configurable maximum jobs returned per company.
  • Residential Proxy Support โ€“ Apify residential proxy for reliable, uninterrupted access.
  • Real-Time Dataset Push โ€“ Pushes results to Apify Dataset with metadata.
  • Detailed Logging โ€“ Comprehensive logging of per-company progress and match counts.
  • Asyncio-Friendly โ€“ Non-blocking async/await architecture with httpx.
  • Graceful Error Handling โ€“ Skips a failing company's ATS without stopping the whole run.

๐Ÿ“Š Data Sources

1. Greenhouse Job Board API

  • Endpoint: boards-api.greenhouse.io/v1/boards/{token}/jobs
  • Coverage: Companies using Greenhouse as their ATS
  • Data: Job title, location, departments, full HTML content, last-updated timestamp
  • Access: Public, no authentication required

2. Lever Postings API

  • Endpoint: api.lever.co/v0/postings/{slug}
  • Coverage: Companies using Lever as their ATS
  • Data: Job title, location, team/department, plain-text or HTML description, creation timestamp
  • Access: Public, no authentication required

Included Companies

CompanyATS
FigmaGreenhouse
DiscordGreenhouse
CoinbaseGreenhouse
PalantirLever
StripeGreenhouse
RobinhoodGreenhouse
NetflixLever
SpotifyLever

โš™๏ธ How It Works

The Public Job Postings Scraper loops through a configured list of companies, each tagged with its ATS type (Greenhouse or Lever). For Greenhouse companies, it queries the Job Board API using the company's board token. For Lever companies, it queries the Postings API using the company's slug. Each returned job is normalized into a common structure, HTML is stripped from descriptions, and keyword/location filters are applied. Matching jobs are collected across all companies and pushed to the Apify Dataset in a single batch.

Key Processing Steps:

  1. Input Parsing โ€“ Accept keyword filter, location filter, and per-company job limit
  2. Proxy Setup โ€“ Configure Apify residential proxy
  3. Company Loop โ€“ Iterate through each configured company
  4. Greenhouse Query โ€“ Fetch jobs via the Job Board API for Greenhouse companies
  5. Lever Query โ€“ Fetch jobs via the Postings API for Lever companies
  6. HTML Stripping โ€“ Clean job description content of tags and entities
  7. Keyword Filtering โ€“ Match job titles against the keyword filter
  8. Location Filtering โ€“ Match job locations against the location filter, with US-term expansion
  9. Per-Company Limiting โ€“ Truncate results to the configured maximum
  10. Dataset Push โ€“ Push combined matching jobs in a single batch
  11. Summary Logging โ€“ Report per-company and total match counts

Key Benefits:

  • Monitor Public Job openings across multiple companies from one run
  • Track hiring trends and department growth
  • Filter down to only the roles and locations that matter
  • Build a talent-market dataset without visiting each career page manually
  • Re-run on a schedule to catch newly posted roles

๐Ÿ“ฅ Input

The Actor accepts the following input parameters:

FieldTypeDefaultDescription
keyword_filterstring""Only include Public Job postings whose title contains this keyword
location_filterstring""Only include postings matching this location (supports "US"/"USA"/"United States" expansion)
max_jobs_per_companyinteger0Maximum jobs returned per company (0 = no limit)
useApifyProxybooleantrueEnable Apify residential proxies
apifyProxyGroupsarray["RESIDENTIAL"]Proxy group configuration

Example Input:

{
"keyword_filter": "engineer",
"location_filter": "US",
"max_jobs_per_company": 20
}

Search for Remote Design Roles:

{
"keyword_filter": "design",
"location_filter": "remote"
}

๐Ÿ“ค Output

The Actor pushes Public Job records with the following structure:

FieldTypeDescription
companystringName of the hiring company
sourcestringATS the job was sourced from (greenhouse or lever)
titlestringJob title
locationstringJob location as listed by the company
departmentstringDepartment or team the role belongs to
posted_atstringISO 8601 date the job was posted or last updated
job_urlstringDirect link to the job posting
descriptionstringFull job description, HTML-stripped
scraped_atstringISO 8601 timestamp of when the job was scraped

Example Public Job Record:

{
"company": "Stripe",
"source": "greenhouse",
"title": "Senior Backend Engineer, Payments",
"location": "San Francisco, CA",
"department": "Engineering",
"posted_at": "2026-07-18T09:32:00Z",
"job_url": "https://job-boards.greenhouse.io/stripe/jobs/1234567",
"description": "We're looking for a Senior Backend Engineer to join our Payments team...",
"scraped_at": "2026-07-25T12:00:00Z"
}

๐Ÿงฐ Technical Stack

  • APIs: Greenhouse Job Board API, Lever Postings API
  • HTTP Client: httpx for async HTTP requests
  • HTML Cleaning: regex + html.unescape for description sanitization
  • Date Parsing: datetime with timezone-aware UTC timestamps
  • Filtering: Custom keyword and location matching logic
  • Async: asyncio for non-blocking, multi-company fetching
  • Proxy: Apify Proxy with RESIDENTIAL configuration
  • Logging: Apify Actor logging system
  • Platform: Apify Actor serverless environment

๐Ÿ“Š Data Fields Explained

Job Identification

  • title: The role's job title
  • job_url: Direct link to apply or view the posting
  • source: Which ATS the listing came from

Company Context

  • company: The hiring company's name
  • department: Team or department the role sits in

Location & Timing

  • location: Where the role is based (or remote)
  • posted_at: When the job was posted or last updated
  • scraped_at: When the Actor captured the listing

Content

  • description: Full plain-text job description

๐ŸŽฏ Use Cases

  • Talent Market Research โ€“ Track Public Job openings across major tech employers
  • Hiring Trend Analysis โ€“ Monitor which departments and roles are growing
  • Competitor Intelligence โ€“ See where competitors are actively hiring
  • Job Board Aggregation โ€“ Power a niche job board with live listings
  • Recruiting Prospecting โ€“ Identify companies actively hiring for specific roles
  • Location-Based Search โ€“ Filter for remote or region-specific roles
  • Academic/Labor Research โ€“ Build datasets on hiring patterns over time

๐Ÿš€ Quick Start

1. Prepare Input

Go to Apify Console and enter:

{
"keyword_filter": "product manager",
"location_filter": "US"
}

2. Run the Actor

Click Start. The Actor will:

  • Query Greenhouse for each Greenhouse-listed company
  • Query Lever for each Lever-listed company
  • Clean and filter job postings
  • Push matching results to the Dataset

3. Monitor Progress

Console shows:

Initializing Scraper for Keyword: 'product manager' | Location: 'US'
[Greenhouse] Searching jobs for Figma...
-> Figma: 3 matching job(s) found.
[Lever] Searching jobs for Palantir...
-> Palantir: 5 matching job(s) found.
Done! Saved 27 matching job postings to Apify Dataset.

4. View & Download Results

  • Results Tab: All Public Job records
  • Export: JSON, CSV, Excel, or HTML
  • Filter: By company, department, or location
  • API Access: Available via the Apify API

โš™๏ธ Configuration

Broad search, no filters:

{}

Keyword only:

{
"keyword_filter": "data scientist"
}

Location only, capped results:

{
"location_filter": "New York",
"max_jobs_per_company": 10
}

๐Ÿ“ˆ Performance

Processing Speed

  • Fast per-company requests with a short delay between companies
  • Single API call per company (no pagination overhead)
  • Filtering applied in-memory after each fetch

Resource Usage

  • Memory: Low, proportional to total jobs returned
  • Network: One request per company per run
  • API calls: 8 requests total across the default company list

๐Ÿ’ฐ Billing

Batch Billing

  • Billing Model: Batch push (not per-job PPE)
  • Typical Cost: Single operation across all configured companies
  • Efficiency: High efficiency, low-resource processing

โš ๏ธ Important Notes

  • Fair Use: Respects each ATS provider's public API and rate limits
  • Public Data Only: Extracts only publicly listed job postings
  • Accuracy: Data as recorded on each company's careers page
  • Verification: Verify details on the original job posting before applying or reporting on it
  • Legal: Not legal advice โ€” consult counsel regarding data reuse policies

Data Quality

  • Freshness: Reflects live ATS data at time of run
  • Completeness: Dependent on what each company publishes via their ATS
  • Accuracy: Sourced directly from official Greenhouse/Lever APIs
  • Verification: Cross-check against the live job board when precision matters

Best Practices

  • Use keyword_filter and location_filter together to narrow noisy results
  • Set max_jobs_per_company to keep runs fast and predictable
  • Re-run periodically to catch newly posted roles
  • Extend the company list with additional Greenhouse/Lever tokens as needed
  • Respect each company's careers page Terms of Service

๐Ÿ“ฆ Changelog

v1.0.0 (July 2026)

Initial Release:

  • Greenhouse Job Board API integration
  • Lever Postings API integration
  • Multi-company aggregation across 8 default companies
  • Keyword-based title filtering
  • Location filtering with US-term expansion
  • HTML stripping and description cleanup
  • Department and posting-date extraction
  • Per-company job limiting
  • Apify residential proxy support
  • Real-time Dataset push
  • Per-company error handling and logging
  • Asyncio + httpx async architecture

๐Ÿง‘โ€๐Ÿ’ป Support & Feedback

  • Issues: Submit via Apify console with the filters used
  • Documentation: Check the Actor details page
  • Community: Apify forum discussions
  • Feature Requests: Suggest additional companies or ATS providers to support
  • Bug Reports: Include the filters and error details

Terms of Use:

  • Use for legitimate hiring and market research
  • Respect each ATS provider's Terms of Service
  • Don't republish full job postings without permission
  • Use data responsibly

Disclaimer: Public Job Postings Scraper is provided as-is for research purposes. Users are responsible for compliance with each source's ToS. This is not legal advice.


๐ŸŽ‰ Get Started Today

Deploy now for Public Job research!

Use for:

  • ๐Ÿ“Š Hiring Trend Analysis
  • ๐Ÿ” Company Monitoring
  • ๐Ÿ’ก Talent Market Research
  • ๐Ÿ“ˆ Job Board Aggregation
  • ๐ŸŽฏ Recruiting Intelligence

Perfect for:

  • Recruiters
  • Talent Researchers
  • Job Board Operators
  • Market Analysts

Last Updated: July 2026 Version: 1.0.0 Status: Production Ready Platform: Apify Actor Architecture: Async/Await Data Sources: Greenhouse, Lever


  • Salary Trends Scraper
  • Angel Investor Contact Finder
  • Investor Presentation Scraper

Your complete Apify-powered Public Job research solution! ๐Ÿš€โœจ


โš–๏ธ Public Job Excellence

This Actor is optimized for Public Job research with:

  • โœ… Multi-ATS Greenhouse and Lever integration
  • โœ… Keyword and location filtering
  • โœ… Clean, HTML-free descriptions
  • โœ… Per-company error isolation
  • โœ… Real-time Dataset push
  • โœ… Production-ready code

Discover public job openings effortlessly! ๐Ÿ’Ž๐Ÿš€