Porto B Rui began his journey in the acclaimed youth system of FC Porto, where he progressed through the ranks, featuring prominently in its Under-15, U17, and U19 sides. He was subsequently promoted to Porto's B side. On 7 August 2016, Pires made his professional debut with
Porto B in a
2016–17 LigaPro match against
Aves.
Troyes On 9 July 2019, Pires moved on a free transfer to
Ligue 2 side
Troyes. He make his debut for the club on 26 July in 2–0 win over
Chamois Niort. On 26 October, Pires assisted
Lenny Pintor who then went on to scored the winner in the 85th minute in a 1–0 win over
Lorient. In December, he suffered
anterior cruciate ligament injury ending his season prematurely. He ended up making 13 appearances in his first season. Pires make his returned on 28 September 2020 coming on as a substitution in a 1–0 win over
Clermont Foot. He won the French second-tier
Ligue 2 with Troyes in the
2020–21 season where he make 19 appearances.
Paços de Ferreira On 26 July 2021, Pires returned to Portugal and joined
Paços de Ferreira on loan. His loan was made permanent after a successful loan. During his time with Paços Ferreira, Rui showed his capabilities on the European stage, making two appearances in the
2021–22 UEFA Europa Conference League qualifiers against
Tottenham Hotspurs.
Lion City Sailors On 29 June 2023, it was reported by the Portuguese press that Pires had moved to
Singapore to play for
Lion City Sailors. He was officially announced as the new signing for the team on 14 July 2023 signing a two-year contract however, as the foreign quota for the league slot is full, Pires will be registered in the club
2023–24 AFC Champions League matches instead. On 26 July 2023, Pires make his debut for the club in a friendly match against Tottenham Hotspurs at the
Singapore National Stadium. On 20 September 2023, Pires played his first official game for the club in the 2023–24 AFC Champions League group stage fixture against Thai club
Bangkok United in a 2–1 lost. On 18 July 2024, Pires make his league debut in a 5–0 lost to Tampines Rovers. During the
2024–25 ASEAN Club Championship against Indonesian club
Borneo Samarinda, he picked up his second yellow card 35 seconds after receiving the first yellow where he sees red for the first time of his career. Despite
Maxime Lestienne's equaliser in the 91st minute of the
2025 AFC Champions League Two final against
Sharjah, the Sailors finished as a runner-up after conceding in the 97th minute to finish the game in a 1–2 defeat. ==Career statistics==