Query Parameters

Query parameters are values passed after ? in the URL. They are commonly used for filtering, searching, sorting, and pagination.

For example:

/users?name=Tarun&age=25

Here, name and age are query parameters.

Code

from fastapi import FastAPI

app = FastAPI()


@app.get("/users")
def get_users(
    name: str,
    age: int
):
    return {
        "name": name,
        "age": age
    }

Understanding the Code

The endpoint is:

@app.get("/users")

The function accepts two parameters:

def get_users(
    name: str,
    age: int
):

FastAPI treats these as query parameters because they are not included inside the URL path.

The name parameter is a string:

name: str

The age parameter is an integer:

age: int

FastAPI uses these type declarations to validate the incoming values.

Example Request

You can call the API using:

GET /users?name=Tarun&age=25

The query parameters are:

name = Tarun
age = 25

Output

{
    "name": "Tarun",
    "age": 25
}

Query Parameters vs Path Parameters

Query parameters are passed after ?:

/users?name=Tarun&age=25

Path parameters are included directly in the URL:

/users/10

Query parameters are commonly useful when you need to filter, search, sort, or paginate API results.