Designing RESTful APIs (Udacity)

Offered by Udacity,
Designing RESTful APIs (Udacity)

Build and Secure a Backend API Server. API (Application Programming Interface) endpoints are the connections between your application and the rest of the developer community. In this course you will learn about writing secure, developer-friendly APIs that will make your back-end application thrive and keep your users happy.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

At the end of this course you will create the back-end for a social application called "Meet n' Eat" that matches together users based on their location and food interests.
A crucial skill for a back-end or full-stack web developer is the ability to make applications that are easily accessible and understood for other developers . Mobile developers, front-end developers and other back-end and full-stack developers all rely on API endpoints to enhance the functionality of their applications.

What You Will Learn

Lesson 1
What's and Why's of APIs

  • Learn about the basics of APIs and why they are important.
  • How to choose the appropriate technologies for implementing a modern web API.

Lesson 2
Accessing Published APIs

  • Explore published APIs from Foursquare and Google Maps.
  • See how these companies implement their API endpoints.
  • Now leverage some of this information for our own use!

Lesson 3
Creating your own API Endpoints

  • Use Flask to build your own web server.
  • Setup API endpoints that follow the constraints to qualify as a RESTful API.

Lesson 4
Securing your API

  • Learn about API security.
  • How to add OAuth login and token-based authentication.
  • Learn to Rate limit your API endpoints.

Lesson 5
Writing Developer-Friendly APIs

  • Learn some API best practices using real-world examples.
  • Take on the final project!

Prerequisites and Requirements
This course assumes you have experience working with the Flask web development framework, SQLAlchemy, and understand the basics of OAuth 2.0. Python will be the primary language of instruction for the entirety of this course.Recommended Courses:

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Machine Learning Foundations: A Case Study Approach (Coursera) Coursera
University of Washington

Machine Learning Foundations: A Case Study Approach (Coursera)

Do you have data and wonder what it can tell you? Do you need a deeper understanding of the core ways in which machine learning can improve your business? Do you want to be able to converse with specialists about anything from regression and classification to deep learning and recommender systems? In this course, you will get hands-on experience with machine learning from a series of practical case-studies.

Jun 8th 2026
5-12 Weeks
Deep Learning and Reinforcement Learning (Coursera) Coursera
IBM

Deep Learning and Reinforcement Learning (Coursera)

This course introduces you to two of the most sought-after disciplines in Machine Learning: Deep Learning and Reinforcement Learning. Deep Learning is a subset of Machine Learning that has applications in both Supervised and Unsupervised Learning, and is frequently used to power most of the AI applications that we use on a daily basis. First you will learn about the theory behind Neural Networks, which are the basis of Deep Learning, as well as several modern architectures of Deep Learning.

Jun 8th 2026
5-12 Weeks
Basic Data Processing and Visualization (Coursera) Coursera
University of California, San Diego

Basic Data Processing and Visualization (Coursera)

This is the first course in the four-course specialization Python Data Products for Predictive Analytics, introducing the basics of reading and manipulating datasets in Python. In this course, you will learn what a data product is and go through several Python libraries to perform data retrieval, processing, and visualization.

Jun 8th 2026
5-12 Weeks
Using Python to Interact with the Operating System (Coursera) Coursera
Google

Using Python to Interact with the Operating System (Coursera)

By the end of this course, you’ll be able to manipulate files and processes on your computer’s operating system. You’ll also have learned about regular expressions -- a very powerful tool for processing text files -- and you’ll get practice using the Linux command line on a virtual machine. And, this might feel like a stretch right now, but you’ll also write a program that processes a bunch of errors in an actual log file and then generates a summary file. That’s a super useful skill for IT Specialists to know.

Jun 9th 2026
5-12 Weeks
Python Classes and Inheritance (Coursera) Coursera
University of Michigan

Python Classes and Inheritance (Coursera)

This course introduces classes, instances, and inheritance. You will learn how to use classes to represent data in concise and natural ways. You'll also learn how to override built-in methods and how to create "inherited" classes that reuse functionality. You'll also learn about how to design classes. Finally, you will be introduced to the good programming habit of writing automated tests for their own code.

Jun 8th 2026
3 Weeks
Machine Learning: Classification (Coursera) Coursera
University of Washington

Machine Learning: Classification (Coursera)

Case Studies: Analyzing Sentiment & Loan Default Prediction. In our case study on analyzing sentiment, you will create models that predict a class (positive/negative sentiment) from input features (text of the reviews, user profile information,...). In our second case study for this course, loan default prediction, you will tackle financial data, and predict when a loan is likely to be risky or safe for the bank.

Jun 8th 2026
5-12 Weeks
Databases and SQL for Data Science with Python(Coursera) Coursera
IBM

Databases and SQL for Data Science with Python(Coursera)

Much of the world's data resides in databases. SQL (or Structured Query Language) is a powerful language which is used for communicating with and extracting data from databases. A working knowledge of databases and SQL is a must if you want to become a data scientist. The purpose of this course is to introduce relational database concepts and help you learn and apply foundational knowledge of the SQL language. It is also intended to get you started with performing SQL access in a data science environment.

Jun 8th 2026
4 Weeks
Authentication & Authorization: OAuth (Udacity) Udacity
Udacity

Authentication & Authorization: OAuth (Udacity)

Implementing Web Security with OAuth 2.0. As a Python programmer, leveraging Flask allows you to quickly and easily build your own web applications. But before you share your apps on the Internet you should protect your users' data, ensuring information stored on your site is safe from unwanted manipulation. You could implement web security and permissions on your own, but relying on trusted providers is a faster, safer, and easier way to allow users to login to your application - without having to create and maintain another account, profile, and password.

Self Paced
Self-Paced