An Application Programming Interface (API) is provided by a service or program so that others may use the features and functions of the system. APIs are like a contract that describes how a consumer will make requests of the system, and what they will receive in return.
An API defines the means by which the consumer of the API invokes functions and receives data in return from the provider of the API. There are many different kinds of APIs, from the Swift APIs provided by iOS to build mobile apps, to RESTful APIs provided by Twilio that allow developers to send SMS and do tons of other things.
Twilio, as an API company, provides many different kinds of APIs to our customers to help them build applications that communicate. Check out the API reference for a full listing of the types of APIs Twilio provides for developers to use. Primarily, Twilio provides REST APIs and software APIs for developers to interact with in order to do fun things like answer phone calls, make video calls, or instantly synchronize data between two clients.
A REST API allows systems to communicate with one another and invoke functions over the Internet.
In a typical software program, you will use a combination of a programming language's built-in features and syntax along with APIs provided either by the language's standard library or libraries created and published by third parties. Twilio provides libraries for many popular programming languages that allow developers on those platforms to more easily consume our services.
Here's an example of using Twilio's helper libraries to send an SMS message using different languages.