Bruno Mendes was born in Cruzeiro, São Paulo, and joined Guarani's youth setup in 2007, aged 12. On 21 January 2012, aged just 17, he made his first team debut by coming on as a second-half substitute in a 2–1 Campeonato Paulista home win against Oeste.
Bruno Mendes scored his first senior goal on 17 March 2012, netting the first in a 2–0 home defeat of Mirassol. He immediately became a starter for the side, scoring four goals in 18 appearances as his side reached the finals but lost to Santos.[citation needed]
In September 2012, Bruno Mendes signed for Botafogo until the end of the following year. Bought outright by HAZ Sport Agency from Guarani for a R$7 million fee, HAZ used Macaé as a proxy to register Bruno Mendes's registration rights.[2] He made his debut for the club on 30 September, replacing Clarence Seedorf late into a 2–0 away loss against Bahia for the Série A championship.[citation needed]
Bruno Mendes scored his first goal for Bota on 14 October 2012, netting the equalizer in a 1–1 away draw against Grêmio. Five days later he scored a brace in a 3–2 home win against Vasco da Gama, and finished the month with five goals in six matches.[citation needed]
In November 2012, former Guarani player Andrei Frascarelli claimed the club owed him wages and asked the court to grant the rights of Bruno Mendes to him.[3] Eventually Macaé assumed the debt, and paid Andrei R$580,000 to settle the case.[4]