What Is an API and How to Design One? A Complete Guide ๐ ๏ธ
Learn what an API is and discover step-by-step how to design effective APIs that facilitate seamless integration and functionality.

Gaurav Sen
811.5K views โข Mar 17, 2019

About this video
An API or application programmable interface is a software contract that defines the expectations and interactions of a piece of code exposed to external users. This includes the parameters, response, errors, and API name.
We discuss how to design an API and what it takes to make the design scalable, extensible, and easy to use. HTTP APIs are widely used in software systems. HTTP is a stateless protocol, and systems often expose APIs using it.
00:00 Who should watch this?
00:13 What is an API?
01:41 Best Practices
02:22 Naming APIs
02:43 Define Parameters
03:29 Define Response Objects
05:02 Define Errors
06:22 HTTP Endpoints
07:47 GET vs. POST
09:10 Side Effects
12:09 Pagination
13:51 Data Consistency
15:11 Thank you!
Recommended system design video course:
https://interviewready.io
Along with video lectures, this course has architecture diagrams, capacity planning, API contracts, and evaluation tests. It's a complete package.
References:
https://medium.com/airbnb-engineering/building-services-at-airbnb-part-1-c4c1d8fa811b
https://swagger.io/docs/specification/about/
Designing Data-Intensive Applications - https://amzn.to/2yQIrxH
System Design Playlist: https://www.youtube.com/playlist?list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX
You can follow me on:
Facebook: https://facebook.com/gkcs0/
Quora: https://www.quora.com/profile/Gaurav-Sen-6
LinkedIn: https://www.linkedin.com/in/gaurav-sen-56b6a941/
We discuss how to design an API and what it takes to make the design scalable, extensible, and easy to use. HTTP APIs are widely used in software systems. HTTP is a stateless protocol, and systems often expose APIs using it.
00:00 Who should watch this?
00:13 What is an API?
01:41 Best Practices
02:22 Naming APIs
02:43 Define Parameters
03:29 Define Response Objects
05:02 Define Errors
06:22 HTTP Endpoints
07:47 GET vs. POST
09:10 Side Effects
12:09 Pagination
13:51 Data Consistency
15:11 Thank you!
Recommended system design video course:
https://interviewready.io
Along with video lectures, this course has architecture diagrams, capacity planning, API contracts, and evaluation tests. It's a complete package.
References:
https://medium.com/airbnb-engineering/building-services-at-airbnb-part-1-c4c1d8fa811b
https://swagger.io/docs/specification/about/
Designing Data-Intensive Applications - https://amzn.to/2yQIrxH
System Design Playlist: https://www.youtube.com/playlist?list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX
You can follow me on:
Facebook: https://facebook.com/gkcs0/
Quora: https://www.quora.com/profile/Gaurav-Sen-6
LinkedIn: https://www.linkedin.com/in/gaurav-sen-56b6a941/
Tags and Topics
Browse our collection to discover more content in these categories.
Video Information
Views
811.5K
Likes
17.1K
Duration
15:26
Published
Mar 17, 2019
User Reviews
4.8
(162) Related Trending Topics
LIVE TRENDSRelated trending topics. Click any trend to explore more videos.