1.0.2 • Published 4 months ago
dexscreener-wrapper v1.0.2
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
npm install dexscreener-wrapper
Quick Start
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
// Get latest token profiles
const profiles = await dexscreener.getTokenProfiles();
// Get token orders
const orders = await dexscreener.getTokenOrders('solana', 'tokenAddress');
Token Boosts
// Get latest boosted tokens
const latestBoosts = await dexscreener.getLatestBoosts();
// Get top boosted tokens
const topBoosts = await dexscreener.getTopBoosts();
Pairs and Trading
// 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:
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:
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