2 endpoint · Hàng hóa · Vĩ mô
https://api.blave.orgapi-key + secret-key trong mọi requestAPI plan or Blave Agent plan/studio/market/db/ohlcv/<dataset>/<symbol>/<schema> | Tên | Mô tả | Giá trị hợp lệ | Mặc định |
|---|---|---|---|
datasetstring · pathBắt buộc | Bộ dữ liệu của sàn | GLBX.MDP3 (CME), IFEU.IMPACT (ICE) | |
symbolstring · pathBắt buộc | Hợp đồng liên tục tháng gần nhất | GLBX.MDP3: CL (dầu thô WTI), GC (vàng); IFEU.IMPACT: BRN (Brent) | |
schemastring · pathBắt buộc | Khung thời gian nến | ohlcv-1d, ohlcv-1h, ohlcv-1m | |
startstring · query | Ngày bắt đầu | YYYY-MM-DD | end − khoảng tối đa của khung thời gian đó |
endstring · query | Ngày cuối cùng | YYYY-MM-DD | hôm nay (UTC) |
Khoảng tối đa mỗi request (end − start): ohlcv-1d 3650 ngày · ohlcv-1h 730 ngày · ohlcv-1m 31 ngày.
data = requests.get(f"{BASE_URL}/studio/market/db/ohlcv/GLBX.MDP3/CL/ohlcv-1d" , headers=headers, params={"start": "2024-01-01", "end": "2024-12-31"}, timeout=60).json()["data"]# [{"ts": "2024-01-02 00:00:00+00:00", "open": 71.95, "high": 73.64, "low": 70.06, "close": 70.5,# "volume": 263594, "instrument_id": 686071},# {"ts": "2024-01-03 00:00:00+00:00", "open": 70.49, "high": 73.23, "low": 69.28, "close": 73.05,# "volume": 253755, "instrument_id": 686071}, ...]{"dataset", "symbol", "schema", "data": [...]}.
| Trường | Kiểu | Đơn vị | Mô tả |
|---|---|---|---|
ts | string | UTC ISO | Thời điểm mở nến |
open / high / low / close | float | USD (dầu thô: mỗi thùng; vàng: mỗi oz) | Giá |
volume | int | hợp đồng | Khối lượng |
instrument_id | int | — | Mã công cụ của upstream, giữ nguyên từ nến nguồn |
| Mã trạng thái | Nội dung phản hồi | Trường hợp |
|---|---|---|
| 400 | {"error": "Invalid schema. Allowed: [...]"} | Khung thời gian không hợp lệ |
| 400 | {"error": "Invalid dataset/symbol combination"} | Cặp không hợp lệ |
| 400 | {"error": "Invalid date format. Use YYYY-MM-DD"} | Ngày sai định dạng |
| 400 | {"error": "date_range_too_large", "message": "...", "max_days": <n>} | Khoảng thời gian vượt giới hạn |
| 404 | thông báo lỗi | Không có dữ liệu |
ohlcv-1m dài, hãy request theo từng đoạn ≤ 31 ngày rồi nối lại (mỗi đoạn mất vài giây)./studio/market/anue/economic_calendar Tất cả đều tùy chọn; không lọc thì trả về toàn bộ feed (~1,400 dòng), nên hãy luôn lọc.
| Tên | Mô tả | Giá trị hợp lệ | Mặc định |
|---|---|---|---|
startstring · query | Các sự kiện từ ngày này trở đi | YYYY-MM-DD (ngày theo giờ Đài Bắc) | không có cận dưới |
endstring · query | Các sự kiện đến hết ngày này | YYYY-MM-DD (ngày theo giờ Đài Bắc) | không có cận trên |
countrystring · query | Bộ lọc quốc gia | Mã ISO-2, phân tách bằng dấu phẩy, không phân biệt hoa thường — ví dụ US,CN,TW | tất cả quốc gia |
max_priorityint · query | Giữ các dòng có priority <= max_priority. 1 là quan trọng nhất, nên chỉ lấy sự kiện lớn = max_priority=1 | 1 / 2 / 3 | tất cả mức ưu tiên |
limitint · query | Sắp xếp theo thời gian sự kiện, rồi giữ N dòng đầu tiên | ≥ 1 | không giới hạn |
langstring · query | Ngôn ngữ hiển thị cho countryName / subject; những tên không có trong bảng tra của máy chủ được giữ nguyên, nên en trả về lẫn zh/en | en / zh | en |
params = {"start": "2026-09-16", "end": "2026-09-23", "max_priority": 1, "lang": "zh"}response = requests.get( f"{BASE_URL}/studio/market/anue/economic_calendar" , headers=headers, params=params, timeout=60,)data = response.json()# [{"id": 79382, "startDate": 1790121600, "date": 1788220800, "dateUnit": "month", "time": "16:30",# "countryId": "GB", "countryName": "英國", "areaId": "4",# "subject": "S&P Global Manufacturing PMI - 初值", "subjectTitle": "<9月>", "unit": "point",# "predict": 51.7, "last": 51.7, "real": None, "correct": None, "correctMark": "N",# "place": None, "priority": 1, "type": 2}, ...]Một mảng JSON trần (không bọc trong {"data": ...}). Thứ tự là thứ tự của chính feed, trừ khi đặt limit (khi đó sắp xếp theo startDate, time).
| Trường | Kiểu | Đơn vị | Mô tả |
|---|---|---|---|
startDate | int | giây epoch | Ngày theo lịch Đài Bắc của sự kiện |
time | string | null | HH:MM giờ Đài Bắc | Thời điểm công bố; null nếu chưa công bố |
countryId | string | ISO-2 | Mã quốc gia |
countryName | string | — | Tên quốc gia (theo lang) |
subject | string | — | Tên chỉ báo (theo lang) |
subjectTitle | string | — | Nhãn kỳ, ví dụ <7月>, <2季> |
predict | number | null | unit | Dự báo đồng thuận của thị trường |
last | number | null | unit | Giá trị kỳ trước |
real | number | null | unit | Giá trị thực tế; null cho đến khi công bố |
unit | string | — | e.g. %, point, 億USD |
priority | int | 1–3 | 1 = quan trọng nhất (bảng lương phi nông nghiệp, quyết định lãi suất), 3 = ít quan trọng nhất (số giàn khoan) |
Một phản hồi thực tế còn mang các trường sau, được chuyển nguyên từ feed upstream. Chỉ nêu những gì đã quan sát được; đừng suy diễn thêm từ chúng.
| Trường | Kiểu | Quan sát được |
|---|---|---|
id | int | Mã sự kiện của upstream, ví dụ 79382 |
date | int | Giây epoch của kỳ mà số liệu phản ánh, không phải thời điểm công bố — các dòng có nhãn subjectTitle: "<9月>" mang date = 2026-09-01 trong khi startDate là 2026-09-23 |
dateUnit | string | month |
type | int | 2 |
areaId | string | "4" |
place | string | null | null |
correct | number | null | null |
correctMark | string | "N" |
| Mã trạng thái | Nội dung phản hồi | Trường hợp |
|---|---|---|
| 400 | {"error": "Invalid date format. Use YYYY-MM-DD"} | start / end sai định dạng |
| 400 | {"error": "max_priority must be an integer"} | max_priority không phải số nguyên |
| 400 | {"error": "limit must be an integer"} / {"error": "limit must be >= 1"} | limit không hợp lệ |
| 429 | {"error_code": "ERR429", "message": "User rate limit exceeded"} | Vượt 100 request / phút |
200 kèm [] — nghĩa là "không nằm trong phạm vi", không phải "không có sự kiện nào được lên lịch".start / end, các sự kiện không có ngày bị loại; khi đặt max_priority, các sự kiện không có mức ưu tiên bị loại.real được điền sau khi công bố.