REST APIs with Flask and Python in 2025 (Udemy.com)
Build professional REST APIs with Python, Flask, Docker, Flask-Smorest, and Flask-SQLAlchemy
Created by: Jose Salvatierra
Last updated November 2025
Our take
Based on the ratings of 25,278 students, a sample of their written reviews and the syllabus, as the course stood in November 2025. No course pays to be reviewed.
Jose Salvatierra's course teaches you to build REST APIs in Python with Flask, Flask-Smorest, Flask-SQLAlchemy and JWT logins, then ship them with Docker and Render. It runs about 12.6 hours over 132 lectures, and roughly five hours of that is a Python refresher at the start. That makes it a fit for people who have programmed in some language and want a backend project, not for true beginners. It has about 148,000 students and a Bestseller badge, and the rating sits at 4.7 from over 25,000 reviews.
Students who like it talk about easy steps and exercises that are fun to do. The best reviews call the content complete and well explained. The criticism is consistent, though. A few say Jose types code quickly without first explaining why a library is needed. Others find the refresher too long and the Docker section too shallow to be useful. One recent reviewer hit services that changed since filming: Elephant SQL is gone, Mailgun's free plan is different, and Insomnia is no longer the same. Another found the later sections hard to follow.
Only about 450 of the 25,000 ratings are one or two stars, so most ratings are positive. The course was last updated in November 2025, which helps, but expect to look up replacement tools when a hosted service has changed. For programmers who can already code and want a guided build with auth, migrations and deployment, it is a solid pick. Anyone after deep theory on how Flask works under the hood, or a full Docker course, should look elsewhere.
Pros
- Builds one API step by step through SQLAlchemy, JWT auth, migrations and Render deployment
- Includes a full Python refresher, so people coming from other languages can start cold
- Reviewers say the steps are easy to follow and the exercises are fun to do
- Updated in November 2025, with a task queue section for sending emails
Cons
- The Python refresher is about five hours, and several reviewers found it too long
- Jose codes fast and often skips why a library is used, say some low-star reviewers
- One reviewer found Elephant SQL gone and Mailgun and Insomnia changed since filming
Best course I have seen from the ones I took from Udemy, the content is very complete. Aside from that, all the concepts are explained in a way that are very easy to understand and the exercises are fun to do.
The Intermediate label fits people who have coded before. Some low-star reviewers say Jose codes too fast to follow.
What you will learn
- Connect web or mobile applications to databases and servers via REST APIs
- Create secure and reliable REST APIs which include authentication, deployments, and database migrations
- Understand the different layers of a web server and how web applications interact with each other
- Handle seamless user authentication with advanced features like token refresh
- Handle log-outs and prevent abuse in your REST APIs with JWT blacklisting
- Develop professional-grade REST APIs with expert instruction
- Optimize performance of your REST APIs using task queues and background workers
Course content
13 sections · 132 lectures · 13 hours of video 20 quizzes, 7 coding exercises, 17 articles
- 1Welcome!3 lectures · 2 min
- 2A Full Python Refresher 4 free previews48 lectures · 20 quizzes · 5.3 hours
- 3Your first REST API 3 free previews9 lectures · 39 min
- 4Introduction to Docker 1 free preview5 lectures · 41 min
- 5Flask-Smorest for more efficient development8 lectures · 1 hour
- 6Store data in a SQL database with SQLAlchemy11 lectures · 50 min
- 7Many-to-many relationships with SQLAlchemy3 lectures · 25 min
- 8User authentication with Flask-JWT-Extended12 lectures · 1.1 hours
- 9Database migrations with Alembic and Flask-Migrate5 lectures · 16 min
- 10Git Crash Course8 lectures · 40 min
- 11Deployments with Render.com12 lectures · 44 min
- 12Task Queues with rq and sending emails7 lectures · 47 min
- 13Bonus Section1 lecture · 1 min
Who it is for
The instructor says it suits
- Students wanting to extend the capabilities of mobile and web applications by using server-side technologies
- Software developers looking to expand their skill-set by learning to develop professional grade REST APIs
- Those looking to learn Python while specifically catering to web services
What you need before you start
- Some prior programming experience in any programming language will help. The course includes a full Python refresher course.
- All software used in the course is provided, and completely free
- Complete beginners may wish to take a beginner Python course first, and then transition to this course afterwards
How it compares
Against the other 388 rated Udemy courses in Python on CourseDuck:
- Rating4.7 out of 5higher than 88% of them
- Reviews25,278#18 of 389 by number of reviews
- Length12.6 hourslonger than 59% of them
- Last updatedNovember 2025more recently than 72% of them
Quality Score
Overall Score : 94 / 100
Course Description
Are you tired of boring, outdated, incomplete, or incorrect tutorials? I say no more to copy-pasting code that you don’t understand.
Welcome to the bestselling REST API course on Udemy! I'm Jose. I'm a software engineer, here to help you truly understand and develop your skills in web and REST API development with Python, Flask, and Docker.
Production-ready REST APIs with Flask
This course will guide you in creating simple, intermediate, and advanced REST APIs including authentication, deployments, databases, and much more.
We'll start with a Python refresher that will take you from the very basics to some of the most advanced features of Python—that's all the Python you need to complete the course.
Using Flask and popular extensions Flask-Smorest, Flask-JWT-Extended, and Flask-SQLAlchemy we will dive right into developing complete, solid, production-ready REST APIs.
We will also look into essential technologies like Git and database migrations with Alembic.
You'll be able to...
Create resource-based, production-ready REST APIs using Python, Flask, and popular Flask extensions;
Handle secure user registration and authentication with Flask.
Using SQLAlchemy and Flask-SQLAlchemy to easily and efficiently store resources to a database; and
Understand the complex intricacies of deployments of Flask REST APIs.
Use Docker to simplify running and deploying your REST APIs.
But what is a REST API anyway?
A REST API is an application that accepts data from clients and returns data back. For example, a REST API could accept text data from the client, such as a username and password, and return whether that is a valid user in the database.
When developing REST APIs, our clients are usually web apps or mobile apps. That's in contrast to when we make websites, where the clients are usually the users themselves.
Together we'll develop a REST API that not only allows clients to authenticate but also to store and retrieve any data you want from a database. Learning this will help you develop any REST API that you need for your own projects!
I pride myself on providing excellent support and feedback to every single student. I am always available to guide you and answer your questions.
I'll see you on the inside. Take your first step towards REST API mastery!
Instructor Details
- 4.7 Rating
25,278 Reviews
Jose Salvatierra
Hi, I'm Jose! I love helping students learn to code and master software development. I've been teaching online for over 10 years, and I founded Teclado to bring software development to everyone—my objective is for you to truly understand everything that goes on behind the scenes.
Coding is extremely rewarding. As you learn, things start to click and make sense. You can join the dots of all the things that weren't quite clear before. I'm here to make that journey quick and painless!
I can help you with Python and JavaScript issues, particularly in web and backend development. I'm experienced with programming libraries and frameworks like Flask, Django, FastAPI, React, React Native, and AngularJS. I've worked extensively with UNIX systems, MongoDB, PostgreSQL, and advanced system architecture design.
More courses by Jose Salvatierra
Web Developer Bootcamp with Flask and Python in 2024
4.5 (7,297 Reviews)
Provider: Udemy
Time: 19.3h
$19.99
Automated Software Testing with Python (2024)
4.5 (6,696 Reviews)
Provider: Udemy
Time: 13.5h
$99.99
GUI Development with Python and Tkinter (2025)
4.6 (3,305 Reviews)
Provider: Udemy
Time: 11.2h
$99.99
Advanced REST APIs with Flask and Python (2023)
4.5 (1,120 Reviews)
Provider: Udemy
Time: 12.7h
$12.99
Full Stack Web Development with Django 5, TailwindCSS, HTMX (2025)
4.5 (374 Reviews)
Provider: Udemy
Time: 19.1h
$89.99
More Python courses
Python 3: Deep Dive (Part 1 - Functional) (2024)
4.9 (13,534 Reviews)
Provider: Udemy
Time: 45.8h
$22.99
Python 3: Deep Dive (Part 3 - Dictionaries, Sets, JSON) (2023)
4.9 (1,996 Reviews)
Provider: Udemy
Time: 21.9h
$17.99
Programming for Everybody (Getting Started with Python)
4.9 (717 Reviews)
Provider: Coursera
Time: 12h
Free
An Introduction to Interactive Programming in Python (2013)
4.9 (554 Reviews)
Provider: Coursera
Time: 6h 40m
Free
Python: Python Programming Language | Tutorial | Beginner (2023)
4.9 (239 Reviews)
Provider: Udemy
Time: 5.1h
$19.99
An Introduction to Interactive Programming in Python (Part 2)
4.9 (225 Reviews)
Provider: Coursera
Time: 25h
Free
Reviews
By Michael Esposito on 6/10/2026
I'm learning a lot here, but I feel like this is one of the few times where going a little deeper would make the course go faster. A perfect example is with the marshmallow decorators. It's only by going under the hood and knowing where the function sits in the wrapper that I was able to understand if the original function is running first and then its return is being altered by the decorator, or that validation is running before the original function even runs.
By Markus Eichelhardt on 12/21/2022
Well structured, comprehensive and good to follow. Only thing I miss a bit is how to work with the API on the client side (even if building the client isn't the main concern here). At least there was one example in the first version. I subtract half a star for that. I re add that half star for the excellent documentation (github, e-book) and communications (discord).
By Fernando Rios on 3/22/2022
Excelente curso para comenzar aprender backend, José explica de manera detallada y progresiva, lo que permite ir entendiendo las diferentes herramientas que se van mostrando en el curso. Por otra parte, el curso se ha ido actualizando con las nuevas tecnologías vigentes, pero, sería ideal que estuviera un poco más ordenado, ya que la sección de actualización no sigue la corriente del curso como tal, es un detalle que algunos les puede gustar o no, en mi caso no tuve inconvenientes y siempre se agradecen las actualizaciones. No te lo recomiendo si tienes un inglés básico, ya que los subtítulos en español tiene alguno que otro error, por lo que es preferible verlo con subtítulos en inglés.
By Sunil Shenoy on 11/19/2021
Hi Jose and team. This has been one of the best experience on coding with Python and Flask. It has not only taught me the fundamentals of Flask but I already feel like I've built a professional project on Flask. I've also created multiple working API's, all thanks to this wonderful course here. I look forward to participate in many of your courses in future. Please do keep publishing more. Thank you again.!!
By Andy Saul on 11/21/2020
Just what I wanted to know! Clear, concise, modern and using good practices like venv
However, as the course progresses, I'm getting more frustrated by a lack of refactoring. The presenter says we shouldn't copy & paste but invariably does just that. Opportuinities are lost to introduce the 'with' statement for database access. No discussion of decoupling the database access from the flask API, at least in the early stages
By Oyesh Mann Singh on 11/14/2020
Great going
By Harish Pulletikuthi on 11/14/2020
I'm halfway through the course and can say Jose is a very good instructor. I find the course helpful.
By Zeineb ghrib on 10/23/2020
yes but I just got some python refresh in the previous section, it was very good :)
I still didn't begin the REST-API part
By Ramadhan Triyanto Prabowo on 10/21/2020
Very thorough!
By Ankit Jain on 10/20/2020
Trainer is absolutely amazing keeping it simple n short to make it more understandable !!
By Gabriela Karina Paulus on 10/20/2020
This course was amazing for the biggest part! Unfortunately, the section "Deploying Flask apps to own server" was super confusing and frustrating to follow. Everything worked out, but it was unclear why exactly things were working, why the different steps were performed and how all the different files work together. A (maybe graphical) high-level overview of the interaction of different files and parameters in this sections would have done wonders. Please improve this section, as the content is very interesting, but so frustratingly explained it was no fun to watch this one section at all.
Otherwise this course was very educational, well explained, easy to follow and highly recommendable
By Adrian Dukhan on 10/8/2020
Enjoyed the python overview in this course, learnt some new tricks. Thanks!









