Most projects need multiple APIs. IP geolocation from one provider, crypto prices from another, screenshots from a third. Each one needs its own account, API key, SDK, and rate limit management.
I built a single SDK that wraps 40+ APIs behind one key. Here's how it works.
The Problem
A typical backend might need:
// The old way: 5 providers, 5 keys, 5 SDKs
import MaxMind from '@maxmind/geoip2-node';
import CoinGecko from 'coingecko-api';
import puppeteer from 'puppeteer';
import { Resolver } from 'dns/promises';
import Cheerio from 'cheerio';
That's 5 accounts, 5 API keys, 5 rate limit strategies, and 5 different error formats to handle.
One SDK Instead
import { Frostbyte } from 'frostbyte-api';
// One key, all services
const fb = new Frostbyte('gw_your_key');
const geo = await fb.geo.lookup('8.8.8.8');
const btc = await fb.crypto.price('BTC');
const dns = await fb.dns.resolve('github.com');
const page = await fb.scraper.scrape('https://example.com');
Getting Started
1. Get a Free API Key
No signup form. No email verification. Just one curl:
curl -X POST https://agent-gateway-kappa.vercel.app/api/keys/create
Response:
{
"key": "gw_abc123...",
"credits": 200,
"expires_in": "30 days"
}
200 free credits = 200 API calls across any service.
2. Install the SDK
JavaScript (Node 18+, Bun, or Deno):
npm install github:OzorOwn/frostbyte-api
Python (3.7+, zero dependencies):
pip install git+https://github.com/OzorOwn/frostbyte-api.git
3. Use It
import { Frostbyte } from 'frostbyte-api';
const fb = new Frostbyte('gw_your_key');
That's it. Every service is now available as a method.
What You Can Do
IP Geolocation
const geo = await fb.geo.lookup('203.0.113.50');
console.log(geo);
// { ip: '203.0.113.50', country: 'AU', city: 'Sydney',
// lat: -33.8688, lon: 151.2093, timezone: 'Australia/Sydney' }
Live Crypto Prices
const btc = await fb.crypto.price('BTC');
console.log(`Bitcoin: $${btc.price.toLocaleString()}`);
// Bitcoin: $97,432
// Or get multiple at once
const prices = await fb.crypto.prices();
// Returns 500+ tokens with price, 24h change, market cap
Website Screenshots
const png = await fb.screenshot.capture('https://github.com', {
width: 1280,
height: 720,
format: 'png'
});
// Returns a PNG buffer — save it, send it, whatever
require('fs').writeFileSync('github.png', png);
Web Scraping
const page = await fb.scraper.scrape('https://news.ycombinator.com');
console.log(page.title); // 'Hacker News'
console.log(page.links); // Array of all links on the page
DNS Lookup
const dns = await fb.dns.resolve('example.com', 'MX');
console.log(dns.records);
// [{ priority: 10, value: 'mail.example.com' }]
HD Wallet Generation
const wallet = await fb.wallet.create('ethereum');
console.log(wallet);
// { address: '0x...', privateKey: '0x...', mnemonic: '...' }
// Supports: ethereum, bitcoin, solana, polygon, + 5 more chains
Python Works the Same Way
from frostbyte import Frostbyte
fb = Frostbyte('gw_your_key')
# Geolocation
geo = fb.geo.lookup('8.8.8.8')
print(f"{geo['city']}, {geo['country']}")
# Crypto
btc = fb.crypto.price('BTC')
print(f"BTC: ${btc['price']:,.2f}")
# DNS
dns = fb.dns.resolve('github.com')
for record in dns['records']:
print(record)
Full Service List
The SDK wraps 14 service categories:
| Category | What it does | Example |
|---|---|---|
geo |
IP geolocation | fb.geo.lookup('1.1.1.1') |
crypto |
Live token prices | fb.crypto.price('ETH') |
dns |
DNS record lookup | fb.dns.resolve('example.com') |
screenshot |
Website screenshots | fb.screenshot.capture(url) |
scraper |
Web page scraping | fb.scraper.scrape(url) |
wallet |
HD wallet generation | fb.wallet.create('solana') |
code |
Code execution sandbox | fb.code.run('python', code) |
pdf |
HTML to PDF conversion | fb.pdf.generate(html) |
shorturl |
URL shortener | fb.shorturl.create(url) |
search |
Web search | fb.search.query('nodejs') |
paste |
Pastebin | fb.paste.create(text) |
email |
Email for agents | fb.email.createInbox() |
transform |
Text/data transforms | fb.transform.markdown(html) |
image |
Image processing | fb.image.resize(buffer, opts) |
Plus 26 more services accessible via the raw API: fair games, webhooks, task queues, secret storage, event bus, scheduling, and more.
AI Agent Use Case
If you're building AI agents (LangChain, AutoGPT, Claude tools), this SDK gives your agent instant access to real-world capabilities:
import { Frostbyte } from 'frostbyte-api';
const fb = new Frostbyte('gw_your_key');
// Agent tool: "research a company"
async function researchCompany(domain) {
const [dns, geo, page] = await Promise.all([
fb.dns.resolve(domain),
fb.geo.lookup(domain),
fb.scraper.scrape(`https://${domain}`),
]);
return {
title: page.title,
description: page.meta?.description,
hosting: { ip: geo.ip, country: geo.country, city: geo.city },
nameservers: dns.records,
};
}
const info = await researchCompany('stripe.com');
console.log(info);
Three parallel API calls, one SDK, one key.
Pricing
- Free tier: 200 credits (200 API calls), no signup
- Paid: $1 USDC = 500 credits ($0.002 per call)
- No minimum purchase — even $0.01 works
Links
- SDK (GitHub): github.com/OzorOwn/frostbyte-api
- API Docs: api-catalog-three.vercel.app
- Full service catalog: api-catalog-three.vercel.app/docs
The SDK is MIT licensed, zero dependencies, and works in Node.js 18+, Bun, Deno, and browsers.
Top comments (0)