sooluh / kodepos

:postbox: Indonesian postal code search API by place name, village or city/regency.
https://kodepos.vercel.app
Apache License 2.0
90 stars 24 forks source link
api fastify indonesia javascript kode-pos kodepos nodejs postal-code typescript vercel

I stand with Palestine

@sooluh/kodepos

Requirements

Getting Started

  1. Clone this repository

    git clone https://github.com/sooluh/kodepos.git
  2. Move to the repository directory

    cd kodepos
  3. Install dependencies

    npm ci
  4. Run locally

    • Development mode

      npm run dev
    • Production mode

      1. Build first
      npm run build
      1. Start the app
      npm run start

One-click Deployment

The fastest way to use it privately on PaaS available

Deploy with Vercel

Deploy with Koyeb

Deploy with Render

Open in

Open in IDX

Open in Gitpod

Open in GitHub Codespaces

Endpoints

Search by Place Name

[ENDPOINT] /search
[GET] http://localhost:3000/search/?q=danasari

Query strings

Params Description Required
q Search keywords

Response

{
  "statusCode": 200,
  "code": "OK",
  "data": [
    {
      "code": 46386,
      "village": "Danasari",
      "district": "Cisaga",
      "regency": "Ciamis",
      "province": "Jawa Barat",
      "latitude": -7.3271342,
      "longitude": 108.4577572,
      "elevation": 110,
      "timezone": "WIB"
    },
    {
      "code": 53357,
      "village": "Danasari",
      "district": "Karangjambu",
      "regency": "Purbalingga",
      "province": "Jawa Tengah",
      "latitude": -7.1857161,
      "longitude": 109.4368274,
      "elevation": 705,
      "timezone": "WIB"
    },
    {
      "code": 52314,
      "village": "Danasari",
      "district": "Pemalang",
      "regency": "Pemalang",
      "province": "Jawa Tengah",
      "latitude": -6.8649882,
      "longitude": 109.3956117,
      "elevation": 6,
      "timezone": "WIB"
    },
    {
      "code": 52465,
      "village": "Danasari",
      "district": "Bojong",
      "regency": "Tegal",
      "province": "Jawa Tengah",
      "latitude": -7.1153626,
      "longitude": 109.1850778,
      "elevation": 737,
      "timezone": "WIB"
    }
  ]
}

Search by Coordinates

[ENDPOINT] /detect
[GET] http://localhost:3000/detect/?latitude=-6.547052&longitude=107.3980201

Query strings

Params Description Required
latitude Location latitude
longitude Location longitude

Response

{
  "statusCode": 200,
  "code": "OK",
  "data": {
    "code": 41152,
    "village": "Kembangkuning",
    "district": "Jatiluhur",
    "regency": "Purwakarta",
    "province": "Jawa Barat",
    "latitude": -6.5495591,
    "longitude": 107.4121855,
    "elevation": 112,
    "timezone": "WIB",
    "distance": 1.5894826841413479
  }
}

Showcase

List of awesome projects powered by this API

Ready to use!

List of server APIs ready to use publicly

[!IMPORTANT] For production usage, we recommend deploying it on your own and not using the list below. The list below can be used for development or learning purposes only!

License

This project is licensed under Apache 2.0 License.