fastapi-filter
FastAPI filter
Decision gist · record as of 2026-08-14
Yes. Low install friction, active maintenance, no known vulnerabilities, permissive license, and a clear fit for FastAPI projects that need filtering. Install it if you're building FastAPI endpoints with database backends and want to avoid manual query-building boilerplate. The optional backends mean you only add dependencies you actually use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.10 and FastAPI >=0.100.
- Optional backends (SQLAlchemy >=1.4.36 or MongoEngine >=0.24.1) needed for actual filtering.
- Low friction install with only fastapi and pydantic as core dependencies.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use this package freely in commercial and private projects with minimal restrictions.
last release 2026-06-03 (72 days) · last repo commit 2026-08-13 · 328 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 340,345 downloads/mo, #7,412 on PyPI
Alternatives
Verify before relying
pip install fastapi-filter
from fastapi import FastAPI
from fastapi_filter import FilterDepends
app = FastAPI()
# Define a filter model and use FilterDepends in your route
# to automatically parse and apply filters from query parameters- Exact filtering syntax and operator support (e.g., comparison operators, logical operators) not detailed in excerpt.
- Performance characteristics with large result sets or complex filter expressions.
- Whether ordering and pagination work independently or must be combined with filters.
- Specific examples of filter query parameter syntax and usage patterns.
What it is and what it does
fastapi-filter is a library that bridges FastAPI request query parameters to database queries. It lets you define filter schemas using Pydantic models, then automatically converts incoming query strings into structured filters that SQLAlchemy or MongoEngine can execute. Instead of manually parsing and building database queries in each endpoint, you declare what fields are filterable and how, and the library handles the rest.
The package is designed for developers building REST APIs who want to expose filtering, sorting, and pagination without writing boilerplate query-building code. It integrates directly into FastAPI's dependency injection system via FilterDepends, so filters are applied as route dependencies. Optional backends let you choose between SQLAlchemy (for SQL databases) and MongoEngine (for MongoDB), or use the base filtering logic with other ORMs.
Use it for
- Build a REST API endpoint that accepts filter parameters and automatically converts them to database queries.
- Add sorting and pagination to list endpoints without manually parsing query strings and constructing ORDER BY or LIMIT clauses.
- Expose a MongoDB collection via FastAPI with declarative filtering using MongoEngine without writing custom query logic.
- Reduce boilerplate in CRUD endpoints by centralizing filter definitions as reusable Pydantic models.
- Support complex filtering with multiple conditions while keeping endpoint code clean and readable.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Low install friction, active maintenance, no known vulnerabilities, permissive license, and a clear fit for FastAPI projects that need filtering. Install it if you're building FastAPI endpoints with database backends and want to avoid manual query-building boilerplate. The optional backends mean you only add dependencies you actually use.
Install
fastapi-filter on PyPI
Before you install
Low friction install with only fastapi and pydantic as core dependencies. Active maintenance with a recent release 72 days ago and steady repository activity. Supports modern Python versions.
Requires Python >=3.10 and FastAPI >=0.100. Optional backends (SQLAlchemy >=1.4.36 or MongoEngine >=0.24.1) needed for actual filtering.
License in practice
MIT license is permissive; you can use this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install fastapi-filter
from fastapi import FastAPI
from fastapi_filter import FilterDepends
app = FastAPI()
# Define a filter model and use FilterDepends in your route
# to automatically parse and apply filters from query parameters
Verify before relying
- Exact filtering syntax and operator support (e.g., comparison operators, logical operators) not detailed in excerpt.
- Performance characteristics with large result sets or complex filter expressions.
- Whether ordering and pagination work independently or must be combined with filters.
- Specific examples of filter query parameter syntax and usage patterns.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release <4.0,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesfastapipydantic |
| Maintenance | Actively maintained 72 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 340,345 / month, #7,412 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: FastAPILicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: fastapi_filter-3.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “fastapi query filtering”
- fastapi-filterAdds declarative filtering, sorting, and pagination to FastAPI…
- fastcrudFastCRUD provides async CRUD operations and automatic endpoint…
- meilisearch-python-sdkProvides both async and sync Python clients for the Meilisearch…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also djangorestframework-queryfields · fastcrud · magic-filter · sqlalchemy-filters · fastapi-pagination · odata-query · fastapi-users-db-sqlalchemy · django-elasticsearch-dsl-drf · pygeofilter · fastapi-restful