Pnet Jobs Search Scraper avatar

Pnet Jobs Search Scraper

Pricing

Pay per usage

Go to Apify Store
Pnet Jobs Search Scraper

Pnet Jobs Search Scraper

Scrape job search results from PNet.co.za with precision. This scraper collects 30+ fields per listing including titles, company details, salary data, locations, skills, and job rankings — perfect for recruiters, job aggregators, and labor market researchers in South Africa.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Alex

Alex

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

PNet Jobs Search Scraper: Extract South African Job Listings at Scale


What Is PNet.co.za?

PNet.co.za is South Africa's largest online job board, connecting millions of job seekers with employers across all industries and experience levels. It hosts thousands of active listings ranging from entry-level positions to executive roles. Manually collecting and organizing this data is tedious and error-prone — the PNet Jobs Search Scraper automates the extraction of search results, delivering clean, structured job data for analysis and integration.


Overview

The PNet Jobs Search Scraper extracts job listings from PNet.co.za search result pages, converting search queries into machine-readable datasets. It is designed for:

  • Recruiters monitoring job market trends and competitor activity in South Africa
  • HR professionals benchmarking salaries and skill requirements across sectors
  • Job aggregators feeding PNet listings into multi-platform job boards
  • Labor researchers analyzing employment patterns and hiring demand
  • Career coaches tracking industry-specific opportunities

Key strengths include support for targeted search URLs (by industry, location, keyword), failure tolerance via ignore_url_failures, and configurable scraping volume per URL.


Input Format

The scraper accepts a JSON configuration object to control what and how much to scrape:

{
"urls": [
"https://www.pnet.co.za/jobs/design?searchOrigin=Homepage_top-search"
],
"ignore_url_failures": true,
"max_items_per_url": 20
}
FieldDescriptionExample
urlsArray of PNet search result page URLs to scrapehttps://www.pnet.co.za/jobs/design, https://www.pnet.co.za/jobs/marketing?location=johannesburg
ignore_url_failuresBoolean flag: if true, scraper continues if a URL fails; if false, entire run stopstrue or false
max_items_per_urlMaximum number of job listings extracted per URL (1–100+)20, 50, 100

Tips:

  • Use filtered search URLs (e.g., https://www.pnet.co.za/jobs/[category]?location=[city]) to target specific job types or regions
  • Set max_items_per_url based on your needs: 20 for quick samples, 50–100 for comprehensive datasets
  • Enable ignore_url_failures: true for bulk runs to avoid interruptions if a search page is temporarily unavailable

Output Format

Sample output

{
"id": 4232678,
"title": "VJ 18979 - Design Draughtsman (Mining Equipment) - North West",
"labels": [],
"url": "/jobs--VJ-18979-Design-Draughtsman-Mining-Equipment-North-West-North-West-Professional-Career-Services-Gauteng--4232678-inline.html?rltr=1_1_25_seorl_m_0_0_0_0_0_0",
"company_id": 12590,
"company_name": "Professional Career Services - Gauteng",
"company_url": "https://www.pnet.co.za/cmp/en/professional-career-services-gauteng-12590/jobs",
"company_logo_url": "https://www.pnet.co.za/upload_za/logo/P/logoProfessional-Career-Services-Gauteng-12590ZEN.gif",
"date_posted": "2026-07-14T13:07:19+02:00",
"location": "North West",
"is_anonymous": false,
"salary": "R35,000 – R40,000 p/m",
"post_code": null,
"partnership": {
"is_partnership_job": false,
"show_partnership_label": false,
"is_backfilled": false,
"source_site_friendly_name": "",
"is_cross_posted": false
},
"unified_salary": null,
"work_from_home": "0",
"meta_data": {
"position_on_page": 1,
"position_absolute": 1
},
"harmonised_id": "7E598A48-3557-4CE8-9D78-D13D83CA0EF9",
"job_posting_sequence": null,
"period_posted_date": null,
"publish_from_date": null,
"publish_to_date": null,
"has_future_posting": false,
"fingerprint_count": null,
"section": "main",
"top_labels": [],
"skills": [],
"text_snippet": "Our client is a specialist <strong>design</strong> company for the mining sector * Detailed <strong>design</strong> and draughting of mineral processing plants and mining equipment, including plant layouts, process flow integration, conveyors, chutes and screening equipment * Minimum 5+ years' experience in <strong>design</strong> draughting * Strong plant layout <strong>design</strong> experience * Experience <strong>designing</strong> conveyors, chutes, screens, mining equipment",
"cv_to_job_score": null,
"is_highlighted": false,
"is_sponsored": false,
"travel_time": null,
"unified_travel_time": null,
"is_top_job": false,
"is_traffic_from_partner": false,
"from_url": "https://www.pnet.co.za/jobs/design?searchOrigin=Homepage_top-search"
}

Each scraped job listing returns 30+ structured fields:

Core Identification

FieldMeaning
idUnique job listing identifier within PNet
titleJob title as displayed on the search result
urlDirect link to the full job posting
labelsCategory tags assigned to the listing (e.g., "Full Time", "Permanent")
top_labelsHigh-priority category labels highlighting key job attributes

Company Information

FieldMeaning
company_idUnique identifier for the employer
company_nameName of the hiring company
company_urlCompany's profile or website URL on PNet
company_logo_urlURL to the company's logo image
partnershipWhether the company is a PNet partner or premium advertiser
is_traffic_from_partnerBoolean flag: true if job traffic originated from a partner source

Location & Logistics

FieldMeaning
locationPrimary job location (city, province, or region)
post_codePostal code or zip code of the work location
work_from_homeBoolean: true if remote/WFH is available
travel_timeEstimated commute time from user location (if applicable)
unified_travel_timeStandardized travel time value for filtering

Compensation & Timeline

FieldMeaning
salarySalary or salary range as displayed (raw format)
unified_salaryStandardized salary value for easy filtering and comparison
date_postedDate the listing was published on PNet
period_posted_dateGeneralized posting date (e.g., "1 week ago")
publish_from_dateDate when the job listing becomes visible
publish_to_dateClosing date for applications
has_future_postingBoolean: true if job is scheduled to post in the future

Job Attributes & Flags

FieldMeaning
is_anonymousBoolean: true if company details are hidden
is_highlightedBoolean: true if listing has paid highlighting/premium visibility
is_sponsoredBoolean: true if job appears as a sponsored/promoted result
is_top_jobBoolean: true if job is featured in top positions
cv_to_job_scoreRelevance score comparing user CV to job requirements (0–100)

Candidate & Content

FieldMeaning
skillsArray of required or preferred skills for the role
text_snippetBrief excerpt from the job description
sectionJob category section (e.g., "IT", "Sales", "Engineering")
fingerprint_countNumber of times this job has been viewed/interacted with

Technical & Metadata

FieldMeaning
meta_dataAdditional structured metadata about the listing
harmonised_idStandardized identifier used across aggregator platforms
job_posting_sequenceInternal sequence number for the job posting

How to Use

  1. Identify search URLs — Navigate to PNet.co.za and perform a job search. Copy the URL from the search results page (e.g., https://www.pnet.co.za/jobs/design). You can filter by category, location, keyword, or any combination.

  2. Build your configuration — Add one or more search URLs to the urls array. Adjust max_items_per_url based on your data volume needs:

    • 20–30: Quick samples or testing
    • 50–100: Comprehensive datasets
    • 100+: Full market analysis
  3. Set failure handling — Keep ignore_url_failures: true to ensure the scraper continues even if one URL times out or changes.

  4. Run the scraper — Initiate the actor and monitor progress in the logs.

  5. Export and analyze — Download results as JSON, CSV, or Excel for use in spreadsheets, databases, or BI tools.

Common best practices:

  • Use specific search URLs (e.g., by job title or location) to gather targeted datasets
  • For salary analysis, rely on the unified_salary field for consistent comparisons
  • Filter listings using is_top_job, is_highlighted, or is_sponsored to segment premium postings
  • Combine skills with text_snippet for quick content review without opening each listing

Use Cases & Business Value

  • Recruitment analytics: Track hiring trends by industry, location, and salary band in South Africa
  • Job aggregation: Feed PNet listings into multi-site job boards or specialized portals
  • Salary benchmarking: Compare compensation across roles, companies, and regions using unified salary data
  • Market research: Analyze skill demand, in-demand roles, and competitor hiring activity
  • Career insights: Help job seekers understand market competitiveness and skill gaps
  • HR intelligence: Monitor hiring velocity and talent competition for your industry

By automating data collection, the scraper eliminates manual work and reveals patterns that guide strategic hiring, recruitment planning, and compensation strategy.


Conclusion

The PNet Jobs Search Scraper is a powerful tool for anyone who needs structured South African job market data. With 30+ fields per listing and flexible URL targeting, it transforms unstructured search results into actionable insights. Whether you're a recruiter, researcher, or platform operator, this scraper accelerates your workflow and unlocks competitive advantage through data-driven job market intelligence.