The SCILL API is organized around REST. Our API has predictable resource-oriented endpoints that receive JSON-encoded payloads and return JSON-encoded responses. It uses standard HTTP response codes and authentication.

Most API endpoints require an API key. Every product has its own API key. After signing up for the SCILL developer account you can create products and receive API keys.


To get started quickly, we have predefined a basic product with some challenges and battle passes. The API key to access this product is ai728S-1aSdgb9GP#R]Po[P!1Z(HSSTpdULDMUAlYX. The AppId is 597737952688570369. We will reset this account every day at 0:00am CET. Please don’t store any private data as everybody can access data using the API key above!

Please note

All API requests must be done via HTTPS. Requests with HTTP will be rejected immediately.

Just getting started?

Check out our development quickstart guide which will get you started quickly.

You want to get started quickly?

If you want to quickly add challenges and battle passes to your product without building user interfaces, you can also just send events and leverage the SCILL Play Apps that exist for iOS, Android, Web, Windows, Mac and Linux. That gets you started quickly without changing your game. Afterwards you can still implement SCILL into your product.

Data Flow

This diagram highlights the basic data flow and the connections between your application and SCILL.

The client backend is not necessarily required, but should be implemented for security reasons. It makes sure, that the API-Key is not exposed to clients.

SCILL consists of a variety of different APIs that handle different tasks. SCILLClient class exists in most SCILL SDKs and adds convenience functions and implements some basic logic for you.

Setting Language

By default, the SCILL backend uses English as the default language. Error messages, and content like challenge names will be returned in this language. You can add the language query parameter and use a language identifier to set the language that should be used by the backend in the request.

I.e. to get responses in german language, add this parameter to the request: ?language=de.

These language codes currently exist:


Please let us know if you need additional languages.