Browse all documentation

Palmoil physical series API

Find admitted Palmoil physical series by product and country

Endpoint and request

REST endpoint
GET /v1/commodities/palmoil/physical
Contract request
curl --request GET \
  --url "https://api.narwhalapi.com/v1/commodities/palmoil/physical?product=ffb&country=IDN&area=ID-RI&limit=100" \
  --header "Authorization: Bearer $NARWHAL_API_KEY"

MCP uses commodities_list_palmoil_physical_series. REST and MCP share the same schema, account quota, rights check, and problem shape.

Parameters

NameRequiredTypeMeaning
productNoquery · ffb or cpoFilter by the physical product.
countryNoquery · ISO 3166-1 alpha-3Filter by country, such as IDN.
area / grade / brandNoquery · discovery filtersFilter typed metadata without adding URL levels.
limit / cursorNoquery · 1–500 and opaque cursorPaginate stable discovery results.

Response

Contract example
{
  "series": [
    {
      "series_id": "id-ri-oil-palm-ffb-smallholder-purchase-agreement",
      "commodity": "palmoil",
      "product": "ffb",
      "country": "IDN",
      "area": "ID-RI",
      "producer_type": "smallholder",
      "producer_arrangement": "purchase_agreement",
      "price_type": "official_purchase_schedule",
      "currency": "IDR",
      "unit": "kilogram",
      "coverage_start": "2026-08-19",
      "coverage_end": "2026-09-01",
      "frequency": "weekly"
    }
  ]
}
FieldTypeRequiredMeaning
seriesarrayYesComplete approved series ordered by stable series_id.
series_idstringYesStable identity used by the history operation.
area / producer_type / producer_arrangementstrings or nullYesThe exact market and producer scope.
product / country / area / grade / brandstrings or nullYesTyped physical-market metadata.
frequency / coverage_start / coverage_endstring and datesYesCadence and accepted history bounds.

Errors and quota

  • 400 invalid_query — a code, area, date range, limit, or selector is invalid.
  • 401 invalid_api_key — the Bearer key is missing or rejected.
  • 429 rate_limit_exceeded or quota_exhausted — the shared allowance is exhausted.
  • 503 physical_price_unavailable — a complete publication cannot safely satisfy the Interface.

Rejected requests and server errors do not consume monthly quota.

Coverage

Only admitted series appear. Malaysia is not currently admitted.

Available with a Narwhal API key.