MapleStory OpenAPI Python Library
This Python library enables the use of the MapleStory OpenAPI of Nexon.
Packages written in other languages can be found HERE.
English | 한국어
Notice
💡 Notice 1: Migration is required when updating to version 3.5.0. Please refer to the documentation for Migration.
🌏 Notice 2: Starting from version 3.4.0, support for tms region has been added. You can now retrieve data from KMS, TMS, MSEA.
🌏 Notice 3: Starting from version 3.0.0, support for msea region has been added.
💡 Notice 4: Migration is required when updating from version 2.x.x to 3.0.0. Please refer to the documentation for Migration.
Installation
Install the latest version of the Python library in your python project:
pip install maplestory-openapi
Usage
API Key
Before using the library, register your application and obtain an api key from the Nexon Open API Console.
Applications must be registered separately for each region. (For example, an API key issued for KMS cannot be used to request data from MSEA.)
Region
Currently, this library supports data retrieval from the KMS, TMS, MSEA regions. To access data from a specific region, import the corresponding package path.
from maplestory_openapi.kms import MapleStoryApi # data from KMS
# or
from maplestory_openapi.msea import MapleStoryApi # data from MSEA
Even though the regions differ, each package inherits the same interface, ensuring a consistent API usage experience across all regions.
Sample Code
Below is an example that retrieves the identifier of a specific character from the KMS server based on the nickname, and then fetches that character’s basic information.
from maplestory_openapi.kms import MapleStoryApi
from maplestory_openapi.common import MapleStoryApiException
api_key = '{Your API Key}'
api = MapleStoryApi(api_key=api_key)
# run your code
try:
character = api.get_character_id('{Your Character Name}')
character_basic = api.get_character_basic(ocid=character.ocid)
print(character_basic)
# exception handling
except MapleStoryApiException as e:
# handle MapleStoryApiException
You can find more examples in the test cases at the following link.
- Character Information Retrieval
- Union Information Retrieval
- Guild Information Retrieval
- Battle Practice Information Retrieval
- History Information Retrieval
- Scheduler Information Retrieval
- Ranking Information Retrieval
- Notice Information Retrieval
Features
This library supports all apis published in the MapleStory OpenAPI official docs.
Some features are supported only in specific regions. Please refer to the official documentation for each region for details.
- KMS: https://openapi.nexon.com/game/maplestory
- KMS(for Nexon Friends Exclusive APIs): https://openapi.nexon.com/ko/friends/maplestory
- TMS: https://openapi.nexon.com/game/maplestorytw
- MSEA: https://openapi.nexon.com/game/maplestorysea
Exception Handling
Handle MapleStoryApiException to safely make calls, ensuring that specific Status defined in the MapleStory OpenAPI Guide are not encountered.
While MapleStoryApi is designed to prevent the occurrence of certain Status, exceptions may arise due to developer mistakes.
Therefore, it's recommended to use MapleStoryApiException for exception handling based on the error code list described in the table below.
| ErrorCode | Description |
|---|---|
| OPENAPI00001 | Internal server error |
| OPENAPI00002 | Access denied |
| OPENAPI00003 | Invalid identifier |
| OPENAPI00004 | Request format error (incorrect parameter input) |
| OPENAPI00005 | Invalid api key |
| OPENAPI00006 | Invalid api path |
| OPENAPI00007 | Request allowance (Rate Limit) exceeded |
| OPENAPI00009 | Not prepared data |
| OPENAPI00010 | Game server maintenance |
| OPENAPI00011 | API server maintenance |
Metadata
Release files for maplestory-openapi 3.11.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| maplestory_openapi-3.11.0.tar.gz | 90.5 kB | Without provenance | Details for maplestory_openapi-3.11.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| maplestory_openapi-3.11.0-py3-none-any.whl | Python 3 | none | any | Details for maplestory_openapi-3.11.0-py3-none-any.whl |
Total release size: 255.8 kB
Release files / maplestory_openapi-3.11.0.tar.gz
| Download URL | maplestory_openapi-3.11.0.tar.gz |
|---|---|
| Size | 90.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0d5e0e5fa75a3d79448ab2d77fff68e457fb06d1fcb4a552c00632a73c6269f1
|
|
BLAKE2b-256 checksum How to use checksums |
08f98a48679eb3c6a384f153f8e1084d8ad74bfdc17f1c1de13179140e5cc8e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|
Release files / maplestory_openapi-3.11.0-py3-none-any.whl
| Download URL | maplestory_openapi-3.11.0-py3-none-any.whl |
|---|---|
| Size | 165.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
52d601c4ff6914a87c77bb2cdc0930ad4d75d0966b8d82e302726b2ea0b4e9fc
|
|
BLAKE2b-256 checksum How to use checksums |
afe879420c9d4c916cd0978f31f9f9e572e97f1b640086193d29853db208b00a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|
Security for maplestory-openapi 3.11.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.