vincentkoc/dexscraper
vincentkoc/dexscraper has 120 GitHub stars and 30 forks. Star changes are not measured yet. Last checked 2026-11-12 08:07 UTC. Last push 2026-11-09.
Real-time DexScreener scraper python SDK for multi-chain token discovery, filtering, and OHLC/OHLCVT export for metatrader and bots.
Measured star growth
- in 24h
- Collecting history
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original👻 Dexscraper
Real-time DexScreener market data in one CLI/SDK.
[!IMPORTANT] This project is independent and not affiliated with DexScreener.
Use at your own risk for research purposes only and comply with DexScreener terms.
[!WARNING] The unofficial DexScreener screener WebSocket endpoints under
wss://io.dexscreener.com/dex/screener/...now return 404 and are treated as dead. Prefer the official DexScreener API (https://api.dexscreener.com/...) for supported market data access. Streaming via this package's historicalio.dexscreener.comWebSocket path is not currently available.
Install Dexscraper
Install with `pip` or `uv`
# pip install
pip install dexscraper
# or uv install
uv pip install dexscraper
# add the Rich terminal UI used by --format rich
pip install "dexscraper[rich]"
Alternative: Development install
# download and install from main branch
git clone https://github.com/vincentkoc/dexscraper.git
cd dexscraper
pip install -e .[dev]
Optional: Cloudflare bypass enhancements (cloudscraper v3)
# Recommended when using --cloudflare-bypass in interactive or --once modes
pip install "cloudscraper @ git+https://github.com/VeNoMouS/[email protected]"
dexscraperauto-detects cloudscraper major version at runtime.- If
<3is detected, bypass still works in compatibility mode and the CLI prints a one-time warning in non-streaming flows with the install command above.
Why Dexscraper?
DexScreener data is useful, but scraping it consistently is painful: protocol changes, Cloudflare behavior, reconnect logic, and export formatting. Dexscraper gives you one stable interface for real-time extraction, filtering, and export, both from CLI and Python code.
What You Get
- Real-time streaming of webSocket extraction
- Multi-chain and multi-DEX filtering
- Trending/top/gainers/new presets
- Structured token profiles and OHLC/OHLCVT output for tools like Metatrader
- Optional Cloudflare bypass flow (with runtime v3 feature detection)
- Typed Python SDK + CLI
Commands
dexscraper # streaming json
dexscraper interactive # gui mode
dexscraper trending --chain solana --limit 10 --once # trending
dexscraper top --chain ethereum --min-liquidity 50000 --once # top
dexscraper trending --chain solana --format json --output pairs.json --once # trending to file
dexscraper --mode trending --chain solana --format rich # gui mode
Options
Run dexscraper --help for the full list. Grouped summary:
| Area | Flags |
|---|---|
| Output | --format/-f {json,ohlc,mt5,ohlcv,ohlcvt,rich}, --once, --limit N (default 20), --output FILE (with --once), --debug/-d |
| Connection | --cloudflare-bypass, --rate-limit/-r N (req/s, default 4.0), --max-retries/-m N (default 5) |
| Presets | --mode {trending,top,gainers,new,transactions,boosted} |
| Scope | --chain NAME (default solana) or --chains a,b, --dex NAME or --dexs a,b, --timeframe/-t {m5,h1,h6,h24} (default h24) |
| Ranking | --rank-by {trendingScoreM5,trendingScoreH1,trendingScoreH6,trendingScoreH24,volume,txns,priceChangeH24,priceChangeH6,priceChangeH1,liquidity,fdv,marketCap}, --order {asc,desc} |
| Liquidity / value | --min-liquidity, --max-liquidity (USD), --min-fdv, --max-fdv, --min-mcap, --max-mcap |
| Volume (USD) | --min-volume, --max-volume (24h), --min-volume-h6, --max-volume-h6, --min-volume-h1, --max-volume-h1 |
| Transactions | --min-txns, --max-txns (24h), --min-txns-h6, --max-txns-h6, --min-txns-h1, --max-txns-h1 |
| Price change (%) | --min-change, --max-change (24h), --min-change-h6, --max-change-h6, --min-change-h1, --max-change-h1 |
| Pair age (hours) | --min-age, --max-age |
| Promotion | --enhanced (enhanced token info only), --min-boosts N, --min-ads N |
Chains: solana, ethereum, base, bsc, polygon, arbitrum, optimism, avalanche. DEXs: raydium, pumpfun, pumpswap, orca, jupiter, meteora, uniswap, uniswapv3, sushiswap, pancakeswap, aerodrome, baseswap.
Python SDK
import asyncio
from dexscraper import DexScraper, ScrapingConfig, Filters, Chain, RankBy, Timeframe
config = ScrapingConfig(
timeframe=Timeframe.H1,
rank_by=RankBy.VOLUME,
filters=Filters(chain_ids=[Chain.SOLANA], liquidity_min=50_000),
)
async def main():
scraper = DexScraper(config=config, use_cloudflare_bypass=True)
batch = await scraper.extract_token_data()
for token in batch.get_top_tokens(10):
if token.price is not None:
print(token.get_display_name(), token.price)
asyncio.run(main())
Contributing
Contributions are welcome. See CONTRIBUTING.md.
Open an issue for bugs, start a discussion for questions, and star the repo if it helps.
Made with 💙 by Vincent Koc · GPL-3.0
Explore related projects
Asabeneh/30-Days-Of-Python
The 30 Days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than 100 days. Follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,560 starsgrafana/grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
77,830 starsredis/redis
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
77,395 starsapache/superset
Apache Superset is a Data Visualization and Data Exploration Platform
75,473 stars