dev.refnusa/refnusa

Refnusa

Indonesia reference data: holidays, wages, regions, postal codes, tax, food prices, KBLI, BPS stats

Endpointhttps://refnusa.dev/mcp (streamable-http)
Registry version0.2.0
Now33 tools · grade C (68) · pin ts_82243012ae68343c0d283ec7cbfe8d31 · protocol 2025-06-18
First / last listed2026-10-25 00:38 UTC / 2026-10-25 00:38 UTC
Grade over time2026-10-25: C (68), 33 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-25 00:38 UTC
33 tools, grade C (68)

Tools: list_datasets get_holidays check_holiday get_ump get_ump_history get_umk get_umk_history get_wilayah get_postal_code reverse_postal_code get_pph21_ter get_ptkp get_prayer_times get_bpjs_rates get_bank_codes get_fuel_prices list_food_commodities get_food_prices_latest get_food_price_series get_passport_fees search_kbli get_kbli get_tax_rates get_ojol_tariffs get_zakat get_het_prices list_stat_indicators get_stat_values get_stat_series get_fao_indonesia validate_nik validate_plate calculate_net_salary

Current tools (33)

list_datasetsCoverage and status of every dataset: status, row count, source instrument, effective date, publisher, official source URL, last check, data period, cadence, maximum age, next expected update, and the catalogue page. The licence, caveat and fallback fields are Indonesian text.
params: none
get_holidaysPublic holidays (libur nasional) and joint leave days (cuti bersama) for one year, from that year's SKB 3 Menteri decree.
params: year*
check_holidayWhether one date is a public holiday or cuti bersama, with the decree it was checked against. Weekends count only when the decree names them.
params: date*
get_umpProvincial minimum wage (UMP) for one year (default: the newest loaded), all provinces or one province. For 2026, 29 provinces cite the governor decree and 9 the BPS table; 1997 to 2025 rows cite the BPS yearly table (2017 and Jawa Barat 2016: BPS Statistik Indonesia 2018, Tabel 3.2.23).
params: year, province_code
get_ump_historyEvery loaded year of the provincial minimum wage (UMP) for one province, oldest first, each row with its source (governor decree or BPS table) and URL. 1997 to 2026. Without province_code: the same rows for all provinces in one response, ordered by province then year (for charts and bulk analysis).
params: province_code
get_umkRegency or city minimum wage (UMK) for one year. With regency_code: that kabupaten/kota (default year: its newest). Without it: every kabupaten/kota with a confirmed figure for the year (default: the newest loaded), in one response, optionally limited to one province_code.
params: year, regency_code, province_code
get_umk_historyEvery loaded year of the regency or city minimum wage (UMK) for one kabupaten/kota, oldest first, each row with its source instrument and URL: a governor decree, or for some regions the open-data portal of the regional government (source_instrument then starts with Portal and notes that the dataset has no decree number). Covers Jawa Barat 2023 to 2026, Jawa Tengah 2022 to 2026, Jawa Timur 2024 to
params: regency_code*
get_wilayahAdministrative regions: the 38 provinces, the children of one parent code, or one region by code.
params: level, parent_code, code
get_postal_codePostal codes of one kelurahan or desa by its wilayah code.
params: wilayah_code*
reverse_postal_codeRegions (kelurahan or desa) that carry one postal code.
params: postal_code*
get_pph21_terPPh 21 effective average rate (TER) bracket for a monthly gross income and TER category A, B or C, per PP 58/2023.
params: category*, income_idr*
get_ptkpAnnual non-taxable income (PTKP) for a taxpayer status such as TK/0 or K/1.
params: status*
get_prayer_timesPrayer times for one kabupaten/kota and date, computed by a documented hisab method; not an official Kemenag feed.
params: city_code*, date*
get_bpjs_ratesBPJS contribution rates as a percent of monthly wage, per program (JHT, JP, JKK, JKM, JKP, JKN), with the decree behind each rate. JKK serves the PP 6/2025 bands; the 2026 JP wage cap is Rp10.547.400 (the BPJS article 18913 says Rp10.547.000, see the row note).
params: program, status
get_bank_codesThree-digit bank codes (Sandi Bank) of the commercial and sharia banks on the OJK head-office list of June 2026, by code or by part of the bank name; no argument lists all 105.
params: code, name
get_fuel_pricesRetail price per litre of the subsidised and special-assignment fuels (Solar, minyak tanah, RON 90) from Kepmen ESDM 218.K/MG.01/MEM.M/2022. Non-subsidised fuels are not included.
params: fuel
list_food_commoditiesThe 10 staple food groups and their 21 items that PIHPS Nasional (Bank Indonesia) reports per province, with code, Indonesian and English name, unit (Rp/kg), the markets (tradisional, modern) that have a price on the newest day, and for the groups the first and last month of the monthly series.
params: none
get_food_prices_latestLatest PIHPS Nasional (Bank Indonesia) price of a staple food per province, in Rp/kg, on the newest observation day, plus PIHPS national averages. Covers the 10 groups and 21 items. Without market you get one row per province and commodity: the traditional-market (tradisional) price when it exists, otherwise the modern-market price; each row names its market and day. Traditional markets report for
params: commodity, market, province_code, month
get_food_price_seriesMonthly PIHPS Nasional (Bank Indonesia) price series, in Rp/kg, for one province and one staple food from May 2017; each point is the price on the first day of the month with data (observed_on). Optional from and to months.
params: commodity*, province_code*, from, to
get_passport_feesImigrasi PNBP fees from PP 45/2024: passport (biasa 5 and 10 years, electronic and non-electronic, SPLP, same-day service) and visa kunjungan (single and multiple trip). Government fee only.
params: category, fee_code
search_kbliSearch the KBLI 2020 business-field classification (Peraturan BPS 2/2020) by part of the title or a code prefix, optionally one of its five levels (kategori, golongan_pokok, golongan, subgolongan, kelompok). Returns code, level, parent and title; fetch one code for its description.
params: q, level, limit
get_kbliOne KBLI 2020 entry by code (a letter A to U, or 2, 3, 4 or 5 digits) with its description, its ancestors up to the kategori and its children.
params: code*
get_tax_ratesTax and duty rates, each with its decree: PPN 12% and the 11/12 DPP (PMK 131/2024), Bea Meterai tariff and threshold (UU 10/2020), and the domestic cukai hasil tembakau table (PMK 97/2024 Lampiran I).
params: category, rate_code
get_ojol_tariffsRide-hailing motorbike fare limits per zone (per-km lower and upper bound, minimum fare for the first 4 km) from KP 667/2022. A 2026 decision may supersede it; see the dataset note.
params: zone_code
get_zakatBAZNAS RI 2026 zakat figures: fitrah (SK 14/2026) and the nisab and rate of zakat penghasilan dan jasa (SK 15/2026).
params: category, zakat_code
get_het_pricesHarga eceran tertinggi: beras medium and premium by wilayah (Keputusan Kepala Bapanas 299/2025, 22 Aug 2025) and LPG 3 kg in Jawa Timur (Kepgub 801/2024).
params: commodity, region
list_stat_indicatorsRegional statistics from BPS tables: the indicator ids with unit, level (province or kabupaten/kota), every period available, source table and caveats. Includes unemployment (TPT), poverty and poverty lines, HDI (IPM), wages, population, GRDP per capita, life expectancy and monthly inflation and CPI (inflation_mom, inflation_yoy, inflation_ytd, cpi for provinces; inflation_yoy_regency for CPI citi
params: none
get_stat_valuesOne BPS indicator for one period across all regions in a single call (for a map), plus the national figure. Period is YYYY or YYYY-MM as listed by list_stat_indicators; omit it for the latest. A bare year on a semester indicator resolves to the latest period in that year.
params: indicator*, period
get_stat_seriesThe time series of one BPS indicator for one region: a province (2 digits), a kabupaten/kota (5 characters like 32.73, hdi_regency and inflation_yoy_regency only) or 00 for Indonesia.
params: indicator*, region_code*
get_fao_indonesiaFAOSTAT series for Indonesia: undernourishment, food insecurity, dietary energy and protein supply, and the supply of main staples (rice, wheat, maize, cassava, sugar, vegetable oils, soyabeans, poultry, eggs, fish). FAO methodology and population estimates, not comparable with BPS figures. Call without series for the list, then with series for the values.
params: series
validate_nikChecks the structure of a 16-digit NIK and looks up its region digits in the wilayah table. Send the NIK in the JSON body; it is never logged.
params: nik*
validate_plateChecks the format of an Indonesian vehicle plate and names the region of its prefix when the prefix table is loaded.
params: plate*
calculate_net_salaryEstimated take-home pay from a monthly gross salary: worker BPJS deductions (JHT, JP, JKN), PPh 21 by the PP 58/2023 TER table or the December annual recalculation, and the employer's own contributions, each line with its decree. Give gross, or regency_code to use that kabupaten/kota UMK. An estimate; the employer payslip decides.
params: gross, regency_code, ptkp*, jkk_band, jp, jkn, jp_cap, month, jkn_employer_taxable

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.