What is an API?
API stands for Application Programming Interface. APIs are mechanisms that enable two software components (usually frontend and backend) to communicate with each other using a set of definitions and protocols. This contract defines how the two communicate with each other using requests and responses. You do not need to take care about the layer behind the other end. You only focus in your API communication. For example, the weather bureau’s software system contains daily weather data. The weather app on your phone “talks” to this system via APIs and shows you daily weather updates on your phone.
What are REST APIs?
REST stands for Representational State Transfer. REST defines a set of functions like GET, PUT, DELETE, etc. that clients can use to access server data. Clients and servers exchange data using HTTP, so you do not need to install extra components or tools.
The main feature of REST API is statelessness. Statelessness means that servers do not save client data between requests. Client requests to the server are similar to URLs you type in your browser to visit a website. The response from the server is plain data, without the typical graphical rendering of a web page.
Usually we need a server to provide API from backend, but what if we are not a backend developer? Where can we find some free API for development or testing?
- Restful API – for development and testing
- Photos – an image list api
- Store – an e-commerce store api
- Words – word definition, contextual details, synonyms, speech, rhymes, region of use, etc.
- User – user table api with tel, email, images
- Avatar – a profile picture api
- PDF – online PDF editor
If you are looking for something else, you may search it from https://rapidapi.com/hub. It has a lot of free API.
JSON API to Class
If you are not good in writing a Class in another programming language for the JSON API, you may consider to use some web service to help you.