PIHPS Nasional
OfficialIn developmentThe national strategic food price information centre operated by Bank Indonesia, reporting daily prices for staple foods across Indonesian provinces and cities. Originally published at the standalone hargapangan.id domain, which was deactivated when PIHPS moved into the Bank Indonesia website on 1 July 2023; that domain no longer resolves.
Methodology
Daily price reports collected from selected traditional and modern markets, distinguishing retail from wholesale quotations.
Publisher documentation: https://www.bi.go.id
Collection approach
A connector is implemented and has ingested real observations. It reads the unauthenticated first-party JSON grid endpoints, unpivots the date columns, parses the locale-formatted prices, and maps PIHPS regions and commodities through explicit versioned mapping tables. Requests are throttled to one every 1.5 seconds with bounded retries, exponential backoff, and a hard per-run request ceiling; a 32-day sweep of 18 commodities costs 22 requests because one request returns every province for a commodity-day.
Method: Machine-readable data feed
Feasibility findings
Measured 21 August 2026
- Access mechanism
- Undocumented first-party JSON APIA JSON endpoint the publisher’s own site uses. It works, but nothing commits the publisher to keeping it stable.
- Credentials
- Not required for the endpoints measured.
- Collection risk
- Publicly reachable, but permission for automated access is not clearly stated or the mechanism is undocumented.
- Automated access
- Re-checked 2026-08-21 and now retrievable, correcting the Phase 1A finding that the connection reset. https://www.bi.go.id/robots.txt serves "User-agent: * / Allow: /" with nine Disallow paths, all SharePoint internals (/_layouts, /Lists, /Style Library, /Banner, /Menu Image, /WorkflowTasks, /SiteCollectionImages, /?PageView=, /Default_25112025.aspx). Neither /hargapangan nor any data path is excluded, and no AI-crawler user agent is named. That removes the main stated reason risk was MEDIUM rather than LOW — but robots.txt is a crawling directive, not a licence, and no published terms authorise automated collection. Risk stays MEDIUM and the source stays IN_DEVELOPMENT until Bank Indonesia confirms.
- Historical depth
- Date range parameters accept arbitrary windows. A 32-day window was ingested and returned 23 published days: the source publishes on working days and omits weekends and public holidays entirely rather than returning nulls. Depth beyond 32 days is untested — deliberately, since large backfills are out of scope.
- Collection permission
- Unknown. Whether automated collection is permitted has not been investigated, and unknown is recorded rather than assumed favourable.
This is an engineering feasibility assessment, not legal advice. No authentication or access control was bypassed to produce it, and where terms could not be established the risk is recorded as unknown rather than assumed favourable.
Known limitations
- Reports 34 provinces; Indonesia has had 38 since the 2022 Papua reorganisation. All 34 are explicitly mapped, but Papua Selatan, Papua Tengah, Papua Pegunungan, and Papua Barat Daya have no PIHPS coverage at all. Their prices are absent rather than estimated: PIHPS surveys the pre-split boundaries, and apportioning one figure across successor provinces would invent observations.
- Provinces with no data for a commodity are omitted from the response entirely, not returned as empty rows, so absent coverage is invisible without comparing against the province reference.
- Publishes only on working days. A 32-day window yielded 23 days of data; the gaps are real and are never interpolated.
- Grid rows are keyed by province name rather than a stable id, so joining to our locations depends on name matching — the most fragile part of the integration.
- Endpoints are undocumented and may change without notice.
- Coverage is limited to a selected set of markets and does not represent every market in a city.
- Daily values may be missing on public holidays, leaving gaps that must not be interpolated silently.
- Prices are quoted per conventional unit, which requires normalisation before comparison.
- No documented public API; the collection method may change without notice.
Data freshness
- Status
- Older than one publication cycle. Interpret with care.
- Newest observation
- 12 October 2026, 07:00 WIB
- Age
- 1 day
- Judged against
- How often this source publishes, with each official series judged on its own schedule
Registry entry
- Code
- BI_PIHPS
- Organisation
- Bank Indonesia
- Type
- Central bank
- Cadence
- Daily
- Observations
- 259,396
- Coverage
- Daily staple food prices across Indonesian provinces and citiesCommodityProvinceRegency / cityMarket
- Website
- https://www.bi.go.id/hargapangan
- Attribution
- Source: Bank Indonesia — Pusat Informasi Harga Pangan Strategis Nasional.
Recent ingestion history
Every attempt to collect from this source, most recent first.
| Started | Status | Duration | Fetched | Accepted | Rejected | Requests | Notes |
|---|---|---|---|---|---|---|---|
| 13 October 2026, 10:00 WIB | Success | 111.5s | 6450 | 2078 | 4372 | 75 | — |
| 12 October 2026, 10:00 WIB | Success | 111.6s | 6306 | 2075 | 4231 | 75 | — |
| 9 October 2026, 10:00 WIB | Success | 111.5s | 6306 | 2078 | 4228 | 75 | — |
| 8 October 2026, 10:00 WIB | Partial | 111.5s | 6306 | 2078 | 4228 | 75 | 1 record(s) rejected for material reasons |
| 7 October 2026, 10:00 WIB | Partial | 111.5s | 4226 | 2077 | 2149 | 75 | 1 record(s) rejected for material reasons |
| 6 October 2026, 10:00 WIB | Success | 111.5s | 5829 | 1871 | 3958 | 75 | — |
| 5 October 2026, 10:00 WIB | Success | 111.6s | 5634 | 1851 | 3783 | 75 | — |
| 2 October 2026, 10:00 WIB | Success | 111.5s | 6294 | 1854 | 4440 | 75 | — |
| 1 October 2026, 10:00 WIB | Success | 111.5s | 6294 | 1854 | 4440 | 75 | — |
| 30 September 2026, 10:00 WIB | Success | 112.8s | 4220 | 2074 | 2146 | 75 | — |