I downloaded a few shapefiles but they're in EPSG:4326 and I need them in EPSG:3857. Is there a way to convert/save these files using PyQGIS?
You can use the Reproject Layer algorithm from the processing toolbox.
Let's assume you have a cities.shp in a folder named testing, and you want to create a new file cities_prj.shp that is transformed into EPSG:3857, then this would do it:
import processing processing.runalg("qgis:reprojectlayer", r"D:\testing\cities.shp", "epsg:3856", r"D:\testing\cities_prj.shp")