Careers24 South Africa Jobs Search Scraper
Pricing
from $2.99 / 1,000 careers24 south africa job records
Careers24 South Africa Jobs Search Scraper
Collect detail-verified public Careers24 jobs with source-published employer, location, salary, job terms, role sections, and application facts.
Pricing
from $2.99 / 1,000 careers24 south africa job records
Rating
0.0
(0)
Developer
Jobs API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Collects public listings from the default South Africa jobs page at Careers24, then reads each matching public detail page before emitting a record. This source adds South African listings to the actor collection; it is not a generic multi-board aggregator.
Public input
| Field | Default | Range | Description |
|---|---|---|---|
maxItems | 3 | 1–10 | Maximum complete records to emit |
timeoutMs | 30,000 | 5,000–60,000 | Timeout for one request |
delayMillis | 750 | 500–1,500 | Minimum delay between sequential requests |
maxResponseBytes | 10,000,000 | 100,000–20,000,000 | Maximum accepted response size |
The actor uses the source's default public South Africa listing and only ordinary direct GET requests. It does not accept arbitrary URLs, cookies, proxy settings, custom headers, identity controls, or fixture/debug data through its public input schema.
Records
Each job record separates the Careers24 posting ID from the visible employer reference. Where published, it retains title, employer, logo and employer page, location hierarchy, remote label, pay text and normalized South African Rand range, contract and employment labels, industry sectors, posting/expiry dates, apply-by status, application and view counts, the application link, and readable description sections for responsibilities, competencies, requirements, special conditions, and benefits. Fields absent from a particular public posting are omitted.
Records include listing and detail URLs, a response receipt hash, direct-only collection provenance, and the populated source-fact paths. A record is emitted only when its listing identity agrees with the detail page and at least 21 meaningful source facts are present.
Access policy
An ordinary request returning HTTP 401, 403, 429, or 451, or visible source-authored denial/security-challenge content, stops collection. The Actor discards buffered job rows, returns SKIPPED, and preserves the diagnostic and request receipts. HTTP 407, HTTP 5xx, malformed content, timeouts, and other unverified failures are DEFERRED; no request is retried and no route, browser, identity, cookie, proxy, header, or fingerprint change is attempted.
Run summaries separate Apify platform status (SUCCEEDED/FAILED) from dataset resultStatus (COMPLETE, LIMITED, SKIPPED, DEFERRED, NO_DATA, or FAILED). A confirmed source barrier is SUCCEEDED/SKIPPED; temporary unavailability is SUCCEEDED/DEFERRED. Fatal zero-row processing or storage failures are FAILED/FAILED. If real rows have already been stored before a later failure, they are retained as SUCCEEDED/LIMITED. NO_DATA is reserved for a listing whose alert heading explicitly reports zero jobs and whose successful listing receipt is retained; ambiguous empty results are SUCCEEDED/DEFERRED. A complete extraction is SUCCEEDED/COMPLETE. Diagnostics and request receipts stay in key-value storage, never the job dataset.
Local validation
npm installnpm testnpm run checkapify validate-schema
Before a live local apify run, inspect apify run --help, choose a new actor-relative APIFY_LOCAL_STORAGE_DIR, and confirm that path does not already exist. Then use the fresh path with --resurrect and do not pass --purge. For example, after confirming the directory is absent:
$env:APIFY_LOCAL_STORAGE_DIR = 'storage-validation-careers24-20260924-01'apify run --resurrect --input-file ./INPUT.jsonnpm run validate -- storage-validation-careers24-20260924-01
The example path is only for a fresh validation run; do not reuse it if it already exists. The Actor has not been pushed to Apify Cloud.