# DexScreener Token Pair Scraper (x402)

> DexScreener Token Pair Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.03/call, status unknown (last checked 2026-10-02).

Fetches structured token pair data from DexScreener discovery feeds with filtering and sorting by volume, liquidity, price change, and other DEX metrics.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/dexscreener?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/dexscreener-token-pair-scraper-x402-487e159f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_yTQN0e1LNOJ8OHMQSpzN9

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability dexscreener-token-pair-scraper-x402-487e159f -d '<json body>'
```

Example prompt: Pull the top 20 Solana token pairs from DexScreener sorted by 24h volume in descending order, only include pairs with at least $100k liquidity and under 48 hours old.

## When to prefer this

Use this endpoint when you need structured, filterable token pair data from DexScreener — especially for discovering new or trending tokens across specific chains and DEXes with precise liquidity, FDV, age, and price-change filters. Prefer this over raw web scraping when you want clean JSON output without writing custom parsers, and when pay-per-successful-call pricing matters (no charge for empty/failed runs).

## Known failure modes

- Empty result set if no pairs match the filter criteria — not charged
- Invalid chainName returns an error or empty result
- Unsupported feed name causes a validation error
- Network or upstream DexScreener API unavailability returns a failure — not charged
- Conflicting min/max filters (e.g. minLiq > maxLiq) may return zero results

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count and an array of token pair records, each containing the DEX ID, pair address, chain ID, token name, token symbol, quote token name, quote token symbol, and quote token address.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "time": {
   "enum": [
    "24h",
    "6h",
    "1h",
    "5m"
   ],
   "type": "string",
   "default": "24h",
   "description": "Window for volume or price-change sorting. Other sort fields use their stated metric."
  },
  "dexId": {
   "type": "string",
   "default": "",
   "description": "Optional exchange identifier within the chain; leave empty for all exchanges."
  },
  "feeds": {
   "type": "array",
   "default": [
    "latestProfiles",
    "latestBoosts",
    "topBoosts"
   ],
   "description": "Public discovery feeds to scan before resolving token pairs. Each feed supplies at most 30 tokens."
  },
  "order": {
   "enum": [
    "desc",
    "asc"
   ],
   "type": "string",
   "default": "desc",
   "description": "Descending or ascending order after filtering."
  },
  "maxAge": {
   "type": "number",
   "minimum": 0,
   "description": "Optional inclusive maximum pair age (hours) filter; leave empty to skip."
  },
  "maxFdv": {
   "type": "number",
   "minimum": 0,
   "description": "Optional inclusive maximum fully diluted value (usd) filter; leave empty to skip."
  },
  "maxLiq": {
   "type": "number",
   "minimum": 0,
   "description": "Optional inclusive maximum liquidity (usd) filter; leave empty to skip."
  },
  "minAge": {
   "type": "number",
   "minimum": 0,
   "description": "Optional inclusive minimum pair age (hours) filter; leave empty to skip."
  },
  "minFdv": {
   "type": "number",
   "minimum": 0,
   "description": "Optional inclusive minimum fully diluted value (usd) filter; leave empty to skip."
  },
  "minLiq": {
   "type": "number",
   "minimum": 0,
   "description": "Optional inclusive minimum liquidity (usd) filter; leave empty to skip."
  },
  "rankBy": {
   "enum": [
    "volume",
    "txns",
    "priceChange",
    "liquidity",
    "marketCap",
    "fdv",
    "pairAge",
    "activeBoosts"
   ],
   "type": "string",
   "default": "volume",
   "description": "Sort the discovered pairs locally by this available metric."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum number of pair records to save. Zero means every discovered match."
  },
  "chainName": {
   "type": "string",
   "description": "Chain identifier, optionally followed by /exchange (for example solana or solana/pumpfun)."
  },
  "max24HChg": {
   "type": "number",
   "description": "Optional inclusive maximum 24h price change (%) filter; leave empty to skip."
  },
  "max
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "dexId": null,
    "address": null,
    "chainId": null,
    "tokenName": null,
    "tokenSymbol": null,
    "quoteTokenName": null,
    "quoteTokenSymbol": null,
    "quoteTokenAddress": null
   }
  ],
  "product": "dexscreener"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/dexscreener-token-pair-scraper-x402-487e159f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
