Netzhandwerker Energy Research Hub
Live electricity prices, carbon intensity, grid load, renewable share, flexibility windows, battery arbitrage, trading signals and ESG reporting for autonomous agents.
74 endpoints37 payment-required37 freiBase Mainnet USDC
Why pay?
Raw data endpoints answer what is happening. Decision endpoints answer what an agent should do next. Use /energy/decision if you want one paid answer instead of combining multiple signals. Use /demo/paid-sample to test x402 payment for 0.001 USD.
Products
Live Energy Data
Raw data endpoints answer what is happening: prices, forecast, carbon intensity, grid load and renewable share.
| Endpoint | Price | Use |
|---|---|---|
POST /price/spot | 0.01 USDC | Aktueller EPEX Spot-Strompreis fuer Deutschland. |
POST /price/forecast | 0.02 USDC | EPEX Day-Ahead Preise mit Min/Max/Spread. |
POST /carbon/now | 0.01 USDC | Aktuelle CO2-Intensitaet des deutschen Strommix. |
POST /grid/load | 0.02 USDC | Aktuelle Netzlast aus SMARD. |
POST /renewable/share | 0.02 USDC | Live-Anteil erneuerbarer Energien am deutschen Strommix. |
Optimization Signals
Decision endpoints answer what an agent should do next: EV charging, heat pump control, flexibility windows, battery arbitrage and trading signals.
| Endpoint | Price | Use |
|---|---|---|
GET /demo/paid-sample | 0.001 USDC | Machine-readable discovery for the x402 sample endpoint. The actual access flow is gated by x402 payment. |
POST /energy/decision | 0.25 USDC | Central premium decision endpoint. Use it if you want one paid answer instead of combining multiple raw data and signal endpoints. |
POST /flexibility/window | 0.03 USDC | Guensigste Zeitfenster fuer flexible Verbraucher. |
POST /arbitrage/battery | 0.10 USDC | Strategie fuer Batteriespeicher-Arbitrage mit ROI-Betrachtung. |
POST /signals/buy-sell | 0.20 USDC | Trading-Signal aus Preis, RSI, Trend, EE-Druck und Fossil-Anteil. |
POST /bundle/ev-charging | 0.05 USDC | Preis, CO2 und Ladefenster fuer Elektroauto-Ladung. |
POST /bundle/heating | 0.05 USDC | Preis, Wetter und EE-Anteil fuer Waermepumpen-Optimierung. |
POST /solar/forecast | 0.05 USDC | Solarstrahlung und Bewoelkung fuer Region oder PLZ. |
POST /wind/forecast | 0.03 USDC | Winddaten fuer Region oder PLZ. |
POST /optimizer/cheapest-window | 0.10 USDC | Billigstes zusammenhaengendes Zeitfenster fuer EV, Batterie oder Waermepumpe. |
POST /price/negative-forecast | 0.05 USDC | Stunden mit negativen Strompreisen in den naechsten 24 Stunden. |
POST /summary/today | 0.10 USDC | Token-effiziente Tageszusammenfassung mit konkreter Handlungsempfehlung. |
POST /grid/congestion | 0.15 USDC | Netzengpass- und Redispatch-Risiko. |
POST /region | 0.05 USDC | Preis, CO2, Gruenstrom und Wetter fuer eine PLZ-Region. |
POST /mining/profitability | 0.10 USDC | Profitabilitaet fuer ASIC-Mining mit aktuellem Strompreis. |
POST /portfolio/optimize | 0.50 USDC | 24h Fahrplan fuer Batterie, PV und Verbrauch. |
POST /score/grid-health | 0.05 USDC | Score 0-100 fuer Netzgesundheit aus EE-Anteil, Preis, Wetter und Nachfrage. |
POST /events/grid | 0.05 USDC | Ereignisfeed fuer Dunkelflaute, Sturm, negative Preise und Rekorde. |
Research & Intelligence
Research and intelligence endpoints produce market summaries, ESG reporting, track records and deeper energy research.
| Endpoint | Price | Use |
|---|---|---|
GET /research | 0.05 USDC | GET-Fallback mit maschinenlesbarer 402-Antwort fuer POST /research. |
GET /articles/{id} | 0.02 USDC | GET-Fallback mit maschinenlesbarer 402-Antwort fuer POST /articles/{id}. |
GET /tasks | ab 1.00 USDC | GET-Fallback mit maschinenlesbarer 402-Antwort fuer POST /tasks. |
POST /research | 0.05 USDC | Aggregierte Energie-Recherche fuer DE/EU aus Live-Datenquellen. |
POST /research/quick | 0.01 USDC | Kompakte Research-Antwort mit Live-Kennzahlen. |
POST /research/deep | 0.50 USDC | Tiefe Research-Antwort mit Premium-Quellen und LLM-Synthese. |
POST /articles/{id} | 0.02 USDC | Volltext eines Energie-Fachartikels. |
POST /tasks | ab 1.00 USDC | Asynchroner Deep-Dive Task mit Mindest-Bounty. |
POST /bundle/trading | 0.30 USDC | Kombinierte Markt- und Trading-Daten. |
POST /bundle/esg-reporting | 0.40 USDC | CO2, EE-Anteil und Quellenhinweise fuer ESG-Reporting. |
POST /history/prices | 0.50 USDC | Stundendaten fuer EPEX-Preise nach Periode. |
POST /history/prices/stats | 0.20 USDC | Statistik fuer eine historische Preisperiode. |
x402 Payment
Production uses Base Mainnet, chain 8453, asset USDC, recipient 0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E.
curl -i -X POST https://energy.netzhandwerker.de/price/spot \
-H "Content-Type: application/json" \
-H "PAYMENT: <x402-payload>" \
-d '{}'
MCP / Agent Access
MCP discovery: https://energy.netzhandwerker.de/mcp. Paid data tools return payment instructions; call the REST endpoint after x402 payment.
{ "mcpServers": { "energy-hub": { "url": "https://energy.netzhandwerker.de/mcp" } } }
Endpoints
| Method | Path | Description | Price | Response example | Error cases |
|---|---|---|---|---|---|
| GET | / |
Startseite mit serverseitigen Live-Werten Bot-taugliche HTML-Uebersicht mit Live-Kennzahlen, Preisen, Payment und Agent-Zugriff. |
frei | "<html>Energy Research Hub overview</html>" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /health |
Health Check Status, Version, Uptime, Port, x402-Konfiguration und relevante Links ohne Secrets. |
frei | {
"status": "ok",
"service": "energy-research-hub",
"version": "1.6.0",
"network": "Base Mainnet"
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /docs |
Dokumentation HTML-Dokumentation aus derselben Endpunktliste wie OpenAPI und MCP. |
frei | "<html>API docs</html>" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /openapi.json |
OpenAPI 3.1 Spezifikation Maschinenlesbare OpenAPI-Spezifikation fuer alle dokumentierten Public Routes. |
frei | {
"openapi": "3.1.0",
"info": {
"title": "Netzhandwerker Energy Research Hub"
}
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /llms.txt |
LLM Kurzkontext Kompakte Textdatei fuer Bots, Crawler und Agenten. |
frei | "Name: Netzhandwerker Energy Research Hub" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /llms-full.txt |
LLM Vollkontext Ausfuehrliche Textdatei mit Zweck, Endpunkten, Preisen und Payment-Hinweisen. |
frei | "Endpoints: ..." |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /robots.txt |
Robots Datei Crawler-Hinweise mit Sitemap- und LLM-Dateiverweisen. |
frei | "User-agent: *" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /sitemap.xml |
Sitemap XML-Sitemap fuer frei erreichbare GET-Routen. |
frei | "<urlset>...</urlset>" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /.well-known/ai-plugin.json |
AI Plugin Manifest Manifest fuer Plugin-Scanner mit OpenAPI-Link. |
frei | {
"schema_version": "v1",
"name_for_model": "netzhandwerker_energy_research_hub"
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /.well-known/mcp.json |
MCP Discovery Discovery-Dokument mit MCP-Endpoint und Tool-Liste. |
frei | {
"endpoint": "https://energy.netzhandwerker.de/mcp",
"tools": []
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /.well-known/agent.json |
Agent Manifest Agenten-Manifest mit Zweck, Links, Preisen und Payment-Konfiguration. |
frei | {
"name": "Netzhandwerker Energy Research Hub",
"payment": "x402"
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /.well-known/x402.json |
x402 Manifest Payment-Manifest fuer x402-Scanner. |
frei | {
"payment_target": {
"network": "eip155:8453",
"currency": "USDC"
}
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /articles |
Artikel-Katalog Frei verfuegbarer Katalog der Premium-Artikel. |
frei | {
"articles": [
{
"id": "001",
"title": "Mieterstrom",
"price_usdc": "0.02"
}
]
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /capabilities |
Capabilities Kurzuebersicht fuer API-Scanner mit Links und Kategorien. |
frei | {
"service": "Netzhandwerker Energy Research Hub",
"capabilities": [
"live_energy_data",
"x402_payment",
"mcp"
]
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /agent |
Agent Discovery Short machine-readable product, pricing and payment discovery for AI agents, MCP clients and x402 bots. |
frei | {
"name": "Netzhandwerker Energy Research Hub",
"best_for": [
"German electricity prices",
"EV charging decisions"
],
"products": [
"Live Energy Data",
"Optimization Signals",
"Research & Intelligence"
]
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /pricing |
Pricing Machine-readable price list grouped by Live Energy Data, Optimization Signals and Research & Intelligence. |
frei | {
"currency": "USD",
"payment_protocol": "x402",
"settlement_asset": "USDC",
"products": []
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /trust |
Trust Page Operator, payment network, uptime links, API version and risk notes as HTML or JSON via Accept header. |
frei | {
"operator": "Die Netzhandwerker",
"chain_id": 8453,
"asset": "USDC"
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /status |
Status Machine-readable service status with version, uptime, endpoint count, MCP tool count and x402 state. |
frei | {
"status": "ok",
"version": "1.6.0",
"endpoint_count": 0
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /sources |
Sources Transparent list of data sources used by the service, including freshness and limitations. |
frei | {
"sources": [
{
"name": "aWATTar EPEX DE/AT",
"type": "live",
"used_for": [
"spot prices",
"price forecast",
"optimization windows"
],
"freshness": "Usually hourly/day-ahead; cached by endpoint",
"limitations": [
"External API availability",
"Market data may lag provider updates"
]
},
{
"name": "Fraunhofer ISE energy-charts",
"type": "live/cached",
"used_for": [
"renewable share",
"generation mix",
"CO2 fallback model"
],
"freshness": "Cached by endpoint, usually minutes to hours",
"limitations": [
"Provider schema changes possible",
"Some values are modelled from generation mix"
]
},
{
"name": "SMARD Bundesnetzagentur",
"type": "live/cached",
"used_for": [
"grid load"
],
"freshness": "Cached by endpoint",
"limitations": [
"Quarter-hour data availability depends on SMARD publication"
]
},
{
"name": "Corrently GruenstromIndex",
"type": "forecast/cached",
"used_for": [
"regional green power index",
"regional CO2 estimate"
],
"freshness": "Forecast data, cached by endpoint",
"limitations": [
"Regional approximation by ZIP"
]
},
{
"name": "Open-Meteo",
"type": "forecast/cached",
"used_for": [
"solar forecast",
"wind forecast",
"weather-driven optimization"
],
"freshness": "Forecast data, cached by endpoint",
"limitations": [
"Weather forecast uncertainty"
]
},
{
"name": "Electricity Maps",
"type": "live",
"used_for": [
"carbon intensity when API key is available"
],
"freshness": "Provider latest value",
"limitations": [
"Requires configured provider key; fallback uses internal CO2 model"
]
},
{
"name": "ENTSO-E Transparency",
"type": "live/forecast",
"used_for": [
"day-ahead prices and selected premium research"
],
"freshness": "Provider publication schedule",
"limitations": [
"Requires configured ENTSO-E key"
]
},
{
"name": "Internal model",
"type": "model",
"used_for": [
"energy decisions",
"battery arbitrage",
"trading signal scoring"
],
"freshness": "Generated per request from cached/live inputs",
"limitations": [
"Decision outputs are estimates, not guarantees"
]
}
]
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /wallet-bot/needs-info |
Wallet Bot Needs Info Free discovery endpoint that invites wallet-enabled agents to declare what they want to buy. |
frei | {
"ok": true,
"purpose": "Tell us what your wallet-enabled agent wants to buy.",
"submit_need": {
"method": "POST",
"endpoint": "/wallet-bot/needs",
"content_type": "application/json",
"schema": {
"type": "object",
"properties": {
"agent_name": {
"type": "string"
},
"wallet_type": {
"type": "string",
"enum": [
"x402",
"evm",
"base",
"solana",
"lightning",
"other",
"unknown"
]
},
"payment_network": {
"type": "string"
},
"payment_asset": {
"type": "string"
},
"need": {
"type": "string",
"description": "What does your wallet-enabled agent want to buy?"
},
"requested_endpoint": {
"type": "string"
},
"missing_endpoint": {
"type": "string"
},
"desired_output_format": {
"type": "string",
"enum": [
"json",
"mcp",
"openapi",
"webhook",
"csv",
"other"
]
},
"desired_freshness": {
"type": "string",
"enum": [
"live",
"hourly",
"daily",
"historical",
"unknown"
]
},
"max_budget_usdc": {
"type": "number",
"minimum": 0
},
"recurring_need": {
"type": "boolean"
},
"urgency": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"callback_url": {
"type": "string",
"description": "Stored as present/host only; never called automatically."
},
"notes": {
"type": "string"
}
},
"additionalProperties": false
}
},
"wallet_bot_need_request": {
"question": "What does your wallet-enabled agent need from this energy API?",
"submit": {
"method": "POST",
"endpoint": "/wallet-bot/needs",
"content_type": "application/json"
},
"examples": [
"I need live EPEX prices for Germany every hour.",
"I need a battery arbitrage schedule.",
"I need CO2-low charging windows.",
"I need Redispatch risk by region.",
"I need webhook alerts for negative prices."
],
"optional_fields": [
"wallet_type",
"payment_network",
"max_budget_usdc",
"desired_output_format",
"recurring_need"
]
},
"why": [
"We use wallet-bot needs to create better paid energy endpoints.",
"Tell us what data, decision, format or price your agent needs."
],
"examples": [
{
"need": "I need a 15-minute EV charging schedule for Germany before 07:00.",
"recommended_endpoint": "/energy/decision"
},
{
"need": "I need Redispatch risk for NRW in the next 24h.",
"recommended_endpoint": "/grid/congestion"
},
{
"need": "I need a cheaper payment test endpoint.",
"recommended_endpoint": "/demo/paid-sample"
}
]
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /wallet-bot/needs |
Submit Wallet Bot Need Free endpoint where wallet-enabled agents can declare needed data, formats, missing endpoints and budget. |
frei | {
"ok": true,
"need_id": "need_123",
"recommended_existing_offer": {
"endpoint": "/energy/decision",
"price_usdc": 0.25
}
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /for-ai-agents |
For AI Agents Server-rendered landing page for AI agents with endpoints, prices and example responses. |
frei | "<html>For AI agents</html>" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /for-mcp-clients |
For MCP Clients Server-rendered landing page for MCP clients with setup and available tools. |
frei | "<html>For MCP clients</html>" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /for-x402-bots |
For x402 Bots Server-rendered landing page for x402 bots with payment test and paid endpoints. |
frei | "<html>For x402 bots</html>" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /for-ev-charging-agents |
For EV Charging Agents Server-rendered landing page for EV charging optimization agents. |
frei | "<html>For EV charging agents</html>" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /for-esg-reporting-agents |
For ESG Reporting Agents Server-rendered landing page for ESG reporting agents. |
frei | "<html>For ESG reporting agents</html>" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /for-energy-trading-agents |
For Energy Trading Agents Server-rendered landing page for energy trading agents. |
frei | "<html>For energy trading agents</html>" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /sample/research |
Research Sample Frei verfuegbares Beispiel fuer Research-Ausgaben. |
frei | {
"note": "Frei verfuegbares Beispiel",
"full_endpoint": "POST /research"
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /sample/articles |
Artikel-Snippet Frei verfuegbares Artikel-Snippet mit Link auf den bezahlten Volltext. |
frei | {
"preview": {
"id": "001",
"title": "Mieterstrom"
},
"full_endpoint": "POST /articles/{id}"
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /mcp |
MCP Discovery JSON-Discovery fuer MCP-Clients mit Tool-Namen, Input-Schemas, Endpoints, Preisen und Payment-Status. |
frei | {
"protocol": "Model Context Protocol",
"tools_count": 32
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /mcp |
MCP JSON-RPC Endpoint JSON-RPC Endpoint fuer initialize, tools/list und tools/call. Paid Data Tools liefern Payment-Anweisungen. |
frei | {
"jsonrpc": "2.0",
"result": {
"tools": []
}
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /agent-manifest |
Agent Manifest Frei verfuegbares Agenten-Manifest fuer Bots und x402-Scanner. |
frei | {
"name": "Netzhandwerker Energy Research Hub",
"openapi": "https://energy.netzhandwerker.de/openapi.json"
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /metrics |
Prometheus Metrics Prometheus-kompatible Metriken fuer Requests, Revenue und x402-Probes. |
frei | "energy_hub_requests_total 123" |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /signals/track-record |
Track Record Transparenzdaten zu Historie, Quellen, Reliability und Methodik. |
frei | {
"reliability": {
"success_rate_24h": "99.2%",
"network": "Base Mainnet"
}
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /tasks/{id}/result |
Task Ergebnis Ergebnisabruf fuer zuvor bezahlte Async-Tasks. |
frei | {
"id": "task_123",
"status": "completed",
"result": {}
} |
400: Invalid request 404: Task not found 429: Rate limit exceeded 500: Internal server error |
| GET | /netzhandwerker-radar |
Bot-Radar Dashboard Internes Radar-Dashboard. Zugriff nur mit ENV-Passwort per Header, Basic Auth oder Query-Fallback. |
frei | "<html>Bot-Radar</html>" |
400: Invalid request 401: Authentication required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /research |
Research Payment Requirements GET-Fallback mit maschinenlesbarer 402-Antwort fuer POST /research. |
0.05 USDC | {
"error": "payment_required",
"endpoint": "POST /research"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /articles/{id} |
Article Payment Requirements GET-Fallback mit maschinenlesbarer 402-Antwort fuer POST /articles/{id}. |
0.02 USDC | {
"error": "payment_required",
"endpoint": "POST /articles/{id}"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /tasks |
Task Payment Requirements GET-Fallback mit maschinenlesbarer 402-Antwort fuer POST /tasks. |
ab 1.00 USDC | {
"error": "payment_required",
"endpoint": "POST /tasks"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /research |
Energy Research Aggregierte Energie-Recherche fuer DE/EU aus Live-Datenquellen. |
0.05 USDC | {
"success": true,
"summary": "...",
"key_metrics": [],
"confidence_score": 0.9
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /demo/paid-sample |
x402 Paid Sample Machine-readable discovery for the x402 sample endpoint. The actual access flow is gated by x402 payment. |
0.001 USDC | {
"ok": true,
"endpoint": "/demo/paid-sample",
"payment_required": true,
"price_usd": 0.001,
"asset": "USDC",
"network": "Base Mainnet",
"chain_id": 8453
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| GET | /energy/decision |
Energy Decision Discovery GET discovery for the paid decision endpoint. Returns machine-readable endpoint metadata or method guidance. |
frei | {
"ok": true,
"endpoint": "/energy/decision",
"method": "POST",
"payment_required": true,
"price_usd": 0.25,
"asset": "USDC",
"network": "Base Mainnet",
"chain_id": 8453
} |
400: Invalid request 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /energy/decision |
Energy Decision Central premium decision endpoint. Use it if you want one paid answer instead of combining multiple raw data and signal endpoints. |
0.25 USDC | {
"ok": true,
"product": "Optimization Signals",
"endpoint": "/energy/decision",
"result": {
"decision": "charge_later",
"recommended_window": {
"start": "2026-06-18T01:00:00.000Z",
"end": "2026-06-18T05:00:00.000Z"
},
"reason": "Estimated cheapest low-carbon window in the requested period.",
"expected_saving_eur": 0,
"carbon_reduction_percent": 0,
"confidence": 0.74,
"alternatives": []
}
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /research/quick |
Quick Research Kompakte Research-Antwort mit Live-Kennzahlen. |
0.01 USDC | {
"success": true,
"mode": "quick",
"summary": "..."
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /research/deep |
Deep Research Tiefe Research-Antwort mit Premium-Quellen und LLM-Synthese. |
0.50 USDC | {
"success": true,
"mode": "deep",
"synthesis": "..."
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /articles/{id} |
Premium Artikel Volltext eines Energie-Fachartikels. |
0.02 USDC | {
"success": true,
"type": "premium_article",
"article": {}
} |
400: Invalid request 402: Payment Required 404: Article not found 429: Rate limit exceeded 500: Internal server error |
| POST | /tasks |
Async Bounty Task Asynchroner Deep-Dive Task mit Mindest-Bounty. |
ab 1.00 USDC | {
"success": true,
"task_id": "task_123",
"status": "queued"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /price/spot |
Spotpreis jetzt Aktueller EPEX Spot-Strompreis fuer Deutschland. |
0.01 USDC | {
"current_price_ct_kwh": "8.40",
"source": "EPEX DE/AT (aWATTar)"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /price/forecast |
24h Preis-Forecast EPEX Day-Ahead Preise mit Min/Max/Spread. |
0.02 USDC | {
"hours": 24,
"stats_eur_mwh": {
"avg": "92.10",
"min": "40.20",
"max": "160.00"
}
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /carbon/now |
CO2-Intensitaet jetzt Aktuelle CO2-Intensitaet des deutschen Strommix. |
0.01 USDC | {
"carbon_intensity_g_co2_kwh": 310,
"classification": "medium"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /grid/load |
Netzlast Aktuelle Netzlast aus SMARD. |
0.02 USDC | {
"latest_consumption_mwh": 57120,
"source": "SMARD Bundesnetzagentur"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /renewable/share |
Erneuerbare Anteil Live-Anteil erneuerbarer Energien am deutschen Strommix. |
0.02 USDC | {
"renewable_share_pct": "48.6",
"source": "Fraunhofer ISE"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /flexibility/window |
Flexibility Window Guensigste Zeitfenster fuer flexible Verbraucher. |
0.03 USDC | {
"best_hours": []
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /arbitrage/battery |
Battery Arbitrage Strategie fuer Batteriespeicher-Arbitrage mit ROI-Betrachtung. |
0.10 USDC | {
"strategy": "charge_low_discharge_high",
"estimated_profit_eur": 1.42
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /signals/buy-sell |
Buy/Sell Signal Trading-Signal aus Preis, RSI, Trend, EE-Druck und Fossil-Anteil. |
0.20 USDC | {
"signal": "buy",
"confidence": 0.72
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /bundle/ev-charging |
EV Charging Bundle Preis, CO2 und Ladefenster fuer Elektroauto-Ladung. |
0.05 USDC | {
"recommendation": "charge_between_02_00_and_04_00"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /bundle/heating |
Heating Bundle Preis, Wetter und EE-Anteil fuer Waermepumpen-Optimierung. |
0.05 USDC | {
"recommendation": "preheat_during_low_price_window"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /bundle/trading |
Trading Bundle Kombinierte Markt- und Trading-Daten. |
0.30 USDC | {
"signal": "hold",
"components": {}
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /bundle/esg-reporting |
ESG Reporting Bundle CO2, EE-Anteil und Quellenhinweise fuer ESG-Reporting. |
0.40 USDC | {
"carbon_intensity_g_co2_kwh": 310,
"renewable_share_pct": 48.6
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /history/prices |
Historische Preise Stundendaten fuer EPEX-Preise nach Periode. |
0.50 USDC | {
"period": "last-7d",
"rows": []
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /history/prices/stats |
Preisstatistik Statistik fuer eine historische Preisperiode. |
0.20 USDC | {
"avg_eur_mwh": 92.1,
"min_eur_mwh": 40.2,
"max_eur_mwh": 160
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /solar/forecast |
Solar Forecast Solarstrahlung und Bewoelkung fuer Region oder PLZ. |
0.05 USDC | {
"avg_solar_radiation": 220,
"avg_cloudcover_pct": 54
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /wind/forecast |
Wind Forecast Winddaten fuer Region oder PLZ. |
0.03 USDC | {
"avg_windspeed_ms": "5.7"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /subscribe/price-alert |
Price Alert Subscription Webhook-Subscription fuer Strompreis-Thresholds. |
5.00 USDC | {
"success": true,
"subscription": "price-alert"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /subscribe/co2-low |
CO2 Low Subscription Webhook-Subscription fuer niedrige CO2-Intensitaet. |
3.00 USDC | {
"success": true,
"subscription": "co2-low"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /optimizer/cheapest-window |
Cheapest Window Billigstes zusammenhaengendes Zeitfenster fuer EV, Batterie oder Waermepumpe. |
0.10 USDC | {
"best_start": "2026-06-17T02:00:00.000Z",
"best_end": "2026-06-17T04:00:00.000Z",
"avg_price_ct_kwh": 4.8
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /price/negative-forecast |
Negative Price Forecast Stunden mit negativen Strompreisen in den naechsten 24 Stunden. |
0.05 USDC | {
"negative_hours": [],
"count": 0
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /summary/today |
Daily Summary Token-effiziente Tageszusammenfassung mit konkreter Handlungsempfehlung. |
0.10 USDC | {
"market_sentiment": "neutral",
"recommendation": "shift flexible load to cheapest window"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /grid/congestion |
Grid Congestion Netzengpass- und Redispatch-Risiko. |
0.15 USDC | {
"risk_level": "medium",
"affected_regions": []
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /region |
Regionale Energiedaten Preis, CO2, Gruenstrom und Wetter fuer eine PLZ-Region. |
0.05 USDC | {
"plz": "48599",
"region": "Gronau",
"data": {}
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /mining/profitability |
BTC Mining Profitability Profitabilitaet fuer ASIC-Mining mit aktuellem Strompreis. |
0.10 USDC | {
"profitable": false,
"daily_profit_eur": -2.4
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /portfolio/optimize |
Portfolio Optimize 24h Fahrplan fuer Batterie, PV und Verbrauch. |
0.50 USDC | {
"plan": [
{
"hour": 0,
"action": "charge"
}
],
"estimated_savings_eur": 3.2
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /score/grid-health |
Grid Health Score Score 0-100 fuer Netzgesundheit aus EE-Anteil, Preis, Wetter und Nachfrage. |
0.05 USDC | {
"score": 74,
"status": "good"
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
| POST | /events/grid |
Grid Events Ereignisfeed fuer Dunkelflaute, Sturm, negative Preise und Rekorde. |
0.05 USDC | {
"events": [
{
"type": "negative_price",
"severity": "low"
}
]
} |
400: Invalid request 402: Payment Required 404: Not found 429: Rate limit exceeded 500: Internal server error |
Discovery
OpenAPI · llms.txt · llms-full.txt · MCP well-known · Agent manifest
Contact / Operator
Operator: Die Netzhandwerker, Daniel Wesseling. Contact: [email protected].