Skip to main content

Abyiss Python Client - WebSocket & REST APIs

Python Client for Abyiss Cryptocurrency APIs.

To use our API please sign up for a free account here: Sign Up, and find your API Key in your Dashboard.

Please use our official Documentation. It contains all the latest updates.

We will be adding some of the additional features to this client libary and our API in roughly in this order:

  • WebSockets - This will allow you to subscribe to real time cryptocurrency market data from the API.
  • Unified Endpoints - This will allow you get a unified view of the entire cryptocurrency market.
  • CSV Export - This will allow you to export the market data to a CSV file.
  • More Support - Add support for more currencies, exchanges, markets, symbols, timeframes, functions, indicators and more.

If you have any problems with this library, please open an issue request on Github or for any additional support please email us at support@abyiss.com.

Getting Started

Install Abyiss Python Library

pip install abyiss

Quick Start - Copy & Paste Code

  from Abyiss import Abyiss


  apiKey = "YOUR API KEY"" 

  client = Abyiss.Client(apiKey) 

  exchanges = client.getExchanges()

  exchangeDetails = client.getExchangeDetails("coinbasepro")

  exchangeStatus = client.getExchangeStatus("coinbasepro")

  exchangeMarkets = client.getExchangeMarkets("coinbasepro")

  exchangeMarketDetails = client.getMarketDetails("coinbasepro", "BTC-USDT")

  aggregates = client.aggregates("coinbasepro", "BTC-USDT", "1h", '300')

  trades = client.trades("coinbasepro", "BTC-USDT", '300')

  quotes = client.quotes("coinbasepro", "BTC-USDT")

  orderbook = client.orderBook("coinbasepro", "BTC-USDT")

More Details

Abyiss Client

apiKey = "(s2nKF1s2S^Xj6(43z6x6VCh18Ao5Qhu@*6" 

# Create an instance of the Abyiss class with your API key
client = Abyiss.Client(apiKey) 
  • Instance of the Abyiss class with your API key

  • Parameters:

    • apiKey: String. Your Abyiss API Key
  • Returns a 200 status code upon successful query.

Reference Data

Get Exchanges

exchanges = client.getExchanges()
  • Returns an array of all supported exchanges in the form of market objects.

  • Parameters:

    • exchange: String. Unique exchange identifier used by Abyiss.
  • Response Attributes:

    • name: String. The official name of the exchange.
    • id: String. Unique exchange identifier used by Abyiss.
  • Response Object:

    [
        {
            "name":"Binance",
            "id":"binance"
        },
        {
            "name":"Binance US",
            "id":"binanceus"
        },
        {
            "name":"Coinbase Pro",
            "id":"coinbasepro"
        },
        {
            "name":"BitBay",
            "id":"bitbay"
        }
    ]
    

Get Exchange Details

exchangeDetails = client.getExchangeDetails("exchange id")
  • Returns an object with properties about the exchange.

  • Parameters:

    • exchange id: String. Unique exchange identifier used by Abyiss.
  • Response Attributes:

    • name: String. the official name of the exchange.
    • id: String. the id of the exchange used within the api routes.
    • url: String. the exchange's official website url.
    • hasTrades: Boolean. Whether the api can be used to query market trades on the exchange.
    • hasAggregates: Boolean. Whether the api can be used to query market candle aggregates on the exchange.
    • aggregateTimeframes: Object containing all of the timeframes supported for market candle aggregates.
  • Response Object:

    {
        "name":"Coinbase Pro",
        "id":"coinbasepro",
        "url":"https://pro.coinbase.com/",
        "hasTrades":true,
        "hasAggregates":true,
        "aggregateTimeframes":
        {
            "1m":60,
            "5m":300,
            "15m":900,
            "1h":3600,
            "6h":21600,
            "1d":86400
        }
    }
    

Get Exchange Status

exchangeStatus = client.getExchangeStatus("exchange id*")
  • Returns an object with properties that describe an exchange's status.

  • Parameters:

    • exchange id: String. Unique exchange identifier used by Abyiss.
  • Response Attributes:

    • status: String. The status of the exchange. 'ok' is good.
    • updated: Int. Unix timestamp of last time the exchage's status was updated.
  • Response Object:

    {
        "status":"ok",
        "updated":1634929487916
    }
    

Get Exchange Markets

exchangeMarkets = client.getExchangeMarkets("exchange id*")
  • Returns an array of all crypto pair ids on the exchange.

  • Parameters:

    • exchange id: String. Unique exchange identifier used by Abyiss.
  • Response Attributes:

    • pair id: String. Unique Crypto Pair identifier used by the exchange.
  • Response Object:

    [
        "OGN/BTC",
        "REQ/BTC",
        "KEEP/USD",
        "AAVE/USD",
        "SKL/GBP",
        "MIR/EUR",
        "FORTH/EUR",
        "DOT/USDT"
    ]
    

Get Exchange Markets Details

exchangeMarketDetails = client.getMarketDetails("exchange id*", "market id*")
  • Returns an object with properties about the crypto pair.

  • Parameters:

    • exchange id: String. Unique exchange identifier used by Abyiss.
    • market id: String. Unique Crypto Pair identifier used by the exchange.
  • Response Attributes:

    • exchange: String. Unique identifier used by Abyiss for the exchange.
    • symbol: String. The symbol of the market.
    • id: String. Unique identifier used by Abyiss for the market.
    • active: Boolean. Whether the market is active on the exchange.
    • base: String. The base of the market. eg: The quantity that is bought.
    • quote: String. The quote of the market. eg: The currency being compared.
    • percentage: Boolean. Whether the taker and maker fee rate is a multiplier or a fixed flat amount.
    • taker: Float. Taker fee rate, 0.002 = 0.2%.
    • maker: Float. Maker fee rate, 0.0016 = 0.16%.
    • spot: String. Exchange type that the market is listed on.
  • Response Object:

    {
        "exchange":"coinbasepro",
        "symbol":"BTC/USD",
        "id":"BTC-USD",
        "active":true,
        "base":"BTC",
        "quote":"USD",
        "percentage":true,
        "taker":0.005,
        "maker":0.005,
        "type":"spot"
    }
    

Market Data

Aggregates

aggregates = client.aggregates("exchange id*", "market id*", "aggregate size*", 'limit')
  • Returns an array of recent aggregate candlesticks of a given aggregate size for a market on an exchange.

  • Parameters:

    • exchange id: String. Unique exchange identifier used by Abyiss.
    • market id: String. Unique Crypto Pair identifier used by the exchange.
    • aggregate size: String. Aggregate bar or candlestick time frame. (1m, 5m, 15m, 1h, 6h, 1d)
    • limit: String. Optional. Number of results per request. Maximum 500. (default 200)
  • Response Attributes:

    • exchange: String. Unique identifier used by Abyiss for the exchange.
    • market: String. Unique identifier used by Abyiss for the market.
    • timestamp: integer. Unix timestamp of the start of the aggregate calculation. Defining the scope.
    • open: float. The first, or opening, price of the aggregate's scope.
    • high: float. The highest price recorded within the scope of the aggregate.
    • low: float. The lowest price recorded within the scope of the aggregate.
    • close: float. The last, or closing, price within the aggregate's scope.
    • volume: float. The volume within the aggregate's scope.
  • Response Object:

    {
        "exchange": "coinbasepro",
        "market": "BTC/USD",
        "timestamp": 1639532040000,
        "open": 48080,
        "high": 48111.79,
        "low": 48080,
        "close": 48088.72,
        "volume": 2.55482409
    }
    

Trades

trades = client.trades("exchange id*", "market id*", 'limit')
  • Returns an array of recent trades that have occurred on an exchange for a crypto pair.

  • Parameters:

    • exchange id: String. Unique exchange identifier used by Abyiss.
    • market id: String. Unique Crypto Pair identifier used by the exchange.
    • limit: String. Optional. Number of results per request. Maximum 500. (default 200)
  • Response Attributes:

    • exchange: String. Unique identifier used by Abyiss for the exchange.
    • market: String. Unique identifier used by Abyiss for the market.
    • id: String. The exchange specific unique id of the trade.
    • timestamp: string. Unix timestamp of the start of the aggregate calculation. Defining the scope.
    • price: float. The quote currency price of the market.
    • size: float. The quantity traded.
    • cost: float. The quote cost: (size * price).
    • side: string. Whether the trade was a buy or sell.
  • Response Object:

    {
        "exchange": "coinbasepro",
        "market": "BTC/USD",
        "id": "251180247",
        "timestamp": "1639534096083",
        "price": 47887.03,
        "size": 0.00013904,
        "cost": 6.6582126511999995,
        "side": "sell"
    }
    

Quotes

quotes = client.quotes("exchange id*", "market id*")
  • Returns an array of recent quotes that have occurred on an exchange for a crypto pair.

  • Parameters:

    • exchange id: String. Unique exchange identifier used by Abyiss.
    • market id: String. Unique Crypto Pair identifier used by the exchange.
  • Response Attributes:

    • exchange: String. Unique identifier used by Abyiss for the exchange.
    • market: String. Unique identifier used by Abyiss for the market.
    • bid price: float. The bid price.
    • bid size: float. The bid size.
    • ask price: float. The ask price.
    • ask size: float. The ask size.
    • timestamp: integer. Unix timestamp of the start of the aggregate calculation. Defining the scope.
  • Response Object:

    {
        "exchange":"coinbasepro",
        "market":"BTC/USD",
        "nonce":14601360013,
        "bids":
        [
            [
                61947.91,
                1.48088
            ],
            [
                61947.9,
                0.5
            ],
            [
                61944.07,
                0.44094
            ]
        ],
        "asks":
        [
            [
                61947.92,
                2.28573
            ],
            [
                61952.89,
                0.11214
            ],
            [
                61952.9,
                0.50224
            ]
        ]
    }
    

Level 2 OrderBook

level2 = client.orderBook("exchange id*", "market id*")
  • Returns a snapshot of the recent level 2 orderbook for a crypto pair on an exchange.

  • Parameters:

    • exchange id: String. Unique exchange identifier used by Abyiss.
    • market id: String. Unique Crypto Pair identifier used by the exchange.
  • Response Attributes:

    • exchange: String. Unique identifier used by Abyiss for the exchange.
    • market: String. Unique identifier used by Abyiss for the market.
    • bid price: float. The bid price.
    • bid size: float. The bid size.
    • ask price: float. The ask price.
    • ask size: float. The ask size.
    • timestamp: integer. Unix timestamp of the start of the aggregate calculation. Defining the scope.
  • Response Object:

    {
        "exchange":"coinbasepro",
        "market":"BTC/USD",
        "nonce":14601360013,
        "bids":
        [
            [
                61947.91,
                1.48088
            ],
            [
                61947.9,
                0.5
            ],
            [
                61944.07,
                0.44094
            ]
        ],
        "asks":
        [
            [
                61947.92,
                2.28573
            ],
            [
                61952.89,
                0.11214
            ],
            [
                61952.9,
                0.50224
            ]
        ]
    }
    

Release files for Abyiss 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Abyiss 1.0.1
File Size Uploaded
Abyiss-1.0.1.tar.gz 10.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Abyiss 1.0.1
File Interpreter ABI Platform
Abyiss-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 16.9 kB

Release files / Abyiss-1.0.1.tar.gz

Download URL Abyiss-1.0.1.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0294da09e9347719918f307c263a7c87fb6c6c96c3d1b52e0148e743777ace76
BLAKE2b-256 checksum
How to use checksums
eafca8fd6beb657b68fb384530ef7d074bada7fef600f6131ccf1f4202b9d3c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.4

Release files / Abyiss-1.0.1-py3-none-any.whl

Download URL Abyiss-1.0.1-py3-none-any.whl
Size 6.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ddaa0189bd456ea20e2617849a5f6ddf4a2ec9db135b555183fcd011eddaec8
BLAKE2b-256 checksum
How to use checksums
5f2a5a5df00d8b17630b089013cd5dbb231af1db8bec8930ed35eddbe38af855
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.4

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page