Palmoil FFB price API

Official Indonesian FFB schedules by area and tree age

Commodities API
api.narwhalapi.com JSON
GET/v1/commodities/oil-palm-ffb-price?country=IDN&area=ID-RI
{
  "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_basis": "official_purchase_schedule",
  "currency": "IDR",
  "unit": "kilogram",
  "effective_from": "2026-08-26",
  "effective_to": "2026-09-01",
  "released_on": "2026-08-26",
  "revision": 1,
  "prices": [
    {
      "tree_age_min_years": 9,
      "tree_age_max_years": 9,
      "price": "3878.72"
    }
  ]
}

One response contains the full schedule

Full schedule

Every tree-age price arrives together.

Real dates

Release and effective dates stay separate.

No partial data

Missing or ambiguous schedules stay out.

FFB prices are not CPO prices

series_id
Stable identity for one area and producer arrangement.
effective_from / effective_to
The inclusive dates covered by one schedule.
prices[]
Complete non-overlapping tree-age bands and decimal-string prices.
released_on / revision
Official release date and whole-schedule revision.
price_basis / currency / unit
Official purchase schedule, IDR, and kilogram.
Endpointsv1
GET/v1/commodities/physical/{commodity}/{country}

Discover approved physical-price series

First release
GET/v1/commodities/oil-palm-ffb-price

Read one latest complete FFB schedule

First release
GET/v1/commodities/oil-palm-ffb-price/observations

Read oldest-first schedule history

First release

Palmoil API access is not open yet.

Narwhal mascot checking an official physical-price schedule

FFB and CPO stay separate

Narwhal keeps the area, arrangement, dates, unit, and tree-age bands with each schedule.

Read the methodology

Palmoil API resources

Palmoil price questions

Is this a CPO price API?

No. It serves official fresh-fruit-bunch purchase schedules. CPO benchmarks and futures require separate Interfaces.

Why are there several prices in one response?

One authority schedule can publish different prices by tree age. Narwhal keeps those rows together.

Which area comes first?

Riau is the first current Adapter. Other researched areas remain historical or validation-only.

Open the Commodities API docs