Skip to content
Agentmart
Submit a tool

dex-screener-scanner

Automate DexScreener Solana token discovery and screening via browser automation.

Skill by x402agent

IndexedMIT★ 25
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/x402agent-dex-screener-scanner

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Automate DexScreener Solana token discovery and screening via browser automation. Navigate dexscreener.com/solana, scrape real-time token listings, filter by volume/liquidity/age/holders, and identify the best opportunities. Triggers: scan dexscreener, find new tokens, find trending tokens, screen Solana tokens, best tokens on Solana, dexscreener scanner.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/dex-screener-scanner

What's inside

Skill name
dex-screener-scanner
Description
Automate DexScreener Solana token discovery and screening via browser automation. Navigate dexscreener.com/solana, scrape real-time token listings, filter by volume/liquidity/age/holders, and identify the best opportunities. Triggers: scan dexscreener, find new tokens, find trending tokens, screen Solana tokens, best tokens on Solana, dexscreener scanner.
License
MIT
Instructions
281 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (4)

  • SKILL.md
  • dexscreener_layout.md · references/
  • scan_dexscreener.py · scripts/
  • screen_tokens.py · scripts/

SKILL.md (first lines)

# DexScreener Solana Scanner

Autonomous agent skill for scanning and screening Solana tokens on DexScreener using browser automation (Playwright/Puppeteer). The goal is to navigate `dexscreener.com/solana`, extract token data from live listings, apply screening filters, and identify the best trading opportunities.

## Overview

This skill uses browser automation to:

1. Navigate to DexScreener's Solana board
2. Scrape live token listings (new, trending, gainers, etc.)
3. Extract key metrics for each token
4. Apply configurable screening filters to find the best opportunities
5. Return ranked results with rationale

## Workflow

### Step 1: Launch Browser & Navigate

Use a browser automation tool (Playwright or Puppeteer) to open `https://dexscreener.com/solana`.

```python
# Example with Playwright
page = await browser.new_page()
await page.goto("https://dexscreener.com/solana", wait_until="domcontentloaded")
```

**Important:** DexScreener is a heavy React SPA. Wait for the token table rows to render before scraping. The table typically appears within 3-8 seconds.

### Step 2: Wait for Token Table to Load

The token listing is a dynamic table. Watch for:

- CSS selector for table rows: `div[data-group="token-row"]` or `.ds-table-row` or `tr[data-id]`
- The table has multiple tabs: **New**, **Trending**, **Gainers**, **Recently Copied**, etc.
- Wait for at least one row to be visible before scraping

Recommended wait strategy:

```python
# Wait for first token row to appear
await page.wait_for_selector('[data-group="token-row"]', timeout=15000)
# Or wait for the table body
await page.wait_for_selector('table tbody tr', timeout=15000)
```

If the wait times out, the page may be loading slowly — retry once with a longer timeout.

### Step 3: Parse Token Listing Data

Each token row typically contains these fields (column order may vary slightly):

| Field | Description | Example |
|-------|-------------|---------|
| **#** | Rank/position | 1, 2, 3 |
| **Name/Symbol** | Token name + ticker | "dogwifhat / WIF" |
| **Price** | Current SOL or USD price | "$0.0042" |
| **Price Change** | 5m/1h/6h/24h change % | "+15.3%" |
| **Volume** | 24h trading volume | "$1.2M" |
| **Liquidity** | Pool liquidity | "$45K" |
| **Market Cap** | Fully diluted market cap | "$2.1M" |
| **Age** | How long since creation | "3m" (3 minutes), "1h" |
| **Txns** | Transaction count (buys/sells) | "1.2K / 800" |
| **Holders** | Unique holder count | "450" |
| **FDV / Liq** | FDV-to-Liquidity ratio | "12.5x" |

**Parsing approach:**

```python
rows = await page.query_selector_all('[data-group="token-row"]')
tokens = []
for row in rows:
    cells = await row.query_selector_all('td')
    # Extract based on cell index
    tokens.append({
        "rank": await cells[0].inner_text(),
        "name": await cells[1].inner_text(),
        "price": await cells[2].inner_text(),
        "change_5m": await cells[3].inner_text(),
        "volume": await cells[4].inner_text(),
        "liquidity": await cells[5].inner_text(),
        "market_cap": await cells[6].inner_text(),
        "age": await cells[7].inner_text(),
        "txns": await cells[8].inner_text(),
        "holders": await cells[9].inner_text(),
        # ... etc
    })
```

**Note:** Cell indices may shift if DexScreener updates their layout. Always inspect the actual DOM first. Use `page.evaluate()` for more robust scraping if query selectors are unreliable.

### Step 4: Switch Between Listing Tabs

DexScreener has multiple tabs that reveal different token sets. Click these to scan more broadly:

```python
# Available tabs (selectors may vary):
# New: Most recently created pairs
await page.click('button:has-text("New")')
# Trending: Hottest tokens right now
await page.click('button:has-text("Trending")')
# Gainers: Top gainers
await page.click('button:has-text("Gainers")')
# Recently Copied: Tokens being copied from other chains
await page.click('button:has-text("Recently Copied")')
```

Wait 2-3 seconds after clicking a tab for the table to re-render.

### Step 5: Scroll to Load More Tokens

DexScreener loads tokens in batches (about 25 per page). Scroll down to trigger lazy loading:

```python
# Scroll to bottom of table to load more
for _ in range(3):
    await page.evaluate('window.scrollBy(0, 800)')
    await page.wait_for_timeout(1500)
```

From x402agent/solana-clawd, MIT.

More from x402agent/solana-clawd

Signals

Stars
25
Forks
21
Open issues
2
Last commit (this folder)
May 18, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from x402agent

Cite this page

dex-screener-scanner skill. Agent Mart. https://agentmart.dev/skills/x402agent-dex-screener-scanner (last updated 2026-10-24)