Seek Job Listings Scraper
Pricing
$1.50 / 1,000 results
Seek Job Listings Scraper
Scrape Australian job listings from Seek.com.au — extract job titles, companies, salaries, locations, descriptions, and posting dates by keyword.
Pricing
$1.50 / 1,000 results
Rating
0.0
(0)
Developer
Casey Marsh
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Seek.com.au Job Listings Scraper
Scrape job listings from Seek.com.au — Australia's #1 employment marketplace with over 180,000 live job ads at any time. Extract job titles, companies, locations, salary ranges, classifications, work types, and detailed descriptions. Ideal for recruitment intelligence, salary benchmarking, labour market analysis, and lead generation for HR tech businesses.
Summary
The Seek Job Listings Scraper is a production-grade Apify actor that extracts job postings from seek.com.au, which serves over 30 million visits per month and lists more jobs than any other Australian platform. This actor lets you search by keyword, location, work type, salary range, and industry classification — then receive structured JSON with all available job metadata including company logos, advertiser type (direct employer vs recruiter), listing freshness, and description excerpts.
Built on Crawlee's CheerioCrawler with Apify residential proxy rotation and automatic session management, this actor handles Seek's anti-scraping measures, paginates through multi-page results, and gracefully recovers from blocks or rate limits. It uses multiple CSS selector fallbacks keyed to Seek's data-automation attributes as well as class-based selectors, maintaining reliability across frontend changes.
How It Works
- Input: Provide a keyword (e.g., "software engineer", "registered nurse"), location, and optional filters like salary range or work type.
- URL Construction: The actor builds a Seek search URL with your parameters properly encoded, including any filter query strings.
- Proxy Rotation: Each request goes through Apify's residential proxy pool with automatic IP rotation to avoid detection.
- Card Extraction: The actor finds all job cards using Seek's
data-automationattributes as primary selectors, with class-based fallbacks for robustness. - Field Extraction: For each card, it extracts title, company, location, salary, classification, description, advertiser info, work type, company logo URL, and the internal Seek job ID.
- Pagination: If more results are needed, the actor follows Seek's pagination controls (Next button or page links) automatically until
maxResultsis reached. - Error Handling: Failed cards are logged and skipped; failed requests after all retries are saved as error records; rate limit blocks trigger automatic proxy rotation and retry.
Input Parameters
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | string | No | software-engineer | Job title or skill to search (e.g. data-analyst, electrician, project-manager) |
location | string | No | All-Australia | Location in Seek format (e.g. Sydney, Melbourne-3000, All-Perth, All-Brisbane) |
maxResults | integer | No | 100 | Maximum job listings to return (1–500) |
workType | string | No | — | Filter by work type (e.g. full-time, part-time, contract-temp, casual-vacation) |
salaryRange | string | No | — | Salary range filter code |
dateRange | string | No | — | Listing date range (e.g. 1, 3, 7, 14, 30 for days) |
classification | string | No | — | Industry classification code (e.g. information-communication-technology) |
Output Example
{"title": "Senior Full Stack Developer","company": "TechCorp Australia","location": "Sydney NSW 2000","salary": "$140,000 - $170,000","link": "https://www.seek.com.au/job/12345678","classification": "Information & Communication Technology","description": "Join a fast-growing SaaS company... React, Node.js, AWS experience required...","listedDate": "3d ago","advertiser": "TechCorp Australia","workType": "Full Time","logoUrl": "https://seekcdn.com/company-logos/techcorp.png","jobId": "12345678","searchKeyword": "software-engineer","searchLocation": "All-Australia","scrapedAt": "2026-07-04T10:30:00.000Z"}
Pricing
This actor operates on Apify's pay-per-result pricing: you only pay for the jobs you successfully extract. There are no monthly fees, no minimum commitments, and no Seek API subscription required. A typical run extracting 100 job listings costs a small fraction of an Apify platform credit, even with residential proxies enabled.
Residential proxies are the default configuration because Seek.com.au actively blocks datacenter IP ranges. You can switch to datacenter proxies for lower per-request costs by modifying the proxyConfig input parameter, but expect frequent blocks and reduced reliability on Seek.
CheerioCrawler (not Playwright/headless browser) keeps costs minimal — each page request completes in 1–3 seconds without the CPU and memory overhead of a full browser.
Use Cases
- Job Market Analysis: Track hiring volumes by keyword, location, and industry over time. Analyze which skills are in demand and how salary ranges are trending across Australian cities.
- Salary Benchmarking: Aggregate salary data from job listings to understand market rates for specific roles, experience levels, and locations. Feed this into compensation planning tools.
- Recruitment Intelligence: Monitor competitor hiring activity, identify companies expanding in specific markets, and track which recruiters dominate certain sectors.
- Lead Generation for HR Tech: Build prospect lists of companies actively hiring for roles your product or service addresses. Enrich CRM data with real-time hiring signals.
- Career Research: Build job alert systems that notify candidates when relevant positions appear. Power job-matching algorithms with structured, up-to-date listing data.
- Labour Market Trend Tracking: Supply government agencies, think tanks, and research organisations with structured data on employment market dynamics.
FAQ
Q: Do I need a Seek account or API key? A: No. This actor scrapes publicly visible job listings. No Seek account, login, or API key is required.
Q: Can I scrape all of Australia or just specific cities?
A: Both. Use All-Australia for nationwide search, or specific regions like Sydney, Melbourne-3000, All-Perth, etc. Seek uses a hybrid location format — see their URL structure for exact values.
Q: How fresh is the data?
A: The actor scrapes whatever appears in Seek's live search results. Listings are typically updated in near-real-time. The listedDate field tells you how recently each job was posted (e.g., "Just posted", "3d ago").
Q: What if Seek changes their page structure?
A: The actor uses Seek's data-automation attributes (their internal testing/data selectors) which are less likely to change than CSS classes. Multiple fallback selectors are used for each field. If all selectors fail, that field is left empty rather than crashing.
Q: Can I get the full job description? A: The search results page provides a short description/teaser. For full job descriptions, you would need to follow each job link and scrape the detail page. This actor provides the link field so you can build a second-stage scraper if needed.
Q: How does the actor handle Seek's anti-bot measures? A: The actor uses Apify residential proxies, rotates user agents via Crawlee's session pool, detects block/rate-limit pages by page title, and automatically retries with a fresh IP when blocked. Up to 5 retries are attempted per request.
Actor ID: seek-jobs-scraper · Runtime: Node.js 20 · Type: CheerioCrawler