Bring a medium pot of water to a rolling boil. Carefully drop each apple into the boiling water for about 20 seconds to remove any waxy coating.
Carefully transfer the apples to an ice bath to prevent them from becoming soft.
Dry the apples and twist off their stems. Then, insert lollipop sticks through the center of each apple. Inserting the sticks is easier if you line the stick up with the stem of the apple, turn the entire thing upside down, then lightly tap on a hard surface to gently force the stick through the core of each apple (try your best to keep it straight)!
Set the apples on a parchment or wax paper lined baking sheet and transfer to the fridge to chill while you make the caramel.
Chop whatever toppings you want to coat your caramel apples in before starting the caramel, and transfer them to small bowls for easy access.
In a medium saucepan on medium-low heat, combine the butter, brown sugar, light corn syrup and sweetened condensed milk.
Using a whisk or rubber spatula, stir the mixture continuously until it reaches 235-240 degrees F. , making sure to get the edges and bottom of the pan so that nothing burns. This process can take between 20-25 minutes so it's important to be patient and not walk away from the caramel!
Once the caramel comes to temperature, turn off the heat and stir in the vanilla extract. Working quickly, dip apples into the hot caramel. You can let the excess caramel drip off the bottom or run the bottom on the sides of the saucepan, then transfer back to the prepared baking sheet. (If you're coating the apples in toppings, do that right after you dip each apple in caramel so that the toppings will stick).
Let the caramel apples set for at least 10 minutes before enjoying this delicious treat!