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