James, Bath's major summer capture, and Botha will join their new clubs after the World Cup later this year.
Botha made his Test debut against Australia in 2005 and has so far won nine caps. He also made 16 appearances for Super 14 champions the Blue Bulls this year.
Quins rugby director Dean Richards said: "Gary is a very talented player and someone everyone at Quins is looking forward to working with.
"Aside from having the physicality you expect from a hooker, he is also very mobile.
"And for such a young man, he has already shown tremendous leadership qualities with his performances for the Bulls in last year's Currie Cup.
"I am very confident Gary will be a huge success in the Guinness Premiership and become a key figure in our squad over the next couple of years."