전체 문서 살펴보기

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_exceeded 또는 quota_exhausted — 공유 허용량이 소진되었습니다.
  • 503 physical_price_unavailable — 완전한 발표로 인터페이스를 안전하게 충족할 수 없습니다.

거부된 요청과 서버 오류는 월간 할당량을 소비하지 않습니다.

데이터 범위

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

Narwhal API 키로 사용할 수 있습니다.