The fast bowler, 27, has not played for England since March 2021 because of back and elbow injuries.
Test batters Ben Duckett and Harry Brook are in, while bowler Reece Topley has recovered from the ankle injury he suffered at October's T20 World Cup.
The sides will play in three one-day internationals, starting on 27 January.
Joe Root and Mark Wood are rested after the 3-0 Test series whitewash of Pakistan.
All-rounder Liam Livingstone, who injured his knee during the second day of the first Test in Rawalpindi, misses out.
The series will act as the start of preparations for England's defence of their 50-over world title in India in the autumn, although a two-Test tour of New Zealand follows two weeks after the final ODI.
Archer made a thrilling start to his international career in 2019, bowling the super over in the World Cup final and taking 22 wickets in the Ashes series later that summer, but his progress has since been halted.
After recovering from two bouts of elbow surgery, he suffered a back stress fracture in May, which ruled him out of the season.
He bowled for England Lions in a practice match against the full England side in the United Arab Emirates last month. Otherwise he has played two first-team matches since his last England appearance - both for Sussex last May.
The three-match series in South Africa was originally due to be played in 2020 but England flew home after the T20 leg following Covid-19 concerns.
England are also scheduled to tour Bangladesh for three ODIs and three T20s in March.
England one-day squad to play South Africa
Jos Buttler (c, wk), Moeen Ali, Jofra Archer, Harry Brook, Sam Curran, Ben Duckett, Dawid Malan. Adil Rashid, Jason Roy, Phil Salt, Olly Stone, Reece Topley, David Willey, Chris Woakes
Schedule
January
27 1st ODI, Bloemfontein (11:00 GMT)
29 2nd ODI, Bloemfontein (08:00 GMT)
February