Getting Started with REST APIs

Find the API Documentation


Figure out authentication

• REST APIs have various methods of authenticating calls. To discover what kind of authentication a particular API uses, read the documentation for that API


Determine the Endpoints

• An endpoint is the URI where you send an HTTP request

# Syntax

# Examples
# <HTTP method> <endpoint>

# or

# or

# or 


• An API provider can make an endpoint URI private and accessible only through a VPN or can make it completely public on the Internet. API endpoints require https or TLS and are publicly available
• To improve performance, a provider might include the geographical location of an endpoint to specify an instance of the API. Amazon Web Services does this with the endpoint,
• You can learn which endpoints are available by reading the documentation


Understanding REST API Verbs

• Refer to previous section


Understanding REST API parameters

• Parameters often provide details so that you can scope, filter, or clarify a request. These parameters are usually optional


Understanding REST API Data Formats

• When sending a request, data formats are also called payloads. Refer to the REST API Documentation for your product to learn if it supports JSON and XML as data formats
• If you want to find out the format, check the documentation and then to verify, check the Content-Type header that's returned




• Stands for "Client for URLs"
• Linux command line application
• When using cURL to make REST API method calls, you typically use the following options and arguments:
-X followed by a request verb such as GET, PUT, POST, PATCH, or DELETE
-H followed by a header such as a token to send with the requests

# Examples: curl (with authentication)
curl -X GET -H "Authorization:Bearer YjE2...e10f"

curl -H "Authorization:token OAUTH-TOKEN"


curl ''


• A Chrome browser plugin or stand-alone application for API development environment
• You can generate Python code that uses the Requests library within Postman

Python Requests

• Requests is a Python library for automating tasks using a REST API
• Documentation and examples available at

OpenAPI / Swagger

• Dynamic API Documentation

Browser Developer Tools

• View traffic and details within the browser