nexus-mods-api
Unofficial, typed synchronous and asynchronous Python clients for all three Nexus Mods APIs:
- REST v1 with hand-written Pydantic v2 models
- GraphQL v2 with typed execution and convenience queries
- REST v3 generated from a checked-in, SHA-256-pinned OpenAPI specification
Authentication supports manual application-specific API keys, WebSocket SSO, and OAuth 2.0 Authorization Code with PKCE. OAuth applications do not use a client secret.
Installation
python -m pip install nexus-mods-api
Python 3.12 or newer is required. Install the optional WebSocket dependency for SSO:
python -m pip install "nexus-mods-api[sso]"
Quick start
from nexusmods_api import ApiKeyAuth, NexusClient, NexusConfig
config = NexusConfig(
application_name="your-registered-app",
application_version="1.0.0",
)
with NexusClient(config, ApiKeyAuth.from_value("your-api-key")) as client:
games = client.v1.get_games()
Equivalent native async clients are available for applications that already use an event loop. The aggregate clients lazily construct their REST v1, GraphQL v2, and REST v3 clients.
Documentation
The authoritative AsciiDoc documentation is published in the Modding Forge documentation. It includes installation, sync and async usage, all authentication flows, API guides, error handling, rate limits, code generation, testing, and releases.
Version 1.0.0 completed both the mocked conformance suite and live acceptance
tests for manual API key, SSO, and OAuth with maintainer-owned Nexus Mods
application registrations.
License
MIT — see LICENSE.
About Modding Forge
nexus-mods-api is built for the Python tooling behind
Modding Forge.
This project is not affiliated with or endorsed by Nexus Mods.
Metadata
Release files for nexus-mods-api 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nexus_mods_api-1.1.1.tar.gz | 215.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nexus_mods_api-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 358.9 kB
Release files / nexus_mods_api-1.1.1.tar.gz
| Download URL | nexus_mods_api-1.1.1.tar.gz |
|---|---|
| Size | 215.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7031c7dbeed1ff8bf97d5d399991cccea1443484adc88bcc6fb9162351b30adf
|
|
BLAKE2b-256 checksum How to use checksums |
7507a254366397c8b2513c06552b16346c19d7d4299c29a56f9d804dfa1e7233
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / nexus_mods_api-1.1.1-py3-none-any.whl
| Download URL | nexus_mods_api-1.1.1-py3-none-any.whl |
|---|---|
| Size | 143.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9dd6b9332a037ac2fa5f042b6e5ce5133bd0ac6703566ba7df8e68cce946a1bb
|
|
BLAKE2b-256 checksum How to use checksums |
57d0102734a47cbaa9561a0fa50bc81720d5a9581c5007fc0063b9e10131210f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency log