浏览全部文档

棕榈油 实物价格 API

获取最新已接纳的 棕榈油 观测值

端点与请求

REST 端点
GET /v1/commodities/palmoil/physical/{series_id}
接口契约请求
curl --request GET \
  --url "https://api.narwhalapi.com/v1/commodities/palmoil/physical/id-ri-oil-palm-ffb-smallholder-purchase-agreement" \
  --header "Authorization: Bearer $NARWHAL_API_KEY"

MCP 使用 commodities_get_palmoil_physical_price。REST 和 MCP 使用相同的数据结构、账户配额、使用权检查和错误响应格式。

参数

名称必填类型含义
series_id是路径参数 · 稳定的 Narwhal 标识符使用发现接口返回的标识符。
price_month否查询·YYYY-MM仅适用于 MPOB CPO。选择一个报价月份;默认使用每份报告自身所属的月份。

响应

接口契约示例
{
  "series_id": "id-ri-oil-palm-ffb-smallholder-purchase-agreement",
  "currency": "IDR",
  "unit": "kilogram",
  "period_start": "2026-08-26",
  "period_end": "2026-09-01",
  "revision": 1,
  "prices": [
    {
      "tree_age_min_years": 3,
      "tree_age_max_years": 3,
      "price": "2998.31"
    },
    {
      "tree_age_min_years": 4,
      "tree_age_max_years": 4,
      "price": "3347.20"
    },
    {
      "tree_age_min_years": 5,
      "tree_age_max_years": 5,
      "price": "3595.38"
    },
    {
      "tree_age_min_years": 6,
      "tree_age_max_years": 6,
      "price": "3734.94"
    },
    {
      "tree_age_min_years": 7,
      "tree_age_max_years": 7,
      "price": "3818.86"
    },
    {
      "tree_age_min_years": 8,
      "tree_age_max_years": 8,
      "price": "3865.46"
    },
    {
      "tree_age_min_years": 9,
      "tree_age_max_years": 9,
      "price": "3878.72"
    },
    {
      "tree_age_min_years": 10,
      "tree_age_max_years": 20,
      "price": "3836.93"
    },
    {
      "tree_age_min_years": 21,
      "tree_age_max_years": 21,
      "price": "3770.94"
    },
    {
      "tree_age_min_years": 22,
      "tree_age_max_years": 22,
      "price": "3695.31"
    },
    {
      "tree_age_min_years": 23,
      "tree_age_max_years": 23,
      "price": "3609.33"
    },
    {
      "tree_age_min_years": 24,
      "tree_age_max_years": 24,
      "price": "3544.29"
    },
    {
      "tree_age_min_years": 25,
      "tree_age_max_years": 25,
      "price": "3490.84"
    },
    {
      "tree_age_min_years": 26,
      "tree_age_max_years": 26,
      "price": "3471.62"
    },
    {
      "tree_age_min_years": 27,
      "tree_age_max_years": 27,
      "price": "3441.82"
    },
    {
      "tree_age_min_years": 28,
      "tree_age_max_years": 28,
      "price": "3385.41"
    },
    {
      "tree_age_min_years": 29,
      "tree_age_max_years": 29,
      "price": "3344.02"
    },
    {
      "tree_age_min_years": 30,
      "tree_age_max_years": 30,
      "price": "3249.41"
    }
  ]
}
字段类型必填含义
series_id字符串是实物数据序列的稳定标识符。
currency / unit字符串是币种和原始单位:印度尼西亚 FFB 价目表使用 kilogram,CPO 使用 metric_ton,马来西亚 FFB 参考价使用 one_percent_oer。
period_start / period_end日期是按有效期发布的价格包含起止两日。MPOB 的期间从报告日开始,到次日结束,但不包含该结束日。
revision整数是价格或完整价目表的修订版本。
price or prices十进制字符串或完整数组是以十进制字符串表示的正数价格,或完整的 prices 数组,其中包含 tree_age_min_years、tree_age_max_years 和 price。树龄上下限均包含在内。马来西亚 FFB 仍使用 one_percent_oer 单位。
price_monthYYYY-MM否MPOB CPO 报价必需的字段,用于标识报价月份;period_start 和 period_end 标识报告日对应的观测区间。

错误与配额

  • 400 invalid_query — 代码、区域、日期范围、限制或选择器无效。
  • 401 invalid_api_key — Bearer 密钥缺失或被拒绝。
  • 404 palmoil_series_not_found — 没有完整的已批准数据符合请求。
  • 409 physical_series_ambiguous — 选择器匹配了多个序列。
  • 429 rate_limit_exceeded 或 quota_exhausted — 共用配额已耗尽。
  • 503 physical_price_unavailable — 完整发布版本无法安全满足该接口。

被拒绝的请求和服务器错误不会消耗月度配额。

覆盖范围

CPO 和马来西亚 FFB 返回单一价格数值。印度尼西亚 FFB 保留完整的树龄价目表。最新报告如无交易,不会以旧价格冒充当前价格。

使用 Narwhal API 密钥即可访问。