Get yourself familiar with any programming language like VB, .Net, C, C++ and then you can start making your programs/macro and test them.
If you looking for a book, check here: SolidWorks API - Programming & Automation
If you looking for video tutorials, check here: Video Tutorials for the SolidWorks API
If you looking for examples/website for macro example, then the forum itself is full of tons of examples. Some of the other sites to look at are:
Thank you so much.
The best way to get good in API is to start by being bad in API, but try. All Deepak's suggestions are good.
Most of my education in API, especially early on, has been to solve repetetive tasks in SolidWorks that I don't want to do anymore. It's always more fun to learn, and the knowledge sticks better, when you have a certain goal to achieve apart from just learning. If you can't think of any challenges for yourself, the forums are full of good problems that others need to have solved.