| Imię | João Pedro | |
| Nazwisko | da Silva Pinheiro | |
| Kraj |  Portugalia | |
| Data urodzenia | 4 stycznia 1988 | |
| Miejsce urodzenia |  Vila Nova de Famalicão | |
| Okręg |  Braga | |
 2019/20 | 2020/21 | 2021/22 | 2022/23 | 2023/24 | 2024/25
2019/20 | 2020/21 | 2021/22 | 2022/23 | 2023/24 | 2024/25
| data | rozgrywki | gospodarze | wynik | goście |   |   | karne | 
| LM, Kolejka 2 | Szachtar Donieck | 0-3 | Atalanta BC | 3 (1 + 2) | 0 (0 + 0) | 0 (0 + 0) | |
| LM, Kolejka 3 | Aston Villa FC | 2-0 | Bologna FC 1909 | 5 (1 + 4) | 0 (0 + 0) | 0 (0 + 0) | |
| LM, Kolejka 5 | FC Internazionale Milano | 1-0 | RB Leipzig | 4 (2 + 2) | 0 (0 + 0) | 0 (0 + 0) | |
| LM, Kolejka 8 | FC Bayern München | 3-1 | ŠK Slovan Bratysława | 3 (0 + 3) | 0 (0 + 0) | 0 (0 + 0) | |
| LE, 1/16 finału - I mecz | AZ (Alkmaar) | 4-1 | Galatasaray SK | 6 (2 + 4) | 1 (0 + 1) | 1 (1 + 0) | |
| LM, 1/8 finału - I mecz | Club Brugge KV | 1-3 | Aston Villa FC | 0 (0 + 0) | 0 (0 + 0) | 1 (0 + 1) | |
| LE, 1/8 finału - II mecz | Tottenham Hotspur FC | 3-1 | AZ (Alkmaar) | 1 (0 + 1) | 0 (0 + 0) | 0 (0 + 0) | |
| LK, 1/4 finału - II mecz | ACF Fiorentina | 2-2 | NK Celje | 3 (2 + 1) | 0 (0 + 0) | 0 (0 + 0) | |
| LK, 1/2 finału - II mecz | Chelsea FC | 1-0 | Djurgårdens IF | 2 (1 + 1) | 0 (0 + 0) | 0 (0 + 0) | |
| A | Finlandia | 2-1 | Polska | 3 (1 + 2) | 0 (0 + 0) | 1 (1 + 0) | 
| klub | mecze | zwycięstwa | remisy | porażki | bramki | karne | żółte | czerwone | 
| ŠK Slovan Bratysława | 1 | 0 | 0 | 1 | 1-3 | 0-0 | 3-0 | 0-0 | 
| ACF Fiorentina | 1 | 0 | 1 | 0 | 2-2 | 0-0 | 2-1 | 0-0 | 
| Aston Villa FC | 2 | 2 | 0 | 0 | 5-1 | 1-0 | 1-4 | 0-0 | 
| Atalanta BC | 1 | 1 | 0 | 0 | 3-0 | 0-0 | 2-1 | 0-0 | 
| AZ (Alkmaar) | 2 | 1 | 0 | 1 | 5-4 | 1-0 | 3-4 | 0-1 | 
| Bologna FC 1909 | 1 | 0 | 0 | 1 | 0-2 | 0-0 | 4-1 | 0-0 | 
| Chelsea FC | 1 | 1 | 0 | 0 | 1-0 | 0-0 | 1-1 | 0-0 | 
| Club Brugge KV | 1 | 0 | 0 | 1 | 1-3 | 0-1 | 0-0 | 0-0 | 
| Djurgårdens IF | 1 | 0 | 0 | 1 | 0-1 | 0-0 | 1-1 | 0-0 | 
| FC Bayern München | 1 | 1 | 0 | 0 | 3-1 | 0-0 | 0-3 | 0-0 | 
| FC Internazionale Milano | 1 | 1 | 0 | 0 | 1-0 | 0-0 | 2-2 | 0-0 | 
| Finlandia | 1 | 1 | 0 | 0 | 2-1 | 1-0 | 1-2 | 0-0 | 
| Galatasaray SK | 1 | 0 | 0 | 1 | 1-4 | 0-1 | 4-2 | 1-0 | 
| NK Celje | 1 | 0 | 1 | 0 | 2-2 | 0-0 | 1-2 | 0-0 | 
| Polska | 1 | 0 | 0 | 1 | 1-2 | 0-1 | 2-1 | 0-0 | 
| RB Leipzig | 1 | 0 | 0 | 1 | 0-1 | 0-0 | 2-2 | 0-0 | 
| Szachtar Donieck | 1 | 0 | 0 | 1 | 0-3 | 0-0 | 1-2 | 0-0 | 
| Tottenham Hotspur FC | 1 | 1 | 0 | 0 | 3-1 | 0-0 | 0-1 | 0-0 | 
 Legenda: Przy żółtych i czerwonych kartkach oraz rzutach karnych w nawiasach podano liczby dotyczące gospodarzy i gości.
Legenda: Przy żółtych i czerwonych kartkach oraz rzutach karnych w nawiasach podano liczby dotyczące gospodarzy i gości.
 Razem 10 meczów; 30 (10 + 20)
Razem 10 meczów; 30 (10 + 20)  kartek; 1 (0 + 1)
kartek; 1 (0 + 1)  kartek; 3 (2 + 1) karnych.
 kartek; 3 (2 + 1) karnych.
 Średnio:  3 (1 + 2)
Średnio:  3 (1 + 2)  kartek na mecz.
kartek na mecz. Średnio: 0,1 (0 + 0,1)
Średnio: 0,1 (0 + 0,1)  kartek na mecz.
 kartek na mecz. Średnio: 0,3 (0,2 + 0,1) karnych na mecz.
Średnio: 0,3 (0,2 + 0,1) karnych na mecz.