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_id | 예 | path · stable Narwhal ID | Series 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 키로 사용할 수 있습니다.