I'm Algerian citizen, traveling to Gaborone Botswana via Johannesburg (Algiers-Doha- Johannesburg-Gaborone). Do I need South African transit visa?
Per TIMATIC, the database used by airlines:
Visa required, except for Passengers transiting through Cape Town (CPT), Durban (DUR), Johannesburg (JNB) or Lanseria (HLA) with a confirmed onward ticket for a flight to a third country.
So if Doha-Johannesburg-Gaborone is in a single booking, you do not need a visa.