Careers24 South Africa Jobs Search Scraper avatar

Careers24 South Africa Jobs Search Scraper

Pricing

from $2.99 / 1,000 careers24 south africa job records

Go to Apify Store
Careers24 South Africa Jobs Search Scraper

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

Jobs API

Maintained by Community

Actor 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

FieldDefaultRangeDescription
maxItems31–10Maximum complete records to emit
timeoutMs30,0005,000–60,000Timeout for one request
delayMillis750500–1,500Minimum delay between sequential requests
maxResponseBytes10,000,000100,000–20,000,000Maximum 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 install
npm test
npm run check
apify 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.json
npm 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.