# Build an API From the Ground up

## Things to consider before start

* REST v/s Web Services (SOAP)
* Response Data Format (XML, JSON)
* Service Contract Description
* API Authentication
* Service Versioning
* Rate Limits
* Documentation
* Helper Libraries
* Dedicated Public API Web page/site

## How to start

### Plan

* Specify a clear design structure for how the API should be build.
* Tools
  * Swagger Editor

### Build

* Generate boilerplate code in different languages.
* Tools
  * Swagger Codegen

### Inspect

* make sure all APIs are working
* Tools
  * Swagger Inspector

### Describe and document

* Documenting your project for your end user
* Tools
  * Swagger UI

### Put it on the market

## To get more insights

* [Public API Design Factors](https://rominirani.com/public-api-design-factors-d2c25893125f)
* [How to Build an API From The Ground Up](https://swagger.io/blog/api-development/how-to-build-an-api/)
