entsoe has an API but its horrible XML code. I tried to work with it but just gave up at some point, too painful. I would recommend entsoe_py if you are using python, its pandas-based and does not contain all entsoe functionality but much more pleasant to work with
I generally agree, but for some of the data you need to download one csv file per month (or at least i could not avoid that) and at than point it becomes easier to use the api