Pnet Job Scraper
Pricing
from $1.00 / 1,000 results
Pnet Job Scraper
Meet the Pnet Job Scraper, a lightweight actor designed to efficiently extract job listings from Pnet. Fast, reliable, and easy to deploy. For optimal performance and to avoid blocking, using residential proxies is highly recommended. Streamline your recruitment data gathering today!
Pricing
from $1.00 / 1,000 results
Rating
5.0
(3)
Developer
Shahid Irfan
Maintained by CommunityActor stats
2
Bookmarked
21
Total users
8
Monthly active users
11 hours ago
Last modified
Categories
Share
What does Pnet Job Scraper do?
Pnet Job Scraper collects public job listings from Pnet.co.za, one of South Africa's major employment websites. Enter a keyword and, optionally, a location, category, or posting-date filter to create a structured dataset of job titles, companies, locations, compensation, descriptions, job URLs, and listing metadata.
The Actor is useful for recruitment research, hiring intelligence, salary analysis, job-board aggregation, career-market monitoring, and data enrichment. Results are saved as individual dataset records that can be exported to JSON, CSV, Excel, XML, or connected to other Apify workflows.
Why use Pnet Job Scraper?
- South African job-market coverage - Search Pnet listings by role, city, region, and category.
- Structured recruitment data - Receive consistent fields for job analysis, reporting, and downstream applications.
- Pagination support - Set the result limit and maximum number of pages for small tests or larger collections.
- Useful listing context - Capture employment type, category, salary text, work-from-home status, labels, skills, and sponsored or highlighted status when published.
- Repeatable monitoring - Run the Actor on demand or schedule repeat runs to track new opportunities and changes in hiring demand.
- Workflow-ready exports - Use Apify datasets with API requests, webhooks, Google Sheets, Make, Zapier, or your own data pipeline.
What data can you extract from Pnet?
| Field | Type | Description |
|---|---|---|
job_id | String | Pnet job identifier when available. |
title | String | Job position title. |
job_url | String | Direct URL to the Pnet listing. |
company | String | Hiring company name, when published. |
company_id | String | Company identifier, when available. |
company_url | String | Company profile URL, when available. |
company_logo | String | Company logo URL, when available. |
location | String | Published job location. |
work_from_home | Boolean | Whether the listing is marked as work from home. |
post_code | String | Postal code, when available. |
travel_time | String | Travel-time information, when published. |
date_posted | String | Pnet's published posting-date value. |
publish_from | String | Listing publication start timestamp, when available. |
publish_to | String | Listing publication end timestamp, when available. |
salary | String | Salary or compensation text, when published. |
job_type | String | Employment type, such as full-time or contract. |
job_category | String | Pnet job category. |
section | String | Additional Pnet classification, when available. |
description_text | String | Job-description snippet supplied by Pnet. |
description_html | String | The same available description snippet wrapped for HTML-compatible use. |
labels | Array | Listing labels, when available. |
skills | Array | Skills associated with the listing, when available. |
top_labels | Array | Featured or prominent listing labels, when available. |
is_anonymous | Boolean | Whether the employer is marked anonymous. |
is_highlighted | Boolean | Whether Pnet marks the listing as highlighted. |
is_sponsored | Boolean | Whether Pnet marks the listing as sponsored. |
is_top_job | Boolean | Whether Pnet marks the listing as a top job. |
is_backfilled | Boolean | Whether the listing is marked as backfilled. |
is_cross_posted | Boolean | Whether the listing is marked as cross-posted. |
source_site | String | Partner source name when Pnet provides one. |
position_on_page | Number | Listing position on the current result page, when available. |
position_absolute | Number | Overall listing position, when available. |
scraped_at | String | ISO timestamp for when the record was collected. |
Fields are omitted when Pnet does not provide a value. This keeps dataset records free from empty strings, empty arrays, and null values.
How to use Pnet Job Scraper
- Open Pnet Job Scraper in Apify Console.
- Enter a keyword such as
software engineer,graduate, oraccountant. - Optionally add a South African location, job category, and posting-date filter.
- Set
results_wantedandmax_pagesfor the size of the collection. - Run the Actor and review the dataset preview.
- Download the results or connect the dataset to an API, webhook, spreadsheet, or automation.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | String | No | "admin" | Search term used to find jobs. If empty, the Actor uses Pnet's admin search path. |
location | String | No | "" | Location filter, such as Johannesburg, Cape Town, or Durban. |
category | String | No | "" | Pnet job category or industry filter. |
postedWithin | Integer | No | - | Limit listings by recency. Supported values are 1, 3, or 7 days. |
results_wanted | Integer | No | 20 | Minimum target number of unique job records to save. |
max_pages | Integer | No | 3 in the supplied input | Maximum number of Pnet result pages to process. The runtime fallback is 5 when omitted. |
proxyConfiguration | Object | No | - | Optional Apify Proxy configuration. It is used when useApifyProxy is set to true. |
The Actor converts numeric limits to positive values. The final number of records can be lower than the requested target if Pnet returns fewer listings, pages end, or the source does not provide more unique jobs.
Usage Examples
Basic keyword search
Collect up to 20 jobs matching a keyword using the supplied default page limit.
{"keyword": "software engineer","results_wanted": 20,"max_pages": 3}
Location, category, and recency filters
Narrow the collection to recent data-science roles in Cape Town. postedWithin accepts 1, 3, or 7.
{"keyword": "data scientist","location": "Cape Town","category": "Information Technology","postedWithin": 7,"results_wanted": 100,"max_pages": 10}
Larger collection with Apify Proxy
Use Apify Proxy for a larger scheduled collection when proxy access is part of your Apify plan.
{"keyword": "engineer","location": "Johannesburg","results_wanted": 500,"max_pages": 25,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "ZA"}}
Sample Output
The following is an example of one dataset item. Optional fields appear only when Pnet publishes them.
{"job_id": "1234567","title": "Senior Software Engineer","job_url": "https://www.pnet.co.za/job/senior-software-engineer/1234567","company": "Example Technology Solutions","company_url": "https://www.pnet.co.za/company/example-technology-solutions","location": "Johannesburg, Gauteng","work_from_home": false,"date_posted": "2 days ago","salary": "R600,000 - R800,000 per annum","job_type": "Full-time","job_category": "Information Technology","description_text": "Join a software engineering team building and supporting business applications.","description_html": "<p>Join a software engineering team building and supporting business applications.</p>","labels": ["Featured"],"skills": ["JavaScript","SQL"],"is_anonymous": false,"is_highlighted": true,"is_sponsored": false,"is_top_job": false,"scraped_at": "2026-08-10T10:30:00.000Z"}
Tips for best results
- Use a specific keyword when you need a focused dataset, such as
Python developerinstead ofdeveloper. - Add a location to compare hiring activity across South African cities or regions.
- Start with a small
results_wantedvalue to confirm the search matches your needs. - Increase
max_pageswhen Pnet has more listings than the first page can show. - Use
postedWithinfor recent-job monitoring, then schedule repeat runs for regular updates. - Review the dataset preview because salary, skills, company details, and other fields depend on what each listing publishes.
- If a run returns fewer records than requested, check whether the search has enough unique public listings and whether the result pages are still available.
Exports and integrations
- Dataset exports - Download results as JSON, CSV, Excel, XML, or other Apify-supported formats.
- Apify API - Retrieve completed dataset items or start runs from your own application.
- Webhooks - Notify another service when a run finishes.
- Google Sheets - Send job records to a spreadsheet for review, filtering, and reporting.
- Make and Zapier - Connect new datasets to alerts, CRM updates, dashboards, or internal workflows.
- Schedules - Run daily, weekly, or custom monitoring jobs from Apify Console.
Frequently Asked Questions
What website does this Actor collect data from?
It collects public job-listing data from Pnet.co.za, with a focus on South African employment searches.
Can I search by keyword and location?
Yes. Use keyword for the role or skill and location for a city, region, or other location value supported by Pnet.
Can I collect only recent Pnet jobs?
Yes. Set postedWithin to 1, 3, or 7 to request listings posted within the selected number of days.
Does the output include full job descriptions?
The output includes the description snippet available in each search result. It does not promise a full detail-page description, so the available text can vary by listing.
Can I export Pnet results to CSV or Excel?
Yes. Apify dataset results can be downloaded in CSV, Excel, JSON, XML, and other supported formats.
Can I run this Actor on a schedule?
Yes. Create an Apify schedule to repeat the same search daily, weekly, or at a custom interval.
Why is a field missing from a job record?
A field is omitted when Pnet does not publish that value for the listing. Salary, company links, skills, labels, and classification fields are not guaranteed for every job.
Is collecting Pnet data legal?
You are responsible for complying with Pnet's terms, applicable privacy requirements, and local laws. Use public data responsibly, avoid unnecessary collection of personal information, and respect any restrictions that apply to your intended use.
Related Actors
- USA Jobs Scraper - Collect structured federal job listings for workforce research and hiring intelligence.
- APEC Jobs Scraper - Extract executive and professional job listings from APEC.fr.
- Learn4Good Job Scraper - Collect worldwide job, teaching, and career listings for broader employment datasets.
Support
For bugs, missing fields, target-site changes, or feature requests, use the Issues tab on the Actor page. Include the input used, run ID, and a short description of the unexpected result when reporting a problem.
Legal Notice
This Actor is intended for legitimate collection of publicly available job-listing data. You are responsible for complying with Pnet's terms of service, applicable laws, privacy rules, and any restrictions related to storing, sharing, or using the collected data.