DEV Community

Petrovich Penki
Petrovich Penki

Posted on

How to Fetch XT.com Spot Market Data with Python

Public cryptocurrency market APIs are useful for building price trackers, research tools, dashboards, and trading experiments. In this tutorial, we will retrieve XT.com spot-market ticker data using Python without an API key or external package.

This experiment was created while researching the exchange and preparing independent tutorials for XTGuide.com.

What We Are Building

We will create a small command-line script that:

  • Connects to the XT.com public ticker endpoint
  • Accepts a trading pair such as btc_usdt
  • Retrieves public market data
  • Prints the response as formatted JSON
  • Handles basic network errors

Because this example only requests publicly available market information, you do not need an XT.com account or private API credentials.

Python Code

Create a new file named xt_ticker.py and add the following code:

import json
import sys
from urllib.parse import urlencode
from urllib.request import Request, urlopen
from urllib.error import HTTPError, URLError

API_URL = "https://sapi.xt.com/v4/public/ticker"


def get_ticker(symbol: str) -> dict:
    query = urlencode({"symbol": symbol.lower()})
    request = Request(
        f"{API_URL}?{query}",
        headers={"User-Agent": "xt-market-data-python/1.0"},
    )

    with urlopen(request, timeout=10) as response:
        return json.load(response)


def main():
    symbol = sys.argv[1] if len(sys.argv) > 1 else "btc_usdt"

    try:
        ticker = get_ticker(symbol)
        print(json.dumps(ticker, indent=2))
    except (HTTPError, URLError, TimeoutError) as error:
        print(f"Unable to retrieve ticker data: {error}")
        sys.exit(1)


if __name__ == "__main__":
    main()
Enter fullscreen mode Exit fullscreen mode

Running the Script

The project requires Python 3.9 or newer. No external dependencies are necessary because it uses modules from the Python standard library.

Run the script with:

python xt_ticker.py btc_usdt
Enter fullscreen mode Exit fullscreen mode

To request another trading pair, replace the symbol:

python xt_ticker.py eth_usdt
Enter fullscreen mode Exit fullscreen mode

If no symbol is provided, the script uses btc_usdt by default.

How It Works

The urlencode() function converts the selected symbol into a valid query parameter. The program then sends a GET request to this public endpoint:

https://sapi.xt.com/v4/public/ticker?symbol=btc_usdt
Enter fullscreen mode Exit fullscreen mode

The returned JSON is converted into a Python dictionary and printed in a readable format.

Trading pairs normally contain a base asset and a quote asset. For example, in btc_usdt, BTC is the base asset and USDT is the quote asset. This independent XT.com spot trading guide provides a non-technical explanation of trading pairs, spot orders, and the general trading process.

Error Handling

A timeout prevents the application from waiting indefinitely when the network or API is unavailable. The script also catches basic HTTP and connection errors and returns a readable error message.

A production version could additionally include:

  • Automatic retries
  • Response validation
  • Request logging
  • Local caching
  • Rate-limit handling
  • Multiple-symbol support

Possible Project Ideas

This example can be expanded into:

  • A cryptocurrency price dashboard
  • A terminal-based market monitor
  • A trading-pair comparison tool
  • A historical data collector
  • A price-alert application
  • A portfolio research notebook

If you are building a portfolio tracker, you may eventually want to record deposits and withdrawals alongside market prices. This XT.com withdrawal guide explains withdrawal networks, fees, limits, and common transfer mistakes from a user perspective.

Security Notes

Public market endpoints do not require private credentials. If you later add authenticated account or trading features, never place API keys directly inside your code or a public GitHub repository.

Store sensitive credentials in protected environment variables and restrict API-key permissions whenever possible.

Additional Resource

Endpoint parameters and response details are available in the official XT.com ticker API documentation.

Conclusion

A public ticker endpoint is a simple starting point for experimenting with cryptocurrency market data. With only a few lines of Python, you can retrieve public information and use it as the foundation for more advanced research or dashboard projects.

Top comments (0)