1.0.2 • Published 4 months ago

dexscreener-wrapper v1.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
4 months ago

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

1.0.2

4 months ago

1.0.1

5 months ago

1.0.0

5 months ago