• 0208 432 6218
  • WhatsApp
  • AI Assistant
  • Register

API Development with Python & FastAPI

Build, Secure, Test and Deploy REST APIs with Python

Regular Price: £480
Batch Price: From £480   📅  View Dates & Prices

Group Booking Discount: From £300 per person  🧮 Calculate & Book

1-to-1 Training: £600  📋 Booking Request Form

Course Overview

API Development with Python & FastAPI is a practical 12-hour instructor-led course designed to teach Python developers how to build modern REST APIs and backend services using FastAPI. Participants will learn how to design API endpoints, work with HTTP requests and JSON, validate data with Pydantic, build CRUD operations, connect APIs to relational databases, handle errors, implement security, test endpoints and generate interactive API documentation automatically.

The course follows the complete development lifecycle from building an API locally through to deploying it to the cloud. Through hands-on exercises and a practical project, learners will create a database-backed FastAPI application and make it available through a public HTTPS endpoint.


Requirements

Participants should have previous Python programming experience before joining this course. Learners should be comfortable with Python concepts such as variables, conditions, loops, functions, lists, dictionaries, modules, classes and exception handling.

Basic SQL and relational database knowledge is helpful, particularly for the database section.

Previous experience with FastAPI, REST APIs or cloud deployment is not required.

We highly recommend you complete the following course(s) before attending the API Development with Python & FastAPI course:

You may also complete the following course(s) before attending the API Development with Python & FastAPI course but they are not mandatory:


Course Content

  1. Introduction to APIs & REST
    • Understanding Application Programming Interfaces (APIs)
    • Client-server architecture
    • Understanding REST APIs
    • Resources and endpoints
    • Understanding HTTP requests and responses
    • HTTP methods: GET, POST, PUT, PATCH and DELETE
    • Common HTTP status codes
    • Understanding JSON
    • Designing clear and consistent API endpoints
  2. Getting Started with FastAPI
    • Introduction to FastAPI
    • Creating a FastAPI project
    • Running an API with Uvicorn
    • Creating routes and endpoints
    • Using path parameters
    • Using query parameters
    • Returning JSON responses
    • Understanding Python type hints in FastAPI
    • Using automatic Swagger UI and OpenAPI documentation
  3. Request Bodies & Data Validation
    • Receiving JSON request bodies
    • Introduction to Pydantic models
    • Defining request schemas
    • Validating strings, numbers and other data types
    • Required and optional fields
    • Default values
    • Using response models
    • Understanding automatic validation errors
    • Separating API schemas from application logic
  4. Building CRUD REST APIs
    • Understanding Create, Read, Update and Delete operations
    • Creating resources with POST
    • Retrieving resources with GET
    • Updating resources with PUT and PATCH
    • Deleting resources with DELETE
    • Working with resource IDs
    • Returning appropriate HTTP status codes
    • Designing consistent RESTful endpoints
  5. Database Integration
    • Connecting FastAPI to a relational database
    • Introduction to ORM concepts
    • Using SQLModel or SQLAlchemy with FastAPI
    • Creating database models and tables
    • Creating and managing database sessions
    • Reading records from a database
    • Inserting new records
    • Updating and deleting records
    • Using SQLite for development
    • Introduction to PostgreSQL for deployed applications
  6. Error Handling & API Design
    • Handling missing resources
    • Using HTTPException
    • Returning meaningful error responses
    • Validating business rules
    • Understanding API response consistency
    • Organising routes and application code
    • Introduction to routers with APIRouter
    • Separating API, database and business logic
  7. API Security & Authentication
    • Understanding API security
    • Authentication vs authorisation
    • Introduction to API keys and bearer tokens
    • Understanding OAuth2 and JWT at a practical level
    • Protecting API endpoints
    • Managing passwords securely
    • Using environment variables for secrets
    • Understanding CORS
    • Avoiding sensitive information in source code
  8. Testing & API Documentation
    • Testing endpoints using Swagger UI
    • Testing APIs with an API client
    • Understanding automated API testing
    • Using FastAPI's test client
    • Testing successful and unsuccessful requests
    • Understanding OpenAPI
    • Customising API metadata and documentation
    • Testing database-backed endpoints
  9. Working with External APIs
    • Calling third-party APIs from Python
    • Sending HTTP requests
    • Passing query parameters
    • Working with headers
    • Processing JSON responses
    • Handling external API errors
    • Using data from external services in your own API
  10. Deploying FastAPI to the Cloud
    • Local development vs production deployment
    • Preparing a FastAPI application for deployment
    • Creating a requirements.txt file
    • Using environment variables for configuration
    • Storing the application in GitHub
    • Deploying FastAPI to a cloud hosting platform
    • Configuring the production start command
    • Connecting to a hosted PostgreSQL database
    • Accessing the API through a public HTTPS address
    • Testing the deployed /docs interface
    • Viewing deployment and application logs
    • Updating and redeploying the application
  11. Practical FastAPI Project
    • Design a real-world REST API
    • Create request and response models
    • Build CRUD endpoints
    • Connect the API to a relational database
    • Add validation and error handling
    • Protect selected endpoints
    • Test the API
    • Review the automatically generated documentation
    • Push the project to GitHub
    • Deploy the API to the cloud
    • Connect to a production database
    • Test the live public API


Course Dates, Prices & Enrolment

Scroll right for more details
There is no date for this course at this moment. Please complete the BOOKING REQUEST FORM below or come back to this page again later.

Price Calculator & Booking Request Form

Calculate prices for Corporate, 1-on-1 or group training and request a booking.

Do you have a special training requirement or unable to find any suitable training date? Please complete and submit the booking request form, if you want to:

  • book a course on different dates
  • book for a group of delegates
  • book corporate training
  • book a customised training
  • book a one-on-one training

The price person is less when you book a course for more people. You can find the price per person and the total cost by changing the values of the training hours and the number of people below:

Frequently Asked Questions

An Application Programming Interface (API) allows different software applications and services to communicate with each other.

For example, a website or mobile application may send a request to an API to retrieve customer information, create an order or update data stored in a database.

Yes. This is an Intermediate-level Python course, so learners should already understand Python programming fundamentals.

You should be comfortable with functions, lists, dictionaries, modules, classes and exception handling before joining the course.

A REST API exposes resources through HTTP endpoints and commonly uses methods such as GET, POST, PUT, PATCH and DELETE.

REST APIs commonly exchange information using JSON and are widely used by websites, mobile applications and backend services.

Yes. The course introduces API authentication and security concepts, including bearer tokens, API keys, OAuth2, environment variables and protecting selected endpoints.

More advanced user authentication and role-based security may be covered as optional or progression topics.

Yes. The practical project can connect the deployed FastAPI application to a hosted relational database such as PostgreSQL and Microsoft SQL Server.

This lets learners see the difference between using a local development database and the database used by a deployed application.

Yes. FastAPI can be used to expose Machine Learning models, Generative AI applications and other Python services through web APIs.

For example, an application can send data to a /predict endpoint and receive a Machine Learning prediction as a JSON response.

FastAPI is a modern Python framework designed for building web APIs using Python type hints. It provides features such as automatic request validation, JSON handling, interactive API documentation and OpenAPI support, making it well-suited to modern backend and API development.

Basic SQL and relational database knowledge is recommended but not essential for every part of the course.

Learners who are unfamiliar with databases may benefit from completing our SQL for Beginners course before attending.

Yes. The course covers building database-backed APIs using a relational database and an ORM such as SQLModel or SQLAlchemy.

Learners will create, retrieve, update and delete database records through FastAPI endpoints.

Yes. Deployment is a core part of the course. Learners will prepare a FastAPI project for production, store it in GitHub, deploy it to a cloud platform and access the API through a public HTTPS address.

You will also learn how to view deployment logs and update the API after making changes.

Docker may be introduced as an optional or bonus topic, but it is not required for the core FastAPI course.

Learners who want to study containers, Docker and automated deployment in greater depth can progress to our DevOps Fundamentals for Developers course.

Yes. You will build a complete database-backed REST API, including validation, CRUD operations, error handling and security.

The final project will then be deployed to the cloud and tested through its live public API endpoint and interactive documentation.

What we do?

At London Academy of IT, we provide instructor-led online and in-person IT training in Data Analytics, SQL, Python, Power BI, and more. Our cutting-edge courses are designed to boost performance and enhance employability, providing the competitive edge employers look for.

Our Contacts

London Academy of IT
64 Broadway
Stratford
London E15 1NT
United Kingdom

Regional Training

2012 - 2026 © London Academy of IT Limited. All Rights Reserved.
UKPRN: 10045491. Registered in England & Wales with company no. 07923992.