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.3.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dextools_python-0.2.3.tar.gz
Algorithm Hash digest
SHA256 31f36ed77506d8b149052bcb04706e8f5b7fb3e97ee5ea01498a92e610a44998
MD5 7b75994d478407c83bbcd98f8724127a
BLAKE2b-256 9cc60f3746defc4394c953d66d8594adbb3f086dd70ca9fcb2eadec83f326fb9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dextools_python-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.5 Windows/10

File hashes

Hashes for dextools_python-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4b120ed4fcc9f76847bf4d7947335eb322e8d797b0fc0c50fd7d7a6d93f2b6df
MD5 0d9b6012c1f21dc48e3eade633d98a00
BLAKE2b-256 c3de4ea1289ebdd2739cb34fbb41e270edff414d6a82e82f72741998a5334b6d

See more details on using hashes here.

Supported by

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