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
Markdown
# DEX Screener SDK
[](https://www.npmjs.com/package/dexscreener-sdk)
[](https://opensource.org/licenses/MIT)
[](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