We extract job postings, department structures, workplace models, and salary bands from Lever hosted boards. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.
Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.
Complete list of extractable fields for Job Postings objects from lever.co. All fields typed and schema-versioned.
"job_id": "a1b2c3d4-e5f6", "title": "Senior Backend Engineer", "company_name": "TechCorp", "department": "Engineering", "location": "Bengaluru, India", "workplace_type": "Hybrid", "posted_at": "2026-05-10T14:30:00Z"
| # | job_id | title | company_name | department | team | location |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Company Data objects from lever.co. All fields typed and schema-versioned.
"company_name": "TechCorp", "lever_url": "jobs.lever.co/techcorp", "website_url": "techcorp.io", "active_jobs_count": 42, "hq_location": "San Francisco, CA", "industry": "Enterprise Software"
| # | company_id | company_name | lever_url | website_url | logo_url | description |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Departments & Teams objects from lever.co. All fields typed and schema-versioned.
"department_name": "Engineering", "team_name": "Infrastructure", "company_name": "TechCorp", "job_count": 14, "remote_job_count": 8, "slug": "engineering-infrastructure"
| # | department_id | department_name | team_name | company_name | job_count | location_distribution |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Salary & Benefits objects from lever.co. All fields typed and schema-versioned.
"job_id": "a1b2c3d4-e5f6", "currency": "USD", "min_salary": 140000.0, "max_salary": 180000.0, "pay_period": "Annually", "equity_offered": true
| # | job_id | currency | min_salary | max_salary | pay_period | equity_offered |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Custom Application Fields objects from lever.co. All fields typed and schema-versioned.
"job_id": "a1b2c3d4-e5f6", "field_type": "multiple_choice", "field_label": "Will you now or in the future require sponsorship?", "required": true, "options_list": "['Yes', 'No']", "placeholder_text": "Select an option"
| # | job_id | field_id | field_type | field_label | required | options_list |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Our Lever scraper targets the underlying JSON APIs and DOM structures of hosted boards. We handle pagination, dynamic loading, and multi-location job deduplication automatically.
Title, department, team, workplace type, full description text, and requirements parsed directly from the Lever board.
Monitor active job lists and flag roles that disappear or return 404s to track hiring velocity and filled positions.
Extract the hierarchical structure of a company's hiring board, grouping jobs by functional area and sub-team.
Identify remote, hybrid, and onsite roles, including multi-location postings mapped to specific geographic coordinates.
Capture minimum and maximum salary ranges, currency, and equity indicators when provided in the job description or metadata.
Standardise inconsistent location strings into clean city, state, and country fields for downstream analytics.
Input a list of domains and we automatically discover their active Lever board URLs and extract the current job counts.
Extract the specific screening questions and dropdown options configured for each job application form.
Run one-off bulk exports or configure continuous pipelines at hourly, daily, or real-time cadences with change-detection diffing.
Brief in. Clean data out.
Provide company domains, Lever board URLs, or target industries. We design the extraction schema together.
We configure Scrapy / Playwright crawlers, proxy rotation, session management, and CAPTCHA handling for lever.co.
Schema validation, null-rate checks, location normalisation, and sample records before full launch.
JSON / CSV / Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.
Extracting job boards at scale requires more than a simple HTTP GET. Here is how we build resilient ATS pipelines.
Lever boards often load data via underlying JSON endpoints. We target these APIs directly to extract clean, structured data without relying on brittle DOM parsing, ensuring high fidelity and low latency.
For large company lists, we maintain a hash index of last-seen jobs. Subsequent runs only push diffs and flag closed roles, reducing compute cost and downstream processing load.
Companies often post the same job across multiple cities. We extract the parent job ID and map all associated locations to a single record, preventing inflated hiring metrics.
Companies frequently use custom domains or obscure Lever board names. We use automated discovery spiders to find the correct jobs.lever.co URL for any given corporate domain.
Every run emits structured logs to our observability stack. We alert on null-rate spikes, schema drift, and coverage drops. SLA uptime is contractual, not aspirational.
Niche job boards and aggregators automatically backfill their platforms with highly targeted roles from specific companies.
Corporate strategy teams monitor competitor hiring velocity and new department creation to infer product roadmaps.
Economic researchers and investment analysts track aggregate hiring trends, remote work adoption, and salary inflation.
Sales teams trigger outreach campaigns when target accounts open specific roles, indicating budget and immediate need.
HR teams aggregate public salary bands across thousands of Lever postings to ensure competitive compensation packages.
Recruiting agencies sync open roles from client Lever boards directly into their internal CRM systems.
"Lever hosts thousands of fast-growing startup job boards, representing a massive real-time signal of company growth, strategic direction, and tech stack adoption."
Most teams underestimate the investment required to monitor thousands of Lever boards simultaneously. Reliable extraction requires board discovery, closed-role detection, daily selector maintenance, and anomaly monitoring. DataFlirt absorbs that complexity so your engineers can focus on the analysis.
Everything supported by our lever.co scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.
Open-source tooling on proven cloud infra — no vendor lock-in, full observability.
Scrapy handles crawl orchestration, deduplication, and retry logic. Playwright handles JavaScript rendering, cookie sessions, and interaction flows. Combined via scrapy-playwright middleware.
We maintain pools of residential ISP proxies across IN/US/UK/DE regions. Rotation happens per-request with sticky sessions where required. IP score monitoring prevents blacklisted pool contamination.
Pipelines run on AWS Lambda (burst) and ECS (sustained). Airflow handles scheduling, dependency management, and SLA alerting. All state stored in managed Postgres.
Data delivered to where your team already works — no new tooling required.
About lever.co scraping, legality, and pipeline operations.
Ask us directly →Scraping publicly available job postings is generally permissible under applicable law. DataFlirt targets only public, non-authenticated job descriptions and metadata. We do not extract personal candidate data, circumvent authentication walls, or access internal hiring manager notes. Clients should consult legal counsel for specific use cases.
We maintain a stateful index of all active jobs per company. During each run, we compare the current board state against our index. Jobs that are no longer present or return a 404 status are flagged as closed, providing accurate hiring velocity metrics.
Yes. We extract minimum and maximum salary figures, currency, and equity indicators when they are explicitly stated in the job description text or provided in the underlying structured data.
Real-time streaming pipelines achieve sub-60-minute latency for specific target companies. Full board refreshes across thousands of companies complete within a 6-12 hour window depending on volume.
Our smallest packages start at a defined list of 500 company domains with weekly delivery. For larger aggregations or custom schema requirements, we price based on volume and delivery frequency.
Absolutely. We provide a sample run of up to 50 company boards as part of the pre-engagement scoping process so you can validate schema fit, field completeness, and data quality before signing any contract.
20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off dump of SaaS job postings or a continuous feed of hiring signals across 10,000 companies, we scope, build, and operate the pipeline. Tell us what you need.