crypull
v1.0.2
Published
All-in-one Node.js package to fetch cryptocurrency prices and token info from CoinGecko, GeckoTerminal, Dexscreener, and Binance.
Downloads
309
Maintainers
Readme
🚀 Crypull
The Ultimate All-in-One Crypto API & CLI Tool
Fetch cryptocurrency prices, top coins, deep token analytics, historical charts, network gas, and market sentiment across multiple platforms instantly—all completely for free, with zero API keys required.
📖 Table of Contents
- Why Crypull?
- Installation
- 💻 Command Line Interface (CLI) Guide
- 🛠️ Usage in Your Project (TypeScript / Node.js)
- Supported Providers
✨ Why Crypull?
- Smart Routing: It automatically detects if you're typing a symbol (like
BTC) or a smart contract address (like0x...) and routes it to the correct provider. - Zero Dependencies (Core): Uses the native Node.js
fetchAPI. - 100% Free APIs: Pulls from CoinGecko, DexScreener, Binance, CoinCap, Coinpaprika, and CryptoCompare—no paid API keys required.
- DEX & CEX Coverage: Finds both Top 100 exchange coins and brand new memecoins launching on Uniswap, Raydium, or PulseX.
- Beautiful CLI: Built-in colored, heavily formatted terminal UI.
📦 Installation
To use it in your terminal as a global CLI tool:
npm install -g crypullTo use it inside your Node.js or TypeScript project:
npm install crypull💻 Command Line Interface (CLI) Guide
Once installed globally, you can run crypull from anywhere in your terminal!
1. Get a Quick Price
Instantly fetch the current USD price of any symbol or contract address.
$ crypull price btc
$ crypull price 0x6982508145454Ce325dDbE47a25d4ec3d23119332. Deep Token Analytics
Get detailed info including market cap, rank, FDV, 24h volume, circulating supply, all-time highs/lows, top DEX trading pairs, and official social links.
$ crypull info eth
$ crypull info solana3. Top 50 Cryptocurrencies
See a ranked, color-coded list of the Top 50 coins by global market capitalization.
$ crypull top4. Trending Coins
See what the world is searching for! Fetches the top 10 most trending coins right now.
$ crypull trending5. Historical ASCII Charts
Draw an actual historical price chart right inside your terminal!
# Draws a 7-day chart by default
$ crypull chart btc
# Draw a 30-day chart for Solana
$ crypull chart sol -d 30 6. Global Market Overview
Get the total global cryptocurrency market cap, 24h volume, and BTC/ETH dominance percentages.
$ crypull market7. Ethereum Gas Tracker
Check current Ethereum network congestion (Safe, Average, Fast) in Gwei.
$ crypull gas8. Fear & Greed Index
Check current market sentiment (e.g., Extreme Fear vs. Extreme Greed).
$ crypull sentiment9. Donate / Support
Show donation addresses to support development.
$ crypull donate🛠️ Usage in Your Project (TypeScript / Node.js)
Crypull is fully typed out of the box and works beautifully in any Node.js, Next.js, Express, or standard TypeScript project.
1. Import and Initialize
You can simply import the global, ready-to-use crypull instance and call its methods immediately.
TypeScript / ES Modules (import)
import { crypull } from 'crypull';
async function fetchCryptoData() {
// 1. Fetch a quick price
const btcPrice = await crypull.price('BTC');
console.log(`BTC Price: $${btcPrice?.priceUsd}`);
// 2. Deep token info (works with contract addresses!)
const pepeInfo = await crypull.info('0x6982508145454Ce325dDbE47a25d4ec3d2311933');
console.log(`PEPE Market Cap: $${pepeInfo?.marketCap}`);
console.log(`PEPE Volume 24h: $${pepeInfo?.volume24h}`);
}
fetchCryptoData();CommonJS (require)
const { crypull } = require('crypull');
async function run() {
const ethPrice = await crypull.price('ethereum');
console.log('ETH Price:', ethPrice.priceUsd);
}
run();2. Available API Methods
| Method | Returns | Description |
|--------|---------|-------------|
| price(query: string) | Promise<PriceData> | Get basic symbol and USD price. |
| info(query: string) | Promise<TokenInfo> | Massive payload including supplies, ATH/ATL, social links, and DEX pairs. |
| search(query: string) | Promise<SearchResult[]> | Find coins by name or symbol across multiple providers. |
| top() | Promise<TopCoin[]> | Get top 50 cryptocurrencies by market cap. |
| trending() | Promise<TrendingCoin[]> | Get top 10 currently trending/searched tokens. |
| market() | Promise<GlobalMarketData> | Global market cap, volume, and dominance metrics. |
| chart(query: string, days?: number)| Promise<ChartData> | Arrays of timestamps and prices for building custom charts. |
| gas() | Promise<GasData> | Current Ethereum Gwei prices. |
| sentiment() | Promise<SentimentData> | Fear and Greed index (0-100). |
3. Customizing Providers
By default, the global crypull instance smartly loops through all available providers until it finds the best data. If you want to explicitly restrict it to specific providers, you can instantiate your own class:
import { Crypull, CoinGeckoProvider, BinanceProvider } from 'crypull';
// Create a custom instance that ONLY searches Binance and CoinGecko
const customCrypull = new Crypull({
providers: [
new BinanceProvider(),
new CoinGeckoProvider()
]
});
const price = await customCrypull.price('ETH');🌐 Supported Providers
Crypull queries data from the following platforms. It handles all rate-limits gracefully without requiring API keys.
- Binance: Extremely fast for top CEX pairs.
- DexScreener: Best for new and trending DEX tokens, contract addresses, and deep liquidity data.
- CoinGecko: Broadest coverage for general coins, historical market data, and descriptions.
- Coinpaprika: Provides extensive market data and supply metrics.
- CoinCap: Fast, real-time pricing and market activity.
- CryptoCompare: High-quality fallback market data.
- GeckoTerminal: Fallback for custom networks and liquidity pools not fully indexed elsewhere.
💖 Donate
If you find this project useful, consider supporting the development!
- BTC:
bc1qj4zt3lva4r68xspayg0p8s4hyg40nhjz8fuhqq - EVM (All Chains):
0x63a875d0c4Dad8E18B95D844caE6FF915dF0a2BD - Solana:
8J5VvZu6ayQa4XnSAAzx4YX3QsXYyyNrP4Zr7JEx1KFY - TRX:
TPgZSrHUhKdjyMwaGd15utJvsbk85oBbit
Built with ❤️ for Web3 Developers by Md Foisal Islam
