Skip to main content
Glama
chuddyrudd

Sparky Crypto Prices Oracle

Sparky Tools API — Crypto + Web Fetch

Python FastAPI License OpenClaw

Free HTTP API for AI Agents — Real-time cryptocurrency prices + intelligent web scraping. No API keys, no rate limits for personal use, built for OpenClaw and other AI agent platforms.

Keywords: ai agent api, crypto price api, web scraping api, openclaw tools, agent web fetch, mcp alternative, free crypto api, structured web extraction, ai agent http tools, fastapi agent server


📋 Table of Contents


✨ Features

Feature

Endpoint

Cache

Rate Limit

Crypto Prices

/prices

45 sec

15/min

Web Scraping

/fetch

10 min

10/min

Health Check

/health

none

none

Agent Discovery

/.well-known/agent.json

none

none

Crypto Prices (/prices)

  • ✅ 1000+ cryptocurrencies via CoinGecko

  • ✅ Real-time USD prices + 24h change

  • ✅ No CoinGecko API key required

  • ✅ Smart caching reduces API calls

Web Fetch (/fetch)

  • Intelligent content extraction — no HTML garbage

  • ✅ Extracts: title, meta, article text, tables, links, images

  • ✅ Uses trafilatura + BeautifulSoup (battle-tested stack)

  • ✅ Perfect for AI agents that need clean web content

  • ✅ Caches results per URL (10 minutes)

For AI Agents

  • OpenClaw compatible — HTTP REST, no MCP complexity

  • ✅ Structured JSON responses

  • .well-known/agent.json for auto-discovery

  • ✅ Copy-paste ready integration examples


🚀 Quick Start

# 1. Clone git clone https://github.com/chuddyrudd/sparky-crypto-prices.git cd sparky-crypto-prices # 2. Setup python3 -m venv venv source venv/bin/activate pip install -r requirements.txt # 3. Run python3 app.py # Server starts on http://localhost:8000 # 4. Test curl http://localhost:8000/health

📚 API Reference

GET /prices

Real-time cryptocurrency prices.

curl "http://localhost:8000/prices?coins=bitcoin,ethereum,solana"

Parameters:

Name

Type

Default

Description

coins

string

bitcoin,ethereum,solana,cardano

Comma-separated CoinGecko IDs

Response:

{ "timestamp": "2026-02-26T11:45:00", "prices": { "bitcoin": { "usd": 67245.00, "usd_24h_change": 2.5 }, "ethereum": { "usd": 3521.40, "usd_24h_change": -1.2 }, "solana": { "usd": 145.20, "usd_24h_change": 5.1 } }, "source": "CoinGecko cached via Sparky", "note": "Upgrade to paid v2 coming" }

Supported Coins: Any CoinGecko ID. Common: bitcoin, ethereum, solana, cardano, polkadot, dogecoin, chainlink, avalanche


GET /fetch

Intelligent web content extraction.

curl "http://localhost:8000/fetch?url=example.com"

Parameters:

Name

Type

Required

Description

url

string

Yes

Any URL (https:// auto-added if missing)

Response:

{ "timestamp": "2026-02-26T11:45:00", "url": "https://example.com", "title": "Example Domain", "meta_description": "This domain is for use in illustrative examples...", "clean_content": "Clean article text without ads or HTML tags...", "tables": [], "links": ["https://example.com/page1", "https://example.com/page2"], "images": ["https://example.com/image.jpg"], "source": "Sparky Web Fetch (requests + trafilatura)", "note": "Clean, no ads, no HTML garbage. Use ?url=example.com" }

Use Cases:

  • Research: Extract article content for AI analysis

  • Data mining: Scrape structured data from websites

  • Monitoring: Track changes on web pages

  • Integration: Feed clean content to LLMs


GET /health

Health check endpoint.

curl http://localhost:8000/health

Response:

{ "status": "ok", "version": "v1-crypto+webfetch", "uptime": 1772120121.51 }

GET /.well-known/agent.json

Agent discovery card for AI platforms.

curl http://localhost:8000/.well-known/agent.json

Response:

{ "name": "Sparky Tools Oracle", "description": "Crypto prices + Web Fetch (clean structured URL to JSON). Free v1.", "url": "https://your-tunnel-url/prices or /fetch?url=", "capabilities": ["crypto-prices", "web-fetch", "structured-scrape"], "protocol": "http" }

🤖 OpenClaw Agent Integration

This API is built for OpenClaw and other AI agent platforms.

Basic Usage

# Get crypto prices result = web_fetch("http://localhost:8000/prices?coins=bitcoin,ethereum") # Returns: {"prices": {"bitcoin": {"usd": 67245, ...}}} # Scrape web content result = web_fetch("http://localhost:8000/fetch?url=news.ycombinator.com") # Returns: {"title": "Hacker News", "clean_content": "...", "links": [...]}

Advanced Agent Workflows

# 1. Research workflow def research_topic(topic): # Search for topic search_url = f"https://en.wikipedia.org/wiki/{topic}" content = web_fetch(f"http://localhost:8000/fetch?url={search_url}") return content["clean_content"] # 2. Crypto tracking workflow def track_crypto_portfolio(coins): prices = web_fetch(f"http://localhost:8000/prices?coins={coins}") return prices["prices"] # 3. Combined workflow def analyze_crypto_news(coin): # Get price price_data = web_fetch(f"http://localhost:8000/prices?coins={coin}") # Get news context news = web_fetch(f"http://localhost:8000/fetch?url=coinmarketcap.com/currencies/{coin}/news") return {"price": price_data, "context": news["clean_content"]}

Why HTTP REST > MCP for Agents

HTTP REST (This API)

MCP

Setup

One URL, instant

Complex config, stdio

Compatibility

Works everywhere

Only MCP-aware clients

Debugging

curl, browser

Harder to troubleshoot

Agent Access

web_fetch() tool

Special client required

Discovery

.well-known/agent.json

Manual configuration


💡 Use Cases

For Crypto Traders

# Track Bitcoin price curl "localhost:8000/prices?coins=bitcoin" # Track portfolio curl "localhost:8000/prices?coins=bitcoin,ethereum,solana,cardano,polkadot"

For Researchers

# Extract article content curl "localhost:8000/fetch?url=medium.com/article-about-ai" # Scrape documentation curl "localhost:8000/fetch?url=docs.python.org/3/tutorial"

For AI Agents

# Your OpenClaw agent can now: # 1. Check crypto prices # 2. Scrape web content # 3. Build knowledge bases # 4. Monitor websites for changes

🌐 Deployment

Local Development

python3 app.py

Public URL (Cloudflare Tunnel)

cloudflared tunnel --url http://localhost:8000

Production (PM2)

npm install -g pm2 pm2 start app.py --name sparky-api --interpreter python3 pm2 save pm2 startup

Production (systemd)

# Copy service file (create your own) sudo cp sparky-api.service /etc/systemd/system/ sudo systemctl enable sparky-api sudo systemctl start sparky-api

🏗️ Architecture

┌─────────────┐ HTTP GET ┌─────────────────┐ HTTPS ┌──────────────┐ │ Client │◄────────────────►│ FastAPI Server │◄────────────►│ CoinGecko │ │ (Any HTTP) │ JSON Response │ (this repo) │ REST API │ API │ └─────────────┘ └─────────────────┘ └──────────────┘ │ ▼ ┌───────────────────┐ │ Web Pages │ │ (any URL) │ └───────────────────┘

Stack:

  • Framework: FastAPI (high-performance Python)

  • Web Extraction: trafilatura + BeautifulSoup + lxml

  • Rate Limiting: slowapi

  • Caching: cachetools (TTLCache)

  • Server: uvicorn (ASGI)


⚙️ Configuration

Create .env file:

PORT=8000 TELEGRAM_BOT_TOKEN=your_token_here TELEGRAM_BOT_CHAT_ID=your_chat_id_here

Optional: Telegram notifications on first external hit.


📄 License

MIT © 2026 chuddyrudd


Built for AI Agents. Powered by OpenClaw. Free forever.

Search: ai agent api, crypto api free, web scraping api, openclaw agent tools, fastapi agent server, mcp alternative http

Glama Listing

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chuddyrudd/sparky-crypto-prices-oracle'

If you have feedback or need assistance with the MCP directory API, please join our Discord server