Smart Data Interface Service
Connect the International Energy Information Database to your applications and AI assistants.
Service overview
Use the energy information API or MCP service to find evidence by website category, standard tag, country and publication date. Search energy news summaries and sources first, then retrieve published article text and available translations under your account entitlements for applications or AI assistants.
Choose how to connect
API and MCP share your monthly call allowance. Each successful search, category query, update or document read counts once, including repeats and empty results. Searches default to 20 results; multiple results in one response cost one call. There is no daily cap.
Start with a specific question
For example: “Find LNG project updates published from October 1 to 10, 2026. Show 20 summaries and sources first; retrieve full text after I select an article.” The gas collection uses topic=gas. This API request body also works with the MCP search_energy tool. You can also browse LNG market research, storage projects and hydrogen projects guides to define your research question.
{"query":"LNG 项目进展","topic":"gas","start_date":"2026-10-01","end_date":"2026-10-10","limit":20}
Usage guide
1. Sign in and prepare credentials
- Register or sign in to this website and verify your email address.
- Open Data interface in the member center navigation to view your monthly allowance.
- Select Create key, choose a name and permissions, then select No expiration or 1–90 days. Your full API key remains visible on the Data interface page, with complete client JSON and API examples provided automatically. API and MCP use the same key.
Open Data interface in the member center →
Monthly call allowance: Free 100, VIP 1,000 and VVIP 3,000 calls. It resets by calendar month in Asia/Shanghai and is shared by API and MCP. Your current allowance is shown in the member center.
2. Choose a category, keywords and dates
topic selects the same collection as the website: use oil for oil or newenergy for new energy. Omit topic to search all categories. query is required; use a specific project, company or policy name.
| Website category | topic | Example query |
|---|---|---|
| Oil | oil | 原油供应 |
| Natural gas / LNG | gas | LNG 项目进展 |
| New energy | newenergy | 新能源项目政策 |
| Hydrogen | hydrogen | 绿氢项目 |
| Storage | storage | 电池储能项目 |
| Power | power | 电力市场改革 |
| Coal | coal | 煤炭供应 |
| Nuclear | nuclear | 核电项目 |
| Solar | solar | 光伏项目 |
| Wind | wind | 海上风电 |
New energy is a combined collection covering renewables, related storage and other material. Use solar or wind for those specific sectors. For country, energy and technology tags, call GET /taxonomy or the MCP get_energy_taxonomy tool and use the returned code rather than a translated label.
| Parameter | How to use it |
|---|---|
query | Required, 1–200 characters, e.g. “crude oil supply” or “green hydrogen project”. |
topic | Optional collection code from the table above. GET /topics returns the current catalogue. |
start_date / end_date | YYYY-MM-DD, filtering article publication dates, including both endpoints in Asia/Shanghai. Supply only start_date for “from this day”, only end_date for “through this day”, or neither for all dates. Start must not exceed end. Undated records are excluded when dates are specified. |
limit | Return 1–20 search results, default 20. Each successful search costs one call regardless of result count. |
tag_codes_all | Array; every tag group must match. For example ["country.au"] selects Australia. Tags and topic filters apply together. |
tag_codes_any | Array; match any listed tag. Each all / any list accepts up to 20 codes. |
include_descendants | Default true: include child tags when selecting a parent. |
relevance | Default related; primary requires primary relevance, while all includes every relevance level. |
curl "https://e.biaoshuds.com/data-api/v1/taxonomy?q=Australia&limit=20" \
-H "Authorization: Bearer $ENYINFO_API_KEY"{"query":"原油供应","topic":"oil","start_date":"2026-10-01","end_date":"2026-10-10","limit":20}{"query":"新能源项目政策","topic":"newenergy","start_date":"2026-10-01","limit":20}{"query":"LNG 项目","topic":"gas","tag_codes_all":["country.au"],"include_descendants":true,"start_date":"2026-10-01","end_date":"2026-10-10","limit":20}3A. Search and retrieve an article with the API
Set ENYINFO_API_KEY in your own runtime to the key created in the member center. The cURL example uses bash / zsh; replace the dates and keywords as needed.
curl "https://e.biaoshuds.com/data-api/v1/search" \
-H "Authorization: Bearer $ENYINFO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"原油供应","topic":"oil","start_date":"2026-10-01","end_date":"2026-10-10","limit":20}'items contains summaries; id identifies an article for full-text retrieval. The abbreviated response below uses illustrative values.
{"items":[{"id":"ARTICLE_ID","title":"原油供应相关新闻(示例)","access":{"full_text_included":false}}]}A successful search costs one call. Select an article and replace ARTICLE_ID with its actual id. Each successful full-text request consumes one call, including repeated retrievals. Available text and translation are returned together.
curl "https://e.biaoshuds.com/data-api/v1/documents/ARTICLE_ID" \
-H "Authorization: Bearer $ENYINFO_API_KEY"import json
import os
from urllib.request import Request, urlopen
base = "https://e.biaoshuds.com/data-api/v1"
headers = {"Authorization": "Bearer " + os.environ["ENYINFO_API_KEY"],
"Content-Type": "application/json"}
body = {"query": "绿氢项目", "topic": "hydrogen",
"start_date": "2026-10-01", "end_date": "2026-10-10", "limit": 20}
request = Request(base + "/search",
data=json.dumps(body).encode("utf-8"), headers=headers)
with urlopen(request, timeout=30) as response:
result = json.load(response)
for item in result["items"]:
print(item["id"], item["title"])
# After choosing an article, retrieve its text (one additional call):
# article_id = "actual id from search"
# request = Request(base + "/documents/" + article_id, headers=headers)
# with urlopen(request, timeout=30) as response:
# article = json.load(response)| API | Purpose |
|---|---|
GET /topics | List available collections. |
GET /taxonomy | Find stable tag codes using q, dimension, parent, offset and limit. |
POST /search | Search summaries by keywords, category, tags and dates. |
GET /documents/{id} | Retrieve article text and available translation; costs one successful call. |
GET /changes | Read updates and removal notices using a cursor. |
3B. Connect MCP in OpenClaw or WorkBuddy
MCP and API both use an API key. Create a key in the member center, copy the complete client JSON with your key, then paste, save and enable it.
- Open Member center → Data interface and create an API key. Keep the default permissions for general use, and choose No expiration for a long-running connection if needed.
- Open Data interface to see your full API keys and complete OpenClaw and WorkBuddy JSON. Select Copy complete JSON.
- Paste the JSON into your client’s MCP / custom connector settings, save and enable it. Once the four tools appear, you can ask questions.
View your full API key and JSON →
The public examples below show the JSON format. Your member center directly displays your full API keys and ready-to-use JSON, with no input, generation or expansion required.
OpenClaw
Merge enyinfo into mcp.servers in your OpenClaw configuration, preserving existing servers, then save and reload the connection.
{
"mcp": {
"servers": {
"enyinfo": {
"url": "https://e.biaoshuds.com/mcp",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer YOUR_FULL_API_KEY"
}
}
}
}
}WorkBuddy
Paste the JSON into WorkBuddy Connectors → Custom connector, save and enable it. The transport type is streamableHttp.
{
"mcpServers": {
"enyinfo": {
"type": "streamableHttp",
"url": "https://e.biaoshuds.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_FULL_API_KEY"
},
"timeout": 30000
}
}
}After connecting, ask a question like this
Use the Smart Data Interface Service to find oil supply news published from 2026-10-01 through 2026-10-10. First call search_energy with query="crude oil supply", topic="oil", start_date="2026-10-01", end_date="2026-10-10", limit=20. Show titles, summaries, publication dates and source links. Wait for my selection before calling get_document to read the text and available translation.For new energy, use topic=newenergy and a query such as “new energy project policy”. For countries or finer classifications, ask the assistant to call get_energy_taxonomy first and then search using tag_codes_all / tag_codes_any. Date parameters are the same as for the API.
Tools: search_energy searches summaries; get_document(document_id) retrieves full text using the search result id; get_energy_taxonomy finds tags; get_topic_updates reads update summaries by topic. Other clients supporting remote MCP and custom Authorization headers can use the same URL and API key.
Custom clients: API key header
Connect an MCP SDK to https://e.biaoshuds.com/mcp with Authorization: Bearer followed by your full API key. Initialize, discover and call tools through MCP; no additional client credentials are needed.
{
"url": "https://e.biaoshuds.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_FULL_API_KEY"
}
}4. Manage usage and keys
Member center → Data interface shows monthly usage and remaining calls, API keys, complete MCP JSON and recent calls. Each successful business call costs one call: searches, categories and tags, updates and document reads. Repeats and empty results count; one response containing 20 records still costs one call. API, MCP and all keys share the monthly allowance. Connection initialization, tool discovery and key management are free.
Full keys remain visible on the Data interface page and can be copied at any time. Rotation can disable the old key immediately or allow a 1 / 24 hour overlap. Revoke unused keys. API and MCP are managed through keys. Revoking a key stops all connections using it. Update client JSON after rotation.
After membership expiry, the free allowance applies and existing usage is retained. Unused allowance does not roll over. There is no daily cap; per-minute request limits still apply. Failed requests do not consume the allowance. If a response was successfully served but lost in transit, a successful retry counts again.
Troubleshooting
- 401 / 403
- For both API and MCP, check key validity, complete JSON, the Bearer header and required permissions. Verify your website email address.
- 422
- Check non-empty keywords, YYYY-MM-DD dates in order, limit 1–20 and catalogue-based category / tag codes.
- 429
- Check the error code for exhausted monthly allowance or request frequency limits. View allowance in the member center; follow Retry-After for rate limits.
- No results / no translation
- Broaden dates or tags and try more specific or alternative-language keywords. Translations are returned when available. Article attachments and full research reports are outside this service.
