This is basically a way for 2 peices of software to communicate with each other. These software could be written in different languages e.g Python and JavaScript. You can build functionality in one application to make a request from another application and this application can return a response.The application making a request receives the a response in JSON(JavaScript Object Notation) or XML to the request it made.
The url you hit when you are making a request is called an endpoint