Skip to main content

A simple Python API wrapper for DEXTools

Project description

DEXTools Python

Python application Downloads License: MIT PyPI

A simple Python API wrapper for DEXTools. Supports Dextools API v1 and Dextools API v2

Installation

pip install dextools-python

Obtaining API Key

To obtain an API key, head to the Developer Portal and choose your plan.

Getting Started

There are 2 versions of the Dextools API. Dextools API v1 and Dextools API v2

Version 1

To get started, import the package, and initiate a DextoolsAPI instance object by passing your API key:

from dextools_python import DextoolsAPI
dextools = DextoolsAPI(api_key)

You can also pass an optional user agent:

dextools = DextoolsAPI(api_key, useragent="User-Agent")

Version 2

To get started, import the package, and initiate a DextoolsAPIV2 instance object by passing your API key and your plan:

from dextools_python import DextoolsAPIV2
dextools = DextoolsAPIV2(api_key, plan="free")

You can also pass an optional user agent:

dextools = DextoolsAPIV2(api_key, useragent="User-Agent", plan="free")

If you don't specify any plan when instantiating the object, it will default to "partner" plan

Available plans - Setting your plan

You can setup your plan when setting the object instance by providing the plan argument in the constructor. If no plan is specified, it will default to "partner" plan

To set your plan after the object is created, you can use the set_plan("your_plan") method

dextools.set_plan("standard")

Available values: "free", "standard", "advanced", "pro", and "partner"

Version 1 Queries

Below are a set of queries supported by the Dextools API v1. All data is returned as a Python dictionary for easy data handling.

Get pairs of a token

To get the pairs of a token, pass a chain id and a pair address:

pair = dextools.get_pair("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
print(pair)

Get token details

To get token details, pass a chain id, and a token address:

token = dextools.get_token("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
print(token)

You can also pass the page and pageSize parameters:

token = dextools.get_token("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a", 1, 50)
print(token)

Get chain list

To get the chain list:

chain_list = dextools.get_chain_list()
print(chain_list)

You can also pass the page and pageSize parameters:

chain_list = dextools.get_chain_list(1, 50)
print(chain_list)

Get exchange list

To get the exchange list, pass a chain id:

exchange_list = dextools.get_exchange_list("ether")
print(exchange_list)

You can also pass the page and pageSize parameters:

exchange_list = dextools.get_exchange_list("ether", 1, 50)
print(exchange_list)

Version 2 Queries

Below are a set of queries supported by the Dextools API v2. All data is returned as a Python dictionary for easy data handling.

Blockchain

Get blockchain info

blockchain = dextools.get_blockchain("ether")
print(blockchain)

Get blockchains sorted by default settings

blockchains = dextools.get_blockchains()
print(blockchains)

Get blockchains sorted by default settings and descending order

blockchains = dextools.get_blockchains(sort="name", order="desc")
print(blockchains)

Exchange

Get dex factory info

factory = dextools.get_dex_factory_info("ether", "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f")
print(factory)

Get dexes on a specific chain

dexes = dextools.get_dexes("ether")
print(dexes)

Get dexes on a specific chain sorted by name and descending order

dexes = dextools.get_dexes("ether", sort="creationBlock", order="desc")
print(dexes)

Pool

Get pool info

pool = dextools.get_pool("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
print(pool)

Get pool liquidity

pool_liquidity = dextools.get_pool_liquidity("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
print(pool_liquidity)

Get pool score

pool_score = dextools.get_pool_score("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
print(pool_score)

Get pool price

pool_price = dextools.get_pool_price("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
print(pool_price)

Get pools

pools = dextools.get_pools("ether", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00")
print(pools)

Get pools sorted by creationBlock and descending order and providing block numbers instead

pools = dextools.get_pools("ether", from_="12755070", to="12755071", sort="creationBlock", order="desc")
print(pools)

Token

Get token

token = dextools.get_token("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
print(token)

Get token locks

token_locks = dextools.get_token_locks("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
print(token_locks)

Get token score

token_score = dextools.get_token_score("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
print(token_score)

Get token info

token_info = dextools.get_token_info("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
print(token_info)

Get token price

token_price = dextools.get_token_price("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
print(token_price)

Get tokens

tokens = dextools.get_tokens("ether", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00")
print(tokens)

Get tokens sorted by creationBlock and descending order and providing block numbers instead in descending order

tokens = dextools.get_tokens("ether", from_="18570000", to="18570500", sort="creationBlock", order="desc")
print(tokens)

Get tokens sorted by socialsInfoUpdated and descending order and datetimes in descending order

tokens = dextools.get_tokens("ether", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00", sort="socialsInfoUpdated", order="desc")
print(tokens)

Get token pools

token_pools = dextools.get_token_pools("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00")
print(token_pools)

Get token pools sorted by creationBlock and descending order and providing block numbers instead in descending order

token_pools = dextools.get_token_pools("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a", from_="18570000", to="18570500", sort="creationBlock", order="desc")
print(token_pools)

Rankings

Get hot pools

hot_pools = dextools.get_ranking_hotpools("ether")
print(hot_pools)

Get gainers

gainers = dextools.get_ranking_gainers("ether")
print(gainers)

Get losers

losers = dextools.get_ranking_losers("ether")
print(losers)

Page and PageSize arguments

Some methods support the page and pageSize arguments. Check out the Dextools API v2 documentation for more information.

Examples

Check out the examples folder for some example scripts.

Testing

A set of tests have been included inside tests folder. You will need to set an environment variable as DextoolsAPIKey using your API key.

Supported Blockchains

Dextools adds support for new blockchains from time to time. dextools.get_blockchains() to get a list of supported blockchains and their IDs

Authors

More information

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dextools_python-0.2.1.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

dextools_python-0.2.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file dextools_python-0.2.1.tar.gz.

File metadata

  • Download URL: dextools_python-0.2.1.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.5 Windows/10

File hashes

Hashes for dextools_python-0.2.1.tar.gz
Algorithm Hash digest
SHA256 910ff5ebb378e59d50a228a64fd1b0004ef2b52dd306d663f4dba31f0f916367
MD5 fc1d5df608009d5275fd2f01024b4b9c
BLAKE2b-256 514b2ed6b3cc2fb80d76123dd561d996791aac8fed0e7d2073f1b874d7b54f3a

See more details on using hashes here.

Provenance

File details

Details for the file dextools_python-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for dextools_python-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 df35a39d986ed9a1ea91d87c2555f17ff1148a3f9eaefa5122e0450971b991b5
MD5 07ba048ace7d513cdf44029e9941c71e
BLAKE2b-256 9987bc4000d6a6da90e1820511d416dd26eef74dad0ef19081cf92441530d347

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page