API client for BDO market
Project description
Table of Contents
About The Project
This code is a simple and well-structured API client for BDO market data, built for convenience. It enables developers to access market information, price history, and shop data from Arsha.io in a standardized way.
Built With
Getting Started
A Python API client for accessing the Arsha.io Black Desert Online Market API.
Easily retrieve market data, hotlist items, price history, bidding info, and more.
Prerequisites
Python installed on your system.
- Python >= 3.8
Installation
pip install bdomarket
Usage
import bdomarket
market = bdomarket.Market(bdomarket.AvailableRegions.EU, bdomarket.AvailableApiVersions.V2, bdomarket.SupportedLanguages.English)
# Each function return ApiResponse obj - this can be used to acess information more easier
market.GetWorldMarketWaitList().content
market.GetWorldMarketWaitList().statuscode
market.GetWorldMarketWaitList().success
market.GetWorldMarketWaitList().message # this is kinda pointless, devs did not implement such functionality
iterable = market.GetWorldMarketWaitList().Deserialize() # Deserialize to a Python object.
for item in iterable:
print(item)
market.GetWorldMarketWaitList().SaveToFile("responses/waitlist/get.json") # saving output to file
print(bdomarket.ConvertTimestamp(1745193600000)) # can be useful if you don't know how to convert Unix timestamps to human readable format. Note (Post)GetMarketPriceInfo return timestamps...
# WaitList
market.GetWorldMarketWaitList().SaveToFile("responses/waitlist/get.json")
market.PostGetWorldMarketWaitList().SaveToFile("responses/waitlist/post.json")
print(market.GetWorldMarketWaitList())
print(market.PostGetWorldMarketWaitList())
# HotList
market.GetWorldMarketHotList().SaveToFile("responses/hotlist/get.json")
market.PostGetWorldMarketHotList().SaveToFile("responses/hotlist/post.json")
print(market.GetWorldMarketHotList())
print(market.PostGetWorldMarketHotList())
# List
market.GetWorldMarketList("1", "1").SaveToFile("responses/list/get.json")
market.PostGetWorldMarketList("1", "1").SaveToFile("responses/list/post.json")
print(market.GetWorldMarketList("1", "1"))
print(market.PostGetWorldMarketList("1", "1"))
# SubList
market.GetWorldMarketSubList(["735008", "731109"]).SaveToFile("responses/sublist/get.json")
market.PostGetWorldMarketSubList(["735008", "731109"]).SaveToFile("responses/sublist/post.json")
print(market.GetWorldMarketSubList(["735008", "731109"]))
print(market.PostGetWorldMarketSubList(["735008", "731109"]))
# SearchList
market.GetWorldMarketSearchList(["735008", "731109"]).SaveToFile("responses/searchlist/get.json")
market.PostGetWorldMarketSearchList(["735008", "731109"]).SaveToFile("responses/searchlist/post.json")
print(market.GetWorldMarketSearchList(["735008", "731109"]))
print(market.PostGetWorldMarketSearchList(["735008", "731109"]))
# BiddingInfo
market.GetBiddingInfo(["735008", "731109"], ["19", "20"]).SaveToFile("responses/bidding/get.json")
market.PostGetBiddingInfo(["735008", "731109"], ["19", "20"]).SaveToFile("responses/bidding/post.json")
print(market.GetBiddingInfo(["735008", "731109"], ["19", "20"]))
print(market.PostGetBiddingInfo(["735008", "731109"], ["19", "20"]))
# PriceInfo
market.GetMarketPriceInfo(["735008", "731109"], ["19", "20"]).SaveToFile("responses/priceinfo/get.json")
market.PostGetMarketPriceInfo(["735008"], ["20"]).SaveToFile("responses/priceinfo/post.json")
print(market.GetMarketPriceInfo(["735008", "731109"], ["19", "20"]))
print(market.PostGetMarketPriceInfo(["735008"], ["20"]))
# PearItems
market.GetPearlItems().SaveToFile("responses/pearlitems/get.json")
market.PostGetPearlItems().SaveToFile("responses/pearlitems/post.json")
print(market.GetPearlItems())
print(market.PostGetPearlItems())
# Market
market.GetMarket().SaveToFile("responses/market/get.json")
market.PostGetMarket().SaveToFile("responses/market/post.json")
print(market.GetMarket())
print(market.PostGetMarket())
# Boss timer
bt = bdomarket.timers.Boss(bdomarket.timers.Server.EU)
bt.Scrape()
print(bt.GetTimerJSON())
# Item
item = bdomarket.item.Item()
print(item)
item.GetIcon(r"D:\Development\Python\bdomarket\icons", False, bdomarket.item.ItemProp.ID) # Example usage of GetIcon method isrelative=False
item.GetIcon("icons", True, bdomarket.item.ItemProp.NAME) # Example usage of GetIcon method isrelative=True
Example:
market.GetBiddingInfo(["735008", "731109"], ["19", "20"]).SaveToFile("responses/bidding/get.json")
Outputs:
{
"success": true,
"statuscode": 200,
"message": "No message provided",
"content": [
{
"name": "Blackstar Shuriken",
"id": 735008,
"sid": 19,
"orders": [
{
"price": 14500000000,
"sellers": 1,
"buyers": 0
},
{
"price": 15500000000,
"sellers": 1,
"buyers": 0
},
{
"price": 14900000000,
"sellers": 4,
"buyers": 0
},
{
"price": 14700000000,
"sellers": 0,
"buyers": 0
}
]
},
{
"name": "Blackstar Sura Katana",
"id": 731109,
"sid": 20,
"orders": [
{
"price": 72500000000,
"sellers": 1,
"buyers": 0
},
{
"price": 73500000000,
"sellers": 1,
"buyers": 0
},
{
"price": 73000000000,
"sellers": 1,
"buyers": 0
},
{
"price": 70500000000,
"sellers": 0,
"buyers": 0
}
]
}
]
}
Top contributors:
License
Distributed under the GNU General Public License v3.0.
See LICENSE for more information.
This project is copyleft: you may copy, distribute, and modify it under the terms of the GPL, but derivative works must also be open source under the same license.
Contact
Project Link: https://github.com/Fizzor96/bdomarket
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bdomarket-0.1.14.tar.gz.
File metadata
- Download URL: bdomarket-0.1.14.tar.gz
- Upload date:
- Size: 35.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b157f1ec597abc780661405e224ed044c5e425e5f641878453a161f119f0f3dc
|
|
| MD5 |
2ad6c2f2eebee1c6db7d9afa39e2ce20
|
|
| BLAKE2b-256 |
acc083027aadac0e140708f342c683975f51c4cba09818c682fff93c24695745
|
Provenance
The following attestation bundles were made for bdomarket-0.1.14.tar.gz:
Publisher:
release.yml on Fizzor96/bdomarket
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bdomarket-0.1.14.tar.gz -
Subject digest:
b157f1ec597abc780661405e224ed044c5e425e5f641878453a161f119f0f3dc - Sigstore transparency entry: 275467081
- Sigstore integration time:
-
Permalink:
Fizzor96/bdomarket@8968d0e7027c4268d61dcecf293471faa11d753d -
Branch / Tag:
refs/tags/0.1.14 - Owner: https://github.com/Fizzor96
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8968d0e7027c4268d61dcecf293471faa11d753d -
Trigger Event:
push
-
Statement type:
File details
Details for the file bdomarket-0.1.14-py3-none-any.whl.
File metadata
- Download URL: bdomarket-0.1.14-py3-none-any.whl
- Upload date:
- Size: 34.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
462f118081eaeb7fe42193259a37d308e867fbcb9384ce0ac4677de41645f45b
|
|
| MD5 |
07e7beb35dd583ff1c155d9446ab1ea8
|
|
| BLAKE2b-256 |
04b7e5fa9b9c7c93795947c92eae046918297026c3e8360ea2a9e4a391104731
|
Provenance
The following attestation bundles were made for bdomarket-0.1.14-py3-none-any.whl:
Publisher:
release.yml on Fizzor96/bdomarket
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bdomarket-0.1.14-py3-none-any.whl -
Subject digest:
462f118081eaeb7fe42193259a37d308e867fbcb9384ce0ac4677de41645f45b - Sigstore transparency entry: 275467093
- Sigstore integration time:
-
Permalink:
Fizzor96/bdomarket@8968d0e7027c4268d61dcecf293471faa11d753d -
Branch / Tag:
refs/tags/0.1.14 - Owner: https://github.com/Fizzor96
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8968d0e7027c4268d61dcecf293471faa11d753d -
Trigger Event:
push
-
Statement type: