3 AnswersNew Answer
API is not necessarily used to send queries to a database. It is not SQL! Let's start from the basics. API is an interface to a program. It ensures guided usage of the program. A little analogy might help. Say you have a water dispenser, the type with buttons. When you need hot water, you don't disassemble the machine and work out hot water yourself. Instead, you simply press a button and hot water is "magically" produced. If that dispenser was a computer program, the buttons are the API. An API ensures that clients of a program only use it in the intended way without breaking things. API can be a few accessor methods in a program. It can also be something as complex as a native app. APIs are necessary when more than one person needs to modify a program e.g a database. Not everybody has good database skills also third-party apps may need to access your database. You don't go about giving direct access to anyone that needs to use your database.
No, it's a description or blueprint of an interface. A software can implement or use that interface, but API on its own is not a software
It's basically a function. A complicated one but still one. The function takes parameters you send it and comes back with a response, whether XML or JSON