Browse all documentation

Palmoil FFB price methodology

How FFB schedules are sourced. API access is not open yet

What the price means

The first physical slice is an official purchase schedule for Palmoil fresh fruit bunches. A schedule states what the responsible authority published for a defined area, producer type, producer arrangement, effective period, currency, unit, and set of tree-age bands.

It is not a CPO benchmark, futures settlement, generic farmgate average, mill quote, or trading signal. Those values describe different products and markets.

Sources and rights

Research uses the responsible Indonesian provincial authorities and their official publication systems. Riau has the only persistent-current Adapter proved so far. West Kalimantan is acceptance-only; Aceh, East Kalimantan, Bangka Belitung, and Lampung retain historical or extraction-gated evidence.

Narwhal serves only sources with an active rights record and complete publication head. A rights withdrawal hides discovery, latest, and history immediately.

Series identity

  • series_id is stable route identity for one physical market series.
  • commodity is OIL-PALM-FFB for this slice.
  • country is ISO 3166-1 alpha-3; area is ISO 3166-2 when that honestly describes the market.
  • producer_type is smallholder. The responsible authority defines that term for its own schedule.
  • producer_arrangement is purchase_agreement, supported_scheme, or null.

Source terms such as mitra swadaya, plasma, and pekebun remain evidence metadata. They do not become global API enums.

Complete schedules

Every tree-age row published together stays in one schedule. Rows are ordered, non-overlapping, positive decimal-string prices. A missing or ambiguous row rejects the schedule instead of producing a partial response.

Revisions replace the whole schedule. One row cannot revise independently because the authority published the rows as one determination.

Dates and revisions

  • released_on is the official publication date.
  • effective_from and effective_to are the inclusive schedule dates.
  • revision starts at one and changes only when the complete schedule changes.
  • Identical refetches do not create revisions.

History

History uses a stable series_id. Optional start and end bounds must be supplied together and form a half-open range. Results are oldest-first, keep complete schedules intact, and paginate with an opaque filter-bound cursor.

History contains accepted complete schedules only. It is not a completeness claim for every province or year.

Limits

The first slice covers Indonesian Palmoil FFB purchase schedules only. It does not cover CPO, PKO, global Palmoil benchmarks, futures, dealer quotes, farm yields, production volumes, or forecasts.

See the Commodities API reference and coverage.