Web API Development with Flask

Master RESTful API development with Python and Flask
3.5 (15 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
115 students enrolled
80% off
Take This Course
  • Lectures 25
  • Length 1.5 hours
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2016 English

Course Description

Whether working in the enterprise, building for web or mobile, you will need to build (if you haven't already) RESTful APIs to serve data between different client applications and endpoints. This course delivers the fundamental knowledge required to enable highly connected interaction between applications through building RESTful web APIs.

Building good web APIs is not an easy task, but is a necessity for applications that support multiple platforms (mobile, tablet, and web applications) especially with the modern, mobile-first approach to development. In this course, you will learn how to build up and structure an effective web API that can be used by any client application accessing it over the HTTP protocol.

We will start out with basics of the Flask framework before establishing a comprehensive foundation of working with CRUD operations using SQLAlchemy and MySQL as the data store. You’ll get an understanding of how REST works relative to APIs, and we’ll cover how to test APIs written in Python with the support of Flask. You will learn about token-based authentication and find out how to store passwords securely in your database. Best practices and design guidelines when building large applications are also presented.

After completing Web API Development with Flask, you will have enhanced your technical knowledge about RESTful web APIs and have absorbed best practices that can be applied practically in the future.

About The Author

Gergo Bogdan is a software engineer with over 7 years of experience in the IT industry. During this time, he worked at small companies and multinational organizations too. He has vast expertise in multiple technologies, starting from .NET to Python to JavaScript to Java. He loves to create technical articles and tutorials for fellow developers.

What are the requirements?

  • Developers should be familiar with Python and basic web concepts, such as HTTP verbs and JSON, and should possess basic database knowledge in order to understand SQLAlchemy concepts.

What am I going to get from this course?

  • Understand the fundamental capabilities of the Flask framework
  • Find out how HTTP/Verb methods are used for CRUD operations
  • Become efficient using SQLAlchemy to store and query data models
  • Design and develop large applications independently from Flask
  • Integrate and develop authorization mechanisms in web APIs
  • Explore security principles, and understand how storing passwords should be implemented
  • Use the Flask test client efficiently to run automated tests

Who is the target audience?

  • This video is for web developers who want to build RESTful web APIs using Flask with Python.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Getting Up to Speed with Flask

This video will provide an overview of the entire course.


The aim of this video is to present how to create a Flask development environment, how to install Flask, how to create a simple web API, and how to run the project.


In order to create a nicely usable and developer-friendly web API, we need to be able to define separate access paths for the assets that we want to manage through the web API. These paths can be configured by defining custom routing inside Flask.


The goal of this video is to give an overview of Flask's template support.


In this video, we will review how to send messages from the server-side to templates (flash messages) and how to define and map custom error pages.

Section 2: Implementing Create and Read through a RESTful API

The purpose of this video is to present the basic concepts behind CRUD operations and the REST software architecture style.


The purpose of this video is to present SQLAlchemy, Python’s well-known ORM package, present the new data model for our project and present how to use SQLAlchemy in Python with the MySQL database engine.


This video aims at presenting how to implement the Create operation (from CRUD) using Flask and SQLAlchemy, and how to apply best practices to Create.


The aim of this video is to present how to implement the Read operation from CRUD using SQLAlchemy and Flask.

Section 3: Implementing Update and Delete through a RESTful API

In this video, we aim to cover how to implement the Update operation from CRUD using Flask and SQLAlchemy as a RESTful API.


In this video, we are going to cover how to implement the Delete CRUD operation using Flaks and SQLAlchemy


In this video, we are going to take a look at an advanced topic of REST, Hypermedia, and HATEOAS; these decouple the client and server application architecture.


In this video, we are going to cover why it is useful to have paginated data.

Section 4: Extending the Web API

In this video, we are going to cover how to implement authentication in RESTful APIs.


In this video, we are going to take a look at how to improve the response time of your API by applying different types of caching.


In this video, we will review the best practices for handling errors within our restful API.


The aim of this video is to cover the design guidelines that should be taken into account when building large applications/APIs using Flask.

Section 5: Securing Web APIs

The aim of this video is to present why HTTPS should be used for APIs.


The aim of this video is to present how Token Authentication can be implemented using Flaks.


The aim of this video is to present how to manage cookies in a Flask application.


The aim of this video is to present how passwords should be stored within a web application.

Section 6: Testing Web APIs

The aim of this video is to present the Flask test client and how can it be used for application testing.


The aim of this video is to present how we can test different routes using the Flask Test Client.


The aim of the video is to present how to use the Flask Test Client for testing CRUD operations.


The aim of this video is to present how an authentication layer of our Flask application can be tested using Flask Test Client.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.

Ready to start learning?
Take This Course