浏览全部文档

Historical Palmoil physical API

Get oldest-first Palmoil observations

端点与请求

REST 端点
GET /v1/commodities/palmoil/physical/{series_id}/observations
契约 请求
curl --request GET \
  --url "https://api.narwhalapi.com/v1/commodities/palmoil/physical/id-ri-oil-palm-ffb-smallholder-purchase-agreement/observations?start=2026-08-01&end=2026-09-02&limit=100" \
  --header "Authorization: Bearer $NARWHAL_API_KEY"

MCP 使用 commodities_get_palmoil_physical_observations。REST 和 MCP 使用相同的结构、账户额度、权限检查和问题格式。

参数

名称必填类型含义
series_idpath · stable Narwhal IDSeries returned by discovery.
start查询·YYYY-MM-DD包含下限。必须与 end 一起提供。
end查询·YYYY-MM-DD不包含的上限,必须晚于 start。
limit查询·整数,1–500最多返回的完整日程数量。默认为 100。
cursor查询·不透明字符串绑定到相同序列和日期范围的续接令牌。

响应

契约 示例
{
  "series_id": "id-ri-oil-palm-ffb-smallholder-purchase-agreement",
  "commodity": "OIL-PALM-FFB",
  "country": "IDN",
  "area": "ID-RI",
  "producer_type": "smallholder",
  "producer_arrangement": "purchase_agreement",
  "price_type": "official_purchase_schedule",
  "observation_type": "age_schedule",
  "period_type": "effective",
  "currency": "IDR",
  "unit": "kilogram",
  "observations": [
    {
      "period_start": "2026-08-26",
      "period_end": "2026-09-01",
      "published_on": "2026-08-26",
      "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"
        }
      ]
    }
  ],
  "next_cursor": null
}
字段类型必填含义
series_id / commodity / country / area字符串稳定的身份和实物市场范围。
producer_type / producer_arrangement字符串或 null生产者范围 由每个返回的时间表共享.
price_type / observation_type / period_type字符串Shared typed value meaning and period convention.
observations数组Scalar or complete schedules ordered oldest first.
next_cursor字符串或 null不透明的延续令牌,结束时为 null。

错误与配额

  • 400 invalid_query — 代码、区域、日期范围、限制或选择器无效。
  • 400 invalid_cursor — 游标无效,或与序列及范围不匹配。
  • 401 invalid_api_key — Bearer 密钥缺失或被拒绝。
  • 404 palmoil_series_not_found — 没有完整的已批准数据符合请求。
  • 429 rate_limit_exceededquota_exhausted — 共享额度已耗尽。
  • 503 physical_price_unavailable — 完整发布版本无法安全满足该接口。

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

覆盖范围

History includes accepted revisions only and makes no promise for Malaysia or every Indonesian area.

使用 Narwhal API 密钥即可获得。