UNPKG

dexscreener-wrapper

Version:

A lightweight TypeScript wrapper for the DexScreener API

123 lines (88 loc) 3.06 kB
# DexScreener API Wrapper A lightweight TypeScript wrapper for the DexScreener API, providing easy access to token data, pairs, and market information. ## Features - 🚀 Simple, focused API wrapper - 📊 Real-time token price, volume, and liquidity data - 📈 Market metrics (market cap, FDV, price changes) - ⛓️ Multi-chain support - 🔒 Type-safe with full TypeScript support - 📝 Comprehensive documentation and examples ## Installation ```bash npm install dexscreener-wrapper ``` ## Quick Start ```typescript import { DexScreener } from 'dexscreener-wrapper'; const dexscreener = new DexScreener(); // Search for pairs const pairs = await dexscreener.searchPairs('SOL', 'solana'); console.log(`Found ${pairs.length} pairs`); console.log(`SOL price: $${pairs[0].priceUsd}`); // Get specific pair const pair = await dexscreener.getPair('JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN', 'solana'); if (pair) { console.log(`24h volume: $${pair.volume.h24}`); console.log(`Liquidity: $${pair.liquidity.usd}`); } // Get token profiles const profiles = await dexscreener.getTokenProfiles(); console.log(`Latest token: ${profiles[0].header}`); ``` ## API Methods ### Token Information ```typescript // Get latest token profiles const profiles = await dexscreener.getTokenProfiles(); // Get token orders const orders = await dexscreener.getTokenOrders('solana', 'tokenAddress'); ``` ### Token Boosts ```typescript // Get latest boosted tokens const latestBoosts = await dexscreener.getLatestBoosts(); // Get top boosted tokens const topBoosts = await dexscreener.getTopBoosts(); ``` ### Pairs and Trading ```typescript // Search pairs (supports token address, symbol, or name) const searchResults = await dexscreener.searchPairs('SOL', 'solana'); // Get specific pair const pair = await dexscreener.getPair('pairAddress', 'solana'); // Get pairs by token const pairs = await dexscreener.getPairs('tokenAddress', 'solana'); ``` ## Rate Limits DexScreener API has the following rate limits: - Token profiles, boosts, orders: 60 requests per minute - Pairs and search endpoints: 300 requests per minute ## Error Handling The wrapper provides consistent error handling. Most methods will throw an error if the API request fails: ```typescript try { const pairs = await dexscreener.searchPairs('SOL', 'solana'); // Process pairs... } catch (error) { console.error('Failed to search pairs:', error); } ``` The `getPair` method is special - it returns null if the pair is not found or if there's an error: ```typescript const pair = await dexscreener.getPair('invalidAddress', 'solana'); if (pair === null) { console.log('Pair not found or error occurred'); } ``` ## Project Structure ``` src/ ├── dexscreener.ts # Main DexScreener class implementation ├── dexscreener.test.ts # Tests ├── types.ts # TypeScript interfaces └── index.ts # Public exports ``` ## Contributing Contributions are welcome! Please feel free to submit a Pull Request. ## License ISC