Careers24.com Scraper avatar

Careers24.com Scraper

Under maintenance

Pricing

from $1.49 / 1,000 results

Go to Apify Store
Careers24.com Scraper

Careers24.com Scraper

Under maintenance

Scrape job listings from Careers24.com — South Africa's leading job board. Extracts title, company, salary (ZAR), description, contract type and more. No API key required.

Pricing

from $1.49 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Share

Careers24 Scraper

Careers24 Scraper

Extract structured job listings from Careers24.com — South Africa's leading recruitment platform with 7,000+ active vacancies across all sectors and provinces. Returns full job details including salary, description, contract type, and company information. No API key required.


Why this scraper?

🇿🇦 Full South Africa coverage

Access all 7,000+ live job listings spanning every province and major city — from Johannesburg and Cape Town to Durban, Pretoria, and beyond.

🔎 Flexible search and filtering

Search by keywords and location ID, filter by contract type (Permanent, Contract, Temporary, Part-Time, Internship), and limit results to jobs posted within 1, 7, 14, or 30 days.

💰 Salary data in ZAR

Where disclosed by the recruiter, salary figures are returned as structured salaryMin, salaryMax, salaryCurrency (ZAR), and salaryPeriod (MONTH/YEAR/HOUR) fields.

📋 Three description formats

Every job listing includes the full description as raw HTML (descriptionHtml), plain text (descriptionText), and Markdown (descriptionMarkdown) — ready for downstream processing or LLM pipelines.

🔄 Cross-run deduplication

A 90-day deduplication store (careers24-scraper-job-dedup) tracks previously seen listings. Enable skipReposts to receive only genuinely new postings on each scheduled run.

⚡ Fast and lightweight

Runs in 256 MB memory. Suitable for large scheduled extractions — 1,000 results typically complete in under 10 minutes.


Input parameters

ParameterTypeDefaultDescription
keywordsstring""Job title or keywords. Leave blank for all listings.
locationIdinteger1Numeric location ID. 1 = all of South Africa. See table below.
maxItemsinteger100Maximum number of results to return.
daysOldintegerMax age in days: 1, 7, 14, or 30. Leave blank for all.
contractTypeselectanyany, permanent, contract, temporary, part-time, internship
fetchDetailsbooleantrueFetch full description and salary from each listing page.
skipRepostsbooleanfalseSkip listings already seen in previous runs.
startUrlsarray[]Optional: scrape specific listing URLs directly.

Common location IDs

LocationlocationId
All of South Africa1

For city and suburb-level IDs, use the Careers24 search interface and note the locationid parameter in the resulting URL, then pass it directly as input.


Output schema

{
"id": "2356513",
"url": "https://www.careers24.com/jobs/adverts/2356513-senior-software-engineer-sandton/",
"title": "Senior Software Engineer",
"location": "Sandton, Gauteng",
"region": "Gauteng",
"jobType": "Permanent",
"company": "Discovery Health",
"companyUrl": "https://www.careers24.com/now-hiring/12345-discovery-health/",
"descriptionHtml": "<div class=\"job-description\">We are looking for...</div>",
"descriptionText": "We are looking for a Senior Software Engineer to join...",
"descriptionMarkdown": "## About the role\n\nWe are looking for a Senior...",
"salaryMin": 55000,
"salaryMax": 75000,
"salaryCurrency": "ZAR",
"salaryPeriod": "MONTH",
"publishDate": "2026-04-23",
"publishDateISO": "2026-04-23T00:00:00.000Z",
"daysLeft": 61,
"applyUrl": null,
"contentHash": "a3f9c12d8e7b0145",
"source": "careers24.com",
"scrapedAt": "2026-04-23T09:14:52.341Z",
"isRepost": false,
"originalPublishDate": null,
"originalUrl": null
}

Field notes:

  • salaryMin / salaryMaxnull when the recruiter posts "Market Related" (majority of listings)
  • salaryCurrency — always ZAR
  • applyUrlnull when application is handled internally on Careers24
  • region — extracted province name when determinable from location string
  • daysLeft — remaining display time as posted by Careers24
  • isReposttrue if this listing was seen in a previous run within 90 days

Examples

1 — All IT jobs in Gauteng, last 7 days

{
"keywords": "IT",
"locationId": 1,
"daysOld": 7,
"contractType": "any",
"maxItems": 200
}

2 — Permanent accounting roles, max 50

{
"keywords": "accountant",
"contractType": "permanent",
"maxItems": 50
}

3 — Daily delta feed (new listings only)

{
"keywords": "",
"locationId": 1,
"daysOld": 1,
"skipReposts": true,
"maxItems": 500
}

4 — Specific listing URLs

{
"startUrls": [
{ "url": "https://www.careers24.com/jobs/adverts/2356513-senior-software-engineer-sandton/" }
]
}

5 — Fast list-only scan (no detail fetching)

{
"keywords": "nurse",
"fetchDetails": false,
"maxItems": 1000
}

💰 Pricing

$1.49 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.

ResultsCost
100~$0.15
1,000~$1.49
10,000~$14.90
100,000~$149.00

Flat-rate alternatives typically charge $29–$49/month regardless of usage.

Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeFetch detailsApprox. time
100 resultsYes~2 min
1,000 resultsYes~15 min
5,000 resultsYes~75 min
10,000 resultsNo~20 min

Known limitations

  • Salary data is absent for the majority of listings (recruiters post "Market Related")
  • Apply URLs are typically unavailable — applications are handled within the Careers24 platform
  • Location IDs for cities and suburbs must be looked up manually from the Careers24 search URL
  • International listings (outside South Africa) are included in locationId=1 results; use daysOld or keywords filters to narrow scope

Technical details

  • Source: careers24.com — South Africa's leading online job board, part of Media24/Naspers
  • Memory: 256 MB
  • Repost storage: KeyValueStore careers24-scraper-job-dedup, 90-day TTL
  • Retry: Automatic retry on network errors with exponential backoff, 3 attempts per request

Additional services

Need a custom actor, additional filters, scheduled runs, or integration support? Send an email to info@unfencedgroup.nl — we build on request.


Built by unfenced-group · Issues? Open a ticket or send a message.