What AI and data jobs pay, by role
One source, one method, so the bars are comparable: PayScale's median annual base salary from self-reported South African profiles. Base means before bonus, share schemes and benefits. PayScale labels this figure "average" in its headlines, but it is the 50th percentile.
Median annual base salary by role, South Africa, 2026
What is missing, and why: nobody publishes rand salary data for MLOps engineers, prompt engineers or LLM engineers yet. PayScale has no South African page for those titles, and neither Pnet nor Levels.fyi lists them. AI product manager and AI researcher have no dedicated source either, so we show general software product manager and research scientist pay and label them as such. We would rather leave a gap than invent a number.
Salary by experience
Experience moves pay more than job title does. A data scientist with ten years behind them earns more than two and a half times what a new graduate does. Figures are PayScale national medians of annual base salary, with the number of profiles behind each one. Cells with fewer than ten profiles are left out.
| Role | Under 1 year | 1 to 4 years | 5 to 9 years | 10 to 19 years | Source |
|---|---|---|---|---|---|
| Data scientist | R343,926 (70) | R453,984 (302) | R636,341 (62) | R922,220 (27) | PayScale |
| Data engineer | R305,446 (16) | R407,622 (194) | R636,993 (80) | R859,095 (32) | PayScale |
| ML engineer | Too few profiles | R468,715 (45) | Too few profiles | Too few profiles | PayScale |
| Data analyst | R209,476 (89) | R299,058 (547) | R432,251 (157) | R518,971 (69) | PayScale |
| Product manager (software) | Too few profiles | R502,330 (42) | R709,094 (35) | R783,308 (16) | PayScale |
| Research scientist | Too few profiles | R258,615 (52) | R396,131 (33) | R627,229 (14) | PayScale |
Job titles tell the same story. PayScale's "Junior Data Scientist" title has a median of R352,304 (only 10 profiles, so treat it gently) and "Senior Data Scientist" R822,232. For analysts it is R202,279 junior and R429,253 senior.
Where the sources disagree
Salary sources measure different things, which is why a quick search gives you four different answers. PayScale is what people report earning in base salary. Pnet and Indeed are what job adverts offer, and only some adverts publish a number. Levels.fyi is total pay including bonus and shares, reported mostly by people at multinationals. So we show them side by side instead of pretending one number is the truth. All figures are annual rand; monthly figures are multiplied by 12.
| Role | PayScale median base, self-reported | Pnet 2026 advertised range, cost to company | Indeed average of job adverts | Levels.fyi median total pay |
|---|---|---|---|---|
| Data scientist | R460,138 (333) | R440,004 to R600,000 (R36,667 to R50,000 a month) | Not used: the page mixes monthly and annual figures | R674,730 (11) |
| Data engineer | R460,556 (258) | R330,000 to R480,000 (R27,500 to R40,000 a month) | R607,020 (51 ads, R50,585 a month) | Not used: unclear location scope |
| ML engineer | R428,920 (50) | Not listed | R1,194,924 (14 ads, R99,577 a month) | No South African figure |
| AI developer | No reliable title page | Not listed | R876,203 (16 ads) | No South African figure |
| Data analyst | R306,377 (707) | R360,000 to R420,000 (R30,000 to R35,000 a month) | R253,704 (80 ads, R21,142 a month) | Not listed |
| Product manager (general, not AI-specific) | R563,953 (64, software PM) | Not listed | R487,356 (33 ads, R40,613 a month) | R910,059 (26) |
Sources: PayScale South Africa role pages (linked in the chart above), fetched 27 September 2026. Pnet Job Market Trends Report, January 2026, salary guide p. 10: national monthly cost-to-company ranges from adverts over the past 12 months. Indeed South Africa career pages: adverts from the past 36 months, updated March to September 2026. Levels.fyi South Africa pages: base plus bonus plus shares. Numbers in brackets are profiles, submissions or adverts.
How to read it. For data scientists and analysts, adverts and self-reported pay land close together. For ML engineers and AI developers, the adverts run far higher, but they rest on 14 and 16 adverts. The few companies that publish salaries for those roles are hiring senior people or contractors. Use PayScale for "what is normal" and the adverts for "what the market pays when it is desperate".
Salary by city: Johannesburg, Cape Town, Pretoria, Durban
No public source splits AI or data salaries by all four cities with a usable sample. The best city data covers all software developers, from OfferZen's 2025 survey of South African developers. It is not AI-specific, but data and ML engineers are hired from the same pool, so the pattern holds. Average gross salary, monthly figures multiplied by 12.
| Experience | Johannesburg | Cape Town | Pretoria | Durban |
|---|---|---|---|---|
| 0 to 2 years | R283,644 | R345,840 | R286,800 | R327,456 |
| 2 to 4 years | R373,920 | R465,828 | R435,108 | R396,468 |
| 4 to 6 years | R578,532 | R623,136 | R643,596 | R506,124 |
| 6 to 10 years | R829,428 | R866,052 | R868,944 | R718,476 |
| 10+ years | R1,143,288 | R1,201,692 | R1,123,032 | R1,050,180 |
Source: OfferZen, 2025 South Africa Report: State of the Software Developer Nation, chart "Average developer salary by location". Gross salary before tax, excluding benefits.
Cape Town pays best on paper, and OfferZen says so outright. It also points out that after the cost of living, Johannesburg developers have 9.7% more buying power than those in the Mother City. Pretoria matches or beats Cape Town between four and ten years of experience. Johannesburg pays least for juniors, and Durban pays least from four years on.
For specific data roles, PayScale only publishes a Cape Town cut. It sits close to the national figure: data scientists R458,152, data engineers R443,736, ML engineers R493,214 and data analysts R314,798, all median annual base.
How to get into one of these jobs
Data analyst is the front door. It has the lowest entry bar here, with a R209,476 median in the first year, and a clear path to data scientist or data engineer. SQL, a spreadsheet you are not afraid of, and one visualisation tool will get you interviews.
Engineering pays for itself faster. Data engineers match data scientists at the median and senior data engineers top our chart. Our view from building AI systems: nobody gets AI into production without clean data pipelines, so the people who build them are never idle.
Skills beat titles. PayScale reports a median of R479,456 for South Africans who list machine learning as a skill, whatever their job title. Learn the skill inside your current job and the title tends to follow.
Want the training? Our list of every verified AI course in South Africa runs from free to R62,769, with the price and next intake for each. Worried about your current role instead? Try the Will AI take my job? tool.
Questions people actually ask
How much does a data scientist earn in South Africa?
About R460,000 a year in base salary at the median, according to PayScale's South African data (333 profiles, July 2026). New graduates start around R344,000 and data scientists with 10 to 19 years of experience reach about R922,000. Pnet's 2026 guide puts advertised data scientist salaries at R36,667 to R50,000 a month cost to company.
What does a machine learning engineer earn in South Africa?
PayScale puts the median at R428,920 a year in base salary, from 50 profiles. Job adverts run much higher: Indeed's average across 14 South African ML engineer adverts is R99,577 a month, about R1.19 million a year. The adverts skew senior, so expect the lower figure early in your career and the higher one once you are senior.
Which AI job pays the most in South Africa?
Among roles with solid South African data, senior data engineers top PayScale's figures at a R895,750 median base salary, followed by senior data scientists at R822,232. Advertised AI developer roles average R876,203 a year on Indeed, from 16 adverts. Pay tracks seniority more than title: ten years of experience more than doubles most data salaries.
Do Cape Town or Johannesburg jobs pay more?
Cape Town pays more on paper. OfferZen's 2025 developer survey found it the best-paying city overall, and it leads at three of five experience levels. But OfferZen also found that after cost of living, Johannesburg developers have 9.7% more buying power. Pretoria matches or beats Cape Town between four and ten years of experience.
How much do prompt engineers and MLOps engineers earn in South Africa?
Nobody knows reliably, and we will not guess. No public source publishes South African salary data for prompt engineers, LLM engineers or MLOps engineers yet. PayScale has no page for those titles, and neither Pnet nor Levels.fyi lists them. The closest proxy is ML engineer pay, at a R428,920 median base.
How do I become a data scientist or AI engineer in South Africa?
Most people get there through data analysis or software development, then add Python, statistics and machine learning. Formal routes include university degrees such as the Wits MSc in Artificial Intelligence, university short courses from about R4,000, and paid bootcamps from R28,950. Our AI courses page lists every verified option with prices and intakes.