Fortnite-API / py-wrapper

Python implementation for https://fortnite-api.com
https://fortnite-api.rtfd.org/en/latest
MIT License
40 stars 17 forks source link
fortnite fortnite-api python-3

Sync/Async Python wrapper for Fortnite-API.com

Support GitHub issues PyPI PyPI - Python Version PyPI - Downloads Documentation

Welcome to the Fortnite API Python wrapper! This library offers a complete async and sync wrapper around the endpoints of Fortnite-API.com

The library's focus is to provide a simple and easy-to-use interface to interact with the API. The library is designed to be as user-friendly as possible, and it is easy to get started with. If you have any questions or need help, feel free to join the official Discord server.

Installation

Note that Python 3.8 or higher is required.

# Linux/macOS
python3 -m pip install fortnite-api

# Windows
py -3 -m pip install fortnite-api

To install the developer version, you can use the following command:

git clone https://github.com/Fortnite-API/py-wrapper
cd py-wrapper
python3 -m pip install .

Optional Dependencies

# Linux/macOS
python3 -m pip install fortnite-api[speed]

# Windows
py -3 -m pip install fortnite-api[speed]

API Key

For most endpoints, you do not need an API key. However, some endpoints, such as fetching statistics, require an API key. To use these endpoints, you need to set the api_key parameter in the constructor.

import asyncio
import fortnite_api

async def main():
    async with fortnite_api.Client(api_key="your_api_key") as client:
        stats = await client.fetch_br_stats(name='some_username')
        print(stats)

if __name__ == "__main__":
    asyncio.run(main())

Generating an API Key

You can generate an API key on https://dash.fortnite-api.com/account by logging in with your Discord account.

Quick Example

Asynchronous Example

import asyncio
import fortnite_api 

async def main() -> None:
    async with fortnite_api.Client() as client:
        all_cosmetics: fortnite_api.CosmeticsAll = await client.fetch_cosmetics_all()

        for br_cosmetic in all_cosmetics.br:
            print(br_cosmetic.name) 

if __name__ == "__main__":
    asyncio.run(main())

Synchronous Example

import fortnite_api

def main() -> None:
    client = fortnite_api.SyncClient()
    all_cosmetics: fortnite_api.CosmeticsAll = client.fetch_cosmetics_all()

    for br_cosmetic in all_cosmetics.br:
        print(br_cosmetic.name)

if __name__ == "__main__":
    main()

More examples can be found in the examples/ directory of the repository.

Links

Contribute

Every type of contribution is appreciated.

Licenses