DexScreener DEX Pairs, Liquidity & Volume Scraper
Pricing
from $10.20 / 1,000 results
DexScreener DEX Pairs, Liquidity & Volume Scraper
Scrape on-chain DEX trading pairs with live USD price, liquidity, 24h/6h/1h volume, price-change momentum, buy and sell counts, market cap, FDV and token socials. Search any token by symbol, name or contract address and filter by chain. Export to JSON, CSV or Excel.
Pricing
from $10.20 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
DexScreener DEX Pairs, Liquidity & Volume Scraper
Here is one real result, with every field the actor returns:
{"chainId": "flowevm","dexId": "flowswap","pairAddress": "0x811491E52f828d934966BEaF21D94f14a49bF225","labels": ["v3"],"url": "https://dexscreener.com/flowevm/0x811491e52f828d934966beaf21d94f14a49bf225","baseTokenName": "WETH","baseTokenSymbol": "WETH","baseTokenAddress": "0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590","quoteTokenName": "PYUSD0","quoteTokenSymbol": "PYUSD0","quoteTokenAddress": "0x99aF3EeA856556646C98c8B9b2548Fe815240750","priceUsd": 1882.038,"priceNative": 1882.03876,"liquidityUsd": 186937.66,"liquidityBase": 45.25,"liquidityQuote": 101775,"fdv": 610588,"marketCap": 610588,"volumeH24": 4722.8,"volumeH6": 323.97,"volumeH1": 56.35,"volumeM5": 0,"priceChangeH24": -0.44,"priceChangeH6": 0.05,"priceChangeH1": -0.01,"priceChangeM5": null,"buysH24": 34,"sellsH24": 21,"buysH6": 9,"sellsH6": 3,"buysH1": 0,"sellsH1": 3,"pairCreatedAt": "2026-01-20T02:11:07.000Z","txnsH24": 55,"buySellRatioH24": 1.619,"volumeToLiquidityH24": 0.025,"ageHours": 4949,"boostsActive": null,"imageUrl": null,"headerImage": null,"openGraphImage": null,"websites": null,"socials": null,"aiRiskFlags": ["very low liquidity", "extreme FDV vs liquidity", "brand-new pair", "no website/socials"],"aiRiskLevel": "high","source": "DexScreener","observedAt": "2026-08-14T07:25:20.561Z"}
The most complete DexScreener pairs scraper available. It returns every field DexScreener exposes for a trading pair (price, liquidity, FDV, market cap, multi-window volume, price change and buy/sell counts), adds derived fields (buy/sell ratio, volume-to-liquidity, pair age), and gives you search, chain and sort filters plus opt-in AI risk screening to target exactly the pairs you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches DexScreener for trading pairs by token symbol, name, or contract address, applies your chain filter and sort order, and writes one normalized record per pair to the run's dataset. Each record carries the chain and DEX, pair and token addresses, USD and native price, liquidity (total plus base/quote sides), FDV, market cap, volume across the 5-minute, 1-hour, 6-hour, and 24-hour windows, matching price-change windows, and buy/sell transaction counts.
On top of the raw fields it derives buySellRatioH24, volumeToLiquidityH24, and ageHours so you can spot momentum and wash-trading without extra parsing. Missing source values are returned as null, never invented. An optional paid AI add-on screens each pair for rug-pull and scam red flags with an overall risk level.
Quickstart
Open the actor, paste this into the input, and press Run. It returns the 10 highest-volume PEPE pairs.
{"searchQuery": "PEPE","sortBy": "volume","maxPairs": 10}
Pass a contract address in searchQuery to return every pool for that token. Add chainId to keep only pairs on one chain. Every field is optional.
Input reference
| Field | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
searchQuery | string | no | PEPE | Token symbol, name, or contract address to find pairs for. An address returns every pool for that token. | WIF |
chainId | string | no | (any) | Keep only pairs on one chain, for example ethereum, solana, bsc, base, arbitrum, polygon. | solana |
sortBy | enum | no | volume | Order pairs by volume (24h), liquidity, priceChange (24h momentum), or newest pool. | liquidity |
maxPairs | integer | no | 10 | Maximum number of pairs to collect. | 50 |
withRisk | boolean | no | false | AI add-on. Screen each pair for rug-pull / scam / low-quality red flags with an overall risk level. Billed per successful analysis. Disabled on free plans. | true |
Output reference
One dataset item per pair. Types: string, number, integer, string[], object, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
chainId | string | Chain the pair trades on, for example ethereum. |
dexId | string | DEX the pair trades on, for example uniswap. |
pairAddress | string | Pool/pair contract address (unique per pair). |
labels | string[] | Pool labels, for example v3. |
url | string | DexScreener pair page URL. |
baseTokenName | string | Base token name. |
baseTokenSymbol | string | Base token symbol. |
baseTokenAddress | string | Base token contract address. |
quoteTokenName | string | Quote token name. |
quoteTokenSymbol | string | Quote token symbol. |
quoteTokenAddress | string | Quote token contract address. |
priceUsd | number | Current price in USD. |
priceNative | number | Current price in the quote token. |
liquidityUsd | number | Total pool liquidity in USD. |
liquidityBase | number | Base-token side of liquidity. |
liquidityQuote | number | Quote-token side of liquidity. |
fdv | number | Fully diluted valuation. |
marketCap | number | Market capitalization. |
volumeH24 | number | 24-hour trading volume in USD. |
volumeH6 | number | 6-hour volume in USD. |
volumeH1 | number | 1-hour volume in USD. |
volumeM5 | number | 5-minute volume in USD. |
priceChangeH24 | number | 24-hour price change percent. |
priceChangeH6 | number | 6-hour price change percent. |
priceChangeH1 | number | 1-hour price change percent. |
priceChangeM5 | number | 5-minute price change percent, or null. |
buysH24 | integer | Buy transactions in 24h. |
sellsH24 | integer | Sell transactions in 24h. |
buysH6 | integer | Buy transactions in 6h. |
sellsH6 | integer | Sell transactions in 6h. |
buysH1 | integer | Buy transactions in 1h. |
sellsH1 | integer | Sell transactions in 1h. |
pairCreatedAt | string | ISO 8601 pool creation timestamp. |
txnsH24 | integer | Total transactions in 24h. |
buySellRatioH24 | number | Derived buys-to-sells ratio over 24h. |
volumeToLiquidityH24 | number | Derived 24h volume divided by liquidity. |
ageHours | integer | Derived pool age in hours. |
boostsActive | integer | Active DexScreener boosts, or null. |
imageUrl | string | Token image URL, or null. |
headerImage | string | Header image URL, or null. |
openGraphImage | string | Open Graph image URL, or null. |
websites | array | Project websites when listed, else null. |
socials | array | Project social links when listed, else null. |
aiRiskFlags | string[] | AI risk red flags (opt-in), else null. |
aiRiskLevel | string | AI overall risk level low/medium/high (opt-in), else null. |
source | string | Data source label. Always DexScreener. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed item; carries the failure reason. |
Example output record
Real record from a live run (input {"searchQuery": "WETH", "sortBy": "newest", "maxPairs": 3, "withRisk": true}):
{"chainId": "flowevm","dexId": "flowswap","pairAddress": "0x811491E52f828d934966BEaF21D94f14a49bF225","url": "https://dexscreener.com/flowevm/0x811491e52f828d934966beaf21d94f14a49bf225","baseTokenSymbol": "WETH","quoteTokenSymbol": "PYUSD0","priceUsd": 1882.038,"liquidityUsd": 186937.66,"fdv": 610588,"marketCap": 610588,"volumeH24": 4722.8,"priceChangeH24": -0.44,"buysH24": 34,"sellsH24": 21,"txnsH24": 55,"buySellRatioH24": 1.619,"volumeToLiquidityH24": 0.025,"ageHours": 4949,"aiRiskFlags": ["very low liquidity", "extreme FDV vs liquidity", "brand-new pair", "no website/socials"],"aiRiskLevel": "high","source": "DexScreener","observedAt": "2026-08-14T07:25:20.561Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~dexscreener-pairs-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQuery":"PEPE","sortBy":"volume","maxPairs":10}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~dexscreener-pairs-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQuery":"0x6982508145454ce325ddbe47a25d4ec3d2311933","chainId":"ethereum","withRisk":true}'
Apify CLI:
apify call scrapers_lat/dexscreener-pairs-scraper \--input '{"searchQuery":"WIF","chainId":"solana","sortBy":"liquidity"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per pair record returned (
resultevent). See the pricing tab for the current per-result price. - AI risk add-on is billed separately. The
withRiskanalysis charges only when it succeeds and only when enabled. - No charge on failure. If a run errors, the actor writes an item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 pairs per run. The AI risk add-on is disabled on free plans. Upgrade for higher limits.
FAQ and troubleshooting
How do I get every pool for one token?
Put the token's contract address in searchQuery. It returns every pair for that token across chains, which you can narrow with chainId.
How do I find momentum or new launches?
Set sortBy to priceChange for 24h momentum or newest for the most recently created pools.
What do the derived fields mean?
buySellRatioH24 is buys divided by sells over 24h, volumeToLiquidityH24 is 24h volume divided by liquidity (high values can signal wash trading), and ageHours is how old the pool is.
Why are websites or socials null?
The project has not linked them on DexScreener. Missing source values are returned as null, never invented.
Is this an official DexScreener tool? No. This actor is independent and has no affiliation with DexScreener. It reads only data that is publicly available. Nothing here is financial advice; do your own research.
Related scrapers
- DefiLlama Protocols Scraper: DeFi protocol TVL and metrics.
- CoinGecko Crypto Scraper: Token prices, market cap, and rank.
- Crypto Token Unlocks Scraper: Token vesting and unlock schedules.
- Crypto Airdrops Scraper: Upcoming and active airdrops.
- DAO Governance Scraper: DAO proposals and votes.
- Farcaster Casts Scraper: Casts and profiles from Farcaster.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with DexScreener. Accesses only publicly available data. Nothing here is financial advice. Use in accordance with the source's terms of service.
