UNPKG

dexscreener-sdk

Version:

A TypeScript wrapper for the DEX Screener API, providing easy access to token profiles, boosts, orders, pairs, and more.

149 lines (106 loc) โ€ข 3.99 kB
# DEX Screener SDK [![npm version](https://img.shields.io/npm/v/dexscreener-sdk.svg)](https://www.npmjs.com/package/dexscreener-sdk) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![TypeScript](https://img.shields.io/badge/TypeScript-4.6.0-blue.svg)](https://www.typescriptlang.org/) A powerful TypeScript SDK for the DEX Screener API, providing seamless access to cryptocurrency token data, market analytics, and trading pairs across multiple blockchains. ## ๐Ÿš€ Features - **Full API Coverage**: Access all DEX Screener endpoints - **Type Safety**: Built with TypeScript for enhanced developer experience - **Modular Design**: Clean architecture with separate modules for different API functionalities - **Comprehensive Models**: Well-documented data models for all API responses - **Error Handling**: Robust error handling and type checking - **Promise-based**: Modern async/await support - **Zero Dependencies**: Only uses axios for HTTP requests ## ๐Ÿ“ฆ Installation ```bash npm install dexscreener-sdk # or yarn add dexscreener-sdk ``` ## ๐Ÿ”ง Usage ### Token Profiles ```typescript import { getLatestTokenProfiles } from "dexscreener-sdk"; // Fetch latest token profiles const profiles = await getLatestTokenProfiles(); console.log(profiles); ``` ### Token Boosts ```typescript import { getLatestTokenBoosts, getTopTokenBoosts, } from "dexscreener-sdk"; // Get latest token boosts const latestBoosts = await getLatestTokenBoosts(); // Get top boosted tokens const topBoosts = await getTopTokenBoosts(); ``` ### Trading Pairs ```typescript import { getPairById, searchPairs } from "dexscreener-sdk"; // Get specific pair const pair = await getPairById("solana", "pairAddress"); // Search for pairs const searchResults = await searchPairs("SOL/USDC"); ``` ## ๐Ÿ“š API Reference ### Token Endpoints - `getLatestTokenProfiles()`: Fetch latest token profiles - `getLatestTokenBoosts()`: Get recently boosted tokens - `getTopTokenBoosts()`: Get tokens with most active boosts - `getOrdersForToken(chainId, tokenAddress)`: Fetch token orders ### Pair Endpoints - `getPairById(chainId, pairId)`: Get specific trading pair - `searchPairs(query)`: Search for trading pairs - `getTokenPools(chainId, tokenAddress)`: Get liquidity pools for token - `getPairsByTokenAddresses(chainId, tokenAddresses)`: Get pairs for multiple tokens ## ๐Ÿ”„ Response Types All responses are properly typed with TypeScript interfaces: ```typescript interface TokenProfile { url: string; chainId: string; tokenAddress: string; icon: string; header: string; description: string; links: ILink[]; // ... more properties } ``` ## โš™๏ธ Configuration The base URL is configurable through the `config.ts` file: ```typescript export const BASE_URL = "https://api.dexscreener.com"; ``` ## ๐Ÿงช Testing ```bash # Run all tests npm test # Run specific test suite npm test -- -t "Token Profiles" ``` ## ๐Ÿค Contributing 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ## ๐Ÿ“„ License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## ๐Ÿ”— Links - [DEX Screener](https://dexscreener.com) - [API Documentation](https://docs.dexscreener.com/api/reference) - [Bug Reports](https://github.com/Ziondido/dexscreener-api-wrapper/issues) ## ๐Ÿ™ Acknowledgments - DEX Screener team for providing the API - Contributors and maintainers ## ๐Ÿ“Š Keywords dex, screener, cryptocurrency, blockchain, trading, api, typescript, solana, ethereum, pairs, tokens, defi, crypto-api, market-data