<P> In One day International cricket ( ODI ) the fastest century is held by South African batsman AB De Villiers . De Villiers ' century came up in just 31 balls against the West Indies in the 2nd ODI at Johannesburg on 18 January 2015 . De Villiers ' hundred included 8 fours and 10 sixes . Corey Anderson ( New Zealand ) is second with 36 balls century against West Indies in Queenstown on 1 January 2014 and Shahid Afridi ( Pakistan ) is third with 37 balls century against Sri Lanka in Nairobi on 4 October 1996 . </P>
who has the record for fastest century in one day international cricket
South African batsman AB De Villiers