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

Programación en Python (Coursera) Coursera
Universidad de los Andes

Programación en Python (Coursera)

¡Te damos la bienvenida al curso de Programación en Python de la Universidad de los Andes! El propósito de este curso es ofrecerte un ambiente interactivo para que desarrolles tus habilidades de pensamiento computacional, aprendas a programar en el lenguaje Python y te entrenes en la resolución de problemas utilizando un computador. La estrategia pedagógica empleada es el aprendizaje activo basado en casos.

Sep 28th 2026
4 Weeks
Intro to AJAX (Udacity) Udacity
Udacity

Intro to AJAX (Udacity)

Making Asynchronous Requests with jQuery. In this course you will learn how to make asynchronous requests with JavaScript (using jQuery’s AJAX functionality), and gain a better understanding of what’s actually happening when you do so. You will also learn how to use data APIs so you can take advantage of freely accessible data in your applications, including photo results, news articles and up-to-date data about the world around us.

Self Paced
Self-Paced
Programming for Data Science (Coursera) Coursera
University of Leeds

Programming for Data Science (Coursera)

Explore the basics of programming and familiarise yourself with the Python language. After completing this course, you will be able to write Python programs in Jupyter Notebook and describe basic programming. In this course, you will learn everything you need to start your programming journey. You will discover the different data types available in Python and how to use them, learn how to apply conditional and looping control structures, and write your own functions.

Sep 21st 2026
3 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
How to Modernize applications with IBM CICS (Coursera) Coursera
IBM

How to Modernize applications with IBM CICS (Coursera)

This course explains why CICS is perfect for powering the next generation of enterprise applications and how you can help build them. IBM CICS is the trusted core of enterprise applications and transaction processing. You will experience writing, updating and running CICS applications as well as the new APIs, capabilities and functions that will allow you to modernize these applications to run as part of a hybrid cloud application.

Sep 21st 2026
4 Weeks
Practical Python for AI Coding 1 (Coursera) Coursera
Korea Advanced Institute of Science and Technology - KAIST

Practical Python for AI Coding 1 (Coursera)

This course is for a complete novice of Python coding, so no prior knowledge or experience in software coding is required. This course selects, introduces and explains Python syntaxes, functions and libraries that were frequently used in AI coding. In addition, this course introduces vital syntaxes, and functions often used in AI coding and explains the complementary relationship among NumPy, Pandas and TensorFlow, so this course is helpful for even seasoned python users.

Sep 28th 2026
5-12 Weeks
Problem Solving, Python Programming, and Video Games (Coursera) Coursera
University of Alberta

Problem Solving, Python Programming, and Video Games (Coursera)

This course is an introduction to computer science and programming in Python. Important computer science concepts such as problem solving (computational thinking), problem decomposition, algorithms, abstraction, and software quality are emphasized throughout. The Python programming language and video games are used to demonstrate computer science concepts in a concrete and fun manner. However, a learner can take the knowledge and skills from this course and apply them to non-game problems, other programming languages, and other computer science courses.

Sep 21st 2026
5-12 Weeks
Big Data Science with the BD2K-LINCS Data Coordination and Integration Center (Coursera) Coursera
Icahn School of Medicine at Mount Sinai

Big Data Science with the BD2K-LINCS Data Coordination and Integration Center (Coursera)

In this course we briefly introduce the DCIC and the various Centers that collect data for LINCS. We then cover metadata and how metadata is linked to ontologies. We then present data processing and normalization methods to clean and harmonize LINCS data. This follow discussions about how data is served as RESTful APIs. Most importantly, the course covers computational methods including: data clustering, gene-set enrichment analysis, interactive data visualization, and supervised learning. Finally, we introduce crowdsourcing/citizen-science projects where students can work together in teams to extract expression signatures from public databases and then query such collections of signatures against LINCS data for predicting small molecules as potential therapeutics.

Sep 21st 2026
5-12 Weeks
Machine Learning: Concepts and Applications (Coursera) Coursera
University of Chicago

Machine Learning: Concepts and Applications (Coursera)

This course gives you a comprehensive introduction to both the theory and practice of machine learning. You will learn to use Python along with industry-standard libraries and tools, including Pandas, Scikit-learn, and Tensorflow, to ingest, explore, and prepare data for modeling and then train and evaluate models using a wide variety of techniques. Those techniques include linear regression with ordinary least squares, logistic regression, support vector machines, decision trees and ensembles, clustering, principal component analysis, hidden Markov models, and deep learning.

Sep 21st 2026
5-12 Weeks
Applied Calculus with Python (Coursera) Coursera
Johns Hopkins University

Applied Calculus with Python (Coursera)

This course is designed for the Python programmer who wants to develop the foundations of Calculus to help solve challenging problems as well as the student of mathematics looking to learn the theory and numerical techniques of applied calculus implemented in Python. By the end of this course, you will have learned how to apply essential calculus concepts to develop robust Python applications that solve a variety of real-world challenges.

Sep 28th 2026
5-12 Weeks