# PIHPS (Harga Pangan) — Zapi reference > Harga pangan strategis harian dari Bank Indonesia: per komoditas, per provinsi, di empat tingkat pasar (tradisional, modern, pedagang besar, produsen). **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ status, message, content }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/finance/pihps - Endpoint catalog: https://zpi.web.id/category/finance - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## PIHPS (Harga Pangan) **Category:** finance · **Slug:** `pihps` **Detail page:** https://zpi.web.id/api/finance/pihps Harga pangan strategis harian dari Bank Indonesia: per komoditas, per provinsi, di empat tingkat pasar (tradisional, modern, pedagang besar, produsen). **Tags:** pihps, bank-indonesia, harga-pangan, inflasi, indonesia, finance ### Food Prices Harga harian satu komoditas per provinsi. Hari tanpa survei dikembalikan sebagai null, bukan nol. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:pihps/prices` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `commodity` | string | query | no | Commodity or category id from `pihps/commodities` (default cat_1, rice). | | `market` | enum(1|2|3|4) | query | no | Market tier: 1 traditional (default), 2 modern, 3 wholesaler, 4 producer. | | `province` | string | query | no | Province id from `pihps/regions`. Omit for all provinces. | | `from` | string | query | no | Start date (YYYY-MM-DD or YYYYMMDD). Default 7 days back. | | `to` | string | query | no | End date (YYYY-MM-DD or YYYYMMDD). Default today. | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:pihps/prices?commodity=cat_1&market=1&province=13&from=2026-08-01&to=2026-08-08" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:pihps/prices?commodity=cat_1&market=1&province=13&from=2026-08-01&to=2026-08-08", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:pihps/prices?commodity=cat_1&market=1&province=13&from=2026-08-01&to=2026-08-08", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "to": "2026-08-07", "from": "2026-08-03", "count": 35, "dates": [ "2026-08-03", "2026-08-04", "2026-08-05", "2026-08-06", "2026-08-07" ], "items": [ { "level": 0, "prices": [ { "date": "2026-08-03", "price": 16200 }, { "date": "2026-08-04", "price": 16250 }, { "date": "2026-08-05", "price": 16250 }, { "date": "2026-08-06", "price": 16250 }, { "date": "2026-08-07", "price": 16250 } ], "region": "Semua Provinsi" }, { "level": 1, "prices": [ { "date": "2026-08-03", "price": 15650 }, { "date": "2026-08-04", "price": 15350 }, { "date": "2026-08-05", "price": 15650 }, { "date": "2026-08-06", "price": null }, { "date": "2026-08-07", "price": 15350 } ], "region": "Aceh" }, { "level": 1, "prices": [ { "date": "2026-08-03", "price": 15350 }, { "date": "2026-08-04", "price": 15400 }, { "date": "2026-08-05", "price": 15400 }, { "date": "2026-08-06", "price": 15400 }, { "date": "2026-08-07", "price": 15400 } ], "region": "Sumatera Utara" }, { "level": 1, "prices": [ { "date": "2026-08-03", "price": 17900 }, { "date": "2026-08-04", "price": 17900 }, { "date": "2026-08-05", "price": 18150 }, { "date": "2026-08-06", "price": 17900 }, { "date": "2026-08-07", "price": 17900 } ], "region": "Sumatera Barat" }, { "level": 1, "prices": [ { "date": "2026-08-03", "price": 16650 }, { "date": "2026-08-04", "price": 16650 }, { "date": "2026-08-05", "price": 16650 }, { "date": "2026-08-06", "price": 16800 }, { "date": "2026-08-07", "price": 16700 } ], "region": "Riau" }, { "level": 1, "prices": [ { "date": "2026-08-03", "price": 15500 }, { "date": "2026-08-04", "price": null }, { "date": "2026-08-05", "price": 15500 }, { "date": "2026-08-06", "price": 15500 }, { "date": "2026-08-07", "price": null } ], "region": "Kepulauan Riau" }, { "level": 1, "prices": [ { "date": "2026-08-03", "price": 15550 }, { "date": "2026-08-04", "price": 15550 }, { "date": "2026-08-05", "price": 15550 }, { "date": "2026-08-06", "price": 15550 }, { "date": "2026-08-07", "price": 15550 } ], "region": "Jambi" }, { "level": 1, "prices": [ { "date": "2026-08-03", "price": 15800 }, { "date": "2026-08-04", "price": 15800 }, { "date": "2026-08-05", "price": 15850 }, { "date": "2026-08-06", "price": 15850 }, { "date": "2026-08-07", "price": 15850 } ], "region": "Bengkulu" } ], "market": "1", "source": "bank-indonesia-pihps", "currency": "IDR", "commodity": "cat_1" } ``` --- ### Commodities Daftar acuan komoditas dan kategori beserta satuannya, plus empat tingkat pasar yang bisa dipilih. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:pihps/commodities` - **Cache TTL:** 86400s **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:pihps/commodities" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:pihps/commodities", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:pihps/commodities", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 31, "items": [ { "id": "cat_1", "name": "Beras", "unit": "kg", "order": 1, "categoryId": null }, { "id": "com_1", "name": "Beras Kualitas Bawah I", "unit": "kg", "order": 1, "categoryId": "cat_1" }, { "id": "cat_2", "name": "Daging Ayam", "unit": "kg", "order": 2, "categoryId": null }, { "id": "com_2", "name": "Beras Kualitas Bawah II", "unit": "kg", "order": 2, "categoryId": "cat_1" }, { "id": "cat_3", "name": "Daging Sapi", "unit": "kg", "order": 3, "categoryId": null }, { "id": "com_3", "name": "Beras Kualitas Medium I", "unit": "kg", "order": 3, "categoryId": "cat_1" }, { "id": "cat_4", "name": "Telur Ayam", "unit": "kg", "order": 4, "categoryId": null }, { "id": "com_4", "name": "Beras Kualitas Medium II", "unit": "kg", "order": 4, "categoryId": "cat_1" } ], "source": "bank-indonesia-pihps", "markets": [ { "id": "1", "name": "Pasar Tradisional" }, { "id": "2", "name": "Pasar Modern" }, { "id": "3", "name": "Pedagang Besar" }, { "id": "4", "name": "Produsen" } ] } ``` --- ### Regions Provinsi, atau kabupaten/kota di satu provinsi kalau `province` diisi. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:pihps/regions` - **Cache TTL:** 86400s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `province` | string | query | no | Province id. When set, returns that province's regencies instead of the province list. | | `market` | enum(1|2|3|4) | query | no | Market tier the regency list applies to (default 1). | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:pihps/regions?province=13&market=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:pihps/regions?province=13&market=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:pihps/regions?province=13&market=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 1, "items": [ { "id": "34", "name": "Kota Jakarta Pusat" } ], "level": "regency", "source": "bank-indonesia-pihps", "province": "13" } ``` --- _Generated: 2026-08-09T07:06:33.983Z_