On 20 July 2015, Ferri was signed by Serie C side SPAL on a season-long loan deal. On 2 August he made his debut for SPAL as a substitute replacing Marco Cellini in the 81st minute of a 1–0 home win over Rende in the first round of Coppa Italia. On 10 October he made his Serie C debut as a substitute replacing Michele Castagnetti in the 86th minute of a 0–0 away draw against Prato. On 24 October he scored his first professional goal, as a substitute, in the 91st minute of a 4–1 home win over Lupa Roma. On 8 May 2016, Ferri played his first match as a starter for SPAL, a 2–1 home defeat against Tuttocuoio, he was replaced by Gianmarco Zigoni in the 72nd minute. Ferri ended his loan to SPAL with 8 appearances and 1 goal.
On 11 July 2016, Ferri was loaned to Serie C club Messina on a season-long loan deal. On 31 July he made his debut for Messina as a substitute replacing Nicola Ciccone in the 76th minute of a 3–0 away win over Robur Siena in the first round of Coppa Italia. On 7 August he played in the second round, again as a substitute replacing Nicola Ciccone in the 71st minute of a 2–0 away defeat against SPAL. On 4 September he made his Serie C debut for Messina as a substitute replacing Giuseppe Madonia in the 63rd minute of a 2–0 away defeat against Reggina. On 11 September, Ferri played his first match as a starter for Messina, a 1–1 home draw against Virtus Francavilla, he was replaced by Felice Gaetano in the 61st minute. On 9 October he played his first entire match for Messina, a 3–1 away defeat against Catania. Ferri ended his loan to Messina with 21 appearances and 2 assists.
On 14 July 2017, Ferri was signed by Serie C side Piacenza on a season-long loan deal. On 30 July, Ferri made his debut for Piacenza in a 1–0 home win over Massese in the first round of Coppa Italia, he was replaced by Massimo Carollo in the 89th minute. On 12 August he played in the second round as a substitute replacing Simone Dalla Latta in the 89th minute of a 2–1 away defeat against Crotone. On 27 August he made his Serie C debut for Piacenza as a substitute replacing Andrea Nobile in the 46th minute of a 2–0 away defeat against Monza. In January 2018, Ferri was re-called to Roma leaving Piacenza with 7 appearances, only 1 as a starter, and 1 assist. On 31 January 2018, he was loaned to Serie C club Renate on a 6-month loan deal. On 21 March he made his Serie C debut for Renate as a substitute replacing Francesco Finocchio in the 83rd minute of a 2–2 away draw against Gubbio. Ferri ended his 6-month loan to Renate with only 4 appearances, all as a substitute.