
The easiest and most type-safe way to interact with the FACEIT API
Hello everyone,
If you've attempted to create a Discord bot or statistics tracker for FACEIT (CS2 and so forth), you know how tedious the process of interacting with raw API calls, custom headers, and pagination can be.
I was tired of duplicating the same code, so I created faceit-python. It's a straightforward, lightweight wrapper which makes using the FACEIT Data API feel intuitively "Pythonic".
Features:
- High-level, idiomatic API — Interact with FACEIT as if it were a native Python service.
- Full type safety — Compatible with mypy and other type checkers.
- Sync & async support — Powered by httpx.
- Pydantic models — All data models inherit from
pydantic.BaseModel. - Advanced pagination — Supports both cursor-based and Unix timestamp pagination.
- Flexible data access — Choose between raw data and parsed models (e.g.,
.raw_playersvs.players). - Page collection utilities — Paginated responses in model mode are wrapped in an
ItemPagecollection with convenient methods, such as.map(),.filter(),.find(), and more.
GitHub: https://github.com/zombyacoff/faceit-python
The project is in its early stages of development, so contributions and pull requests are most welcome. If it saves you any time, please leave a ⭐️!