Skip to content
PluginStats

@lokal-id/core weekly downloads statistics

By lokal-id · npm · AI SDKs

Indonesian data primitives for apps and AI agents: NIK, NPWP, phone numbers, Rupiah, terbilang, wilayah Kemendagri, and Samaran PII masking.

View on npm Fresh · Nov 1, 2026

@lokal-id/core has 1,563 recorded weekly downloads on npm, a change of +232% over the past 7 days, ranking #1594 of 2,710 tracked listings.

Weekly downloads
1,563
Official API · Oct 31, 2026
7-day growth
+232%
+1.1K weekly downloads
30-day growth
—
Insufficient history
90-day growth
—
Insufficient history
Rank
#1594
Among tracked npm listings

About @lokal-id/core

@lokal-id/core

npm License: MIT

Indonesian data primitives for apps and AI agents: NIK, NPWP, phone numbers, Rupiah, terbilang, holidays and working days, Kemendagri regions with postal codes, and Samaran, which masks Indonesian personal data before it reaches an LLM and restores it afterwards.

No dependencies. Part of Lokal · Bahasa Indonesia

Install

npm install @lokal-id/core

For Python backends there is a port with identical results: pip install lokal-id (docs).

Usage

import { parseNik, parsePhone, formatRupiah, parseRupiah, terbilang, addWorkingDays, Samaran } from '@lokal-id/core';
import { listWilayah, searchWilayah, wilayahName, findByPostalCode, parseAlamat } from '@lokal-id/core/wilayah';

parseNik('3201011508950001', { lookupWilayah: wilayahName });
// { valid: true, province: 'Jawa Barat', regency: 'Kabupaten Bogor', gender: 'L', birthDate: '1995-08-15', … }
parsePhone('0812 3456 7890');           // { e164: '+6281234567890', operator: 'Telkomsel', … }
formatRupiah(1500000);                  // 'Rp1.500.000'
parseRupiah('sejuta setengah');         // { amount: 1500000, approximate: false }
terbilang(1500000, { currency: true }); // 'satu juta lima ratus ribu rupiah'
addWorkingDays('2026-03-17', 1);        // '2026-03-25', skipping Nyepi and Lebaran
listWilayah('32.76');                   // districts of Kota Depok
findByPostalCode('16431');              // villages that use this postal code
parseAlamat('Kebayoran Baru, Jaksel').kecamatan?.code; // '31.74.07'
Samaran
const samaran = new Samaran();
const { text } = samaran.mask('nama saya budi santoso, NIK 3201011508950001, HP 0812-3456-7890');
// 'nama saya [NAME_1], NIK [NIK_1], HP [PHONE_1]'

samaran.unmask(await llm(text));        // placeholders are replaced with the original values

The same value always gets the same placeholder, so the model can still deduplicate and join. Use mode: 'partial' for logs and admin screens (3201********0001).

With the Vercel AI SDK, wrap the model and every call is masked and restored, streaming and tool calls included:

import { wrapLanguageModel } from 'ai';
import { samaranMiddleware } from '@lokal-id/core/ai-sdk';

const model = wrapLanguageModel({ model: openai('gpt-5'), middleware: samaranMiddleware() });

@lokal-id/core/wilayah loads about 4.4 MB of region data and runs on Node only. The main entry point does not load it and is safe for browsers.

Data

DataSource
Regions: 38 provinces, 416 regencies, 98 cities, 7,285 districts, 8,496 kelurahan, 75,266 villagescahyadsn/wilayah (MIT), following Kepmendagri 300.2.2-2138/2025
Postal codes for all 83,762 villagescahyadsn/wilayah_kodepos (MIT)
Holidays and cuti bersama for 2026 and 2027SKB 3 Menteri. Other years return an error, not a guess

Detection limits and full documentation are in the Lokal README.

License

MIT

Description from the npm listing.

  • indonesia
  • nik
  • npwp
  • rupiah
  • terbilang
  • wilayah
  • pii
  • uu-pdp
  • llm
  • ai-sdk
  • vercel-ai

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

@lokal-id/core weekly downloads on npm, last 90 days: 1,563 weekly downloads as of Oct 31, 2026.@lokal-id/coreWeekly downloads on npm · Last 90 days1,563downloads / week05001K1.5K2KAug 2Aug 17Sep 1Sep 16Oct 1Oct 16Oct 31downloads / weekobservedarchived (Internet Archive)no observationsAug 3, 2026 – Oct 31, 2026 · 90 observations · Updated Oct…pluginstats.com
@lokal-id/core weekly downloads on npm, last 90 days: 1,563 weekly downloads as of Oct 31, 2026.

7/30/90-day growth

@lokal-id/core weekly downloads growth on npm: +232% over 7 days, 30-day growth unavailable, 90-day growth unavailable.@lokal-id/coreWeekly downloads growth on npm1,563downloads / week now7-day growth+1,092 weekly downloads+232%30-day growth+1,563 weekly downloadsInsufficient history90-day growth+1,563 weekly downloadsInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 31, 2026pluginstats.com
@lokal-id/core weekly downloads growth on npm: +232% over 7 days, 30-day growth unavailable, 90-day growth unavailable.

Ranking history

@lokal-id/core npm ranking history: currently #1594 (by weekly downloads).@lokal-id/corenpm ranking · by weekly downloads · Last 90 days#1594current rank#1420#1440#1460#1480#1500#1520#1540#1560#1580#1600Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17Nov 1rankOct 31, 2026 – Nov 1, 2026 · 2 observations · Updated Oct 31, 2026pluginstats.com
@lokal-id/core npm ranking history: currently #1594 (by weekly downloads).

Listing placement

All npm2,710 listings · 136 pages · 1,357 shown · page 80, #14 (overall #1,594)
All npm: every listing in weekly downloads order

Listing placement

AI SDKs304 listings · 16 pages · page 8, #11 (overall #151)
AI SDKs: every listing in weekly downloads order

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

Recent observations

Full history (121)
Recent weekly downloads observations for @lokal-id/core
Date (UTC)Weekly downloadsChange vs. previous
1,563-52
1,615-229
1,844+603
1,241+199
1,042+46
996+535
461-10
471-320
791-331
1,122+159
9630
9630
9630
963—

Similar npm AI SDKs plugins

All 20 @lokal-id/core alternatives

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/@lokal-id/core. First seen Oct 31, 2026; last successful collection Nov 1, 2026. See the methodology.