Logam Mulia API

May 22, 2026 · View on GitHub

API publik (gratis & open-source) untuk mengambil data harga jual / beli logam mulia (emas) di Indonesia, hasil scraping dari berbagai website terpercaya.

License: MIT Cloudflare Workers Hono Issues Stars


Tentang Proyek

Logam Mulia API adalah hobby project yang menyediakan endpoint ringan untuk mengambil informasi harga emas dari berbagai sumber di Indonesia dalam format JSON yang konsisten. Cocok digunakan untuk dasbor harga emas, aplikasi tabungan emas, bot notifikasi, atau riset data.

Program iklan (GitAds)

Repository ini berpartisipasi dalam GitAds - iklan sponsor ditampilkan melalui badge di bawah (bukan konten dalam kode API).

Sponsored by GitAds

Showcase

Berikut beberapa aplikasi dan website yang menggunakan API ini:

  • Radar Emas Android - Aplikasi Android untuk memantau harga emas secara real-time.

Menggunakan API ini di project kamu? Silakan tambahkan melalui pull request atau buat issue!

Base URL

https://logam-mulia-api.iamutaki.workers.dev

Deployment lama di Vercel sudah inactive dan API sepenuhnya dilayani melalui Cloudflare Worker. Lihat bagian Migrasi dari Vercel ke Cloudflare Worker untuk detailnya.

API Documentation

Dokumentasi interaktif OpenAPI 3.0 (auto-generated via @hono/zod-openapi) tersedia di:

Endpoint yang Tersedia

SourceStatusEndpoint TerkiniEndpoint HistoryCached
anekalogam/anekalogam/anekalogam/history
hargaemas-org/hargaemas-org/hargaemas-org/history
lakuemas/lakuemas/lakuemas/history
sakumas/sakumas/sakumas/history
kursdolar/kursdolar/kursdolar/history
cermati/cermati/cermati/history
indogold/indogold/indogold/history
hargaemas-net/hargaemas-net/hargaemas-net/history
hargaemas-com/hargaemas-com/hargaemas-com/history
treasury/treasury/treasury/history
logammulia/logammulia/logammulia/history
emasku/emasku/emasku/history
hartadinataabadi/hartadinataabadi/hartadinataabadi/history
galeri24/galeri24/galeri24/history
sampoernagold/sampoernagold/sampoernagold/history
bankbsi/bankbsi/bankbsi/history
brankaslm/brankaslm/brankaslm/history
pegadaian/pegadaian/pegadaian/history

Endpoint News

SourceStatusEndpoint TerkiniDetailCached
investor-id/news/investor-id/news/investor-id/detail?url=

Format Response News

Format Response

{
  "success": true,
  "data": [
    {
      "source": "anekalogam",
      "material": "gold",
      "materialType": "Antam",
      "weight": 1,
      "weightUnit": "gr",
      "sellPrice": 2700000,
      "buybackPrice": 2650000,
      "currency": "IDR",
      "recordedDate": "2026-05-16",
      "lineKey": "",
      "url": "/api/prices/anekalogam",
      "displayName": "Aneka Logam",
      "logo": "",
      "urlHomepage": "https://www.anekalogam.co.id"
    }
  ],
  "count": 1,
  "timestamp": "2026-05-16T05:06:58.888Z",
  "cached": true
}

Format Response News

{
  "success": true,
  "data": [
    {
      "title": "Harga Emas Hari Ini Naik",
      "url": "https://investor.id/market/439371/...",
      "publishedAt": "5 jam yang lalu",
      "summary": "Harga emas dunia bergerak...",
      "category": "Market",
      "displayName": "Investor.id",
      "logo": "https://investor.id/img/logo_investorid.webp"
    }
  ],
  "source": "investor-id",
  "timestamp": "2026-05-17T10:00:00.000Z"
}

Format Detail News

{
  "success": true,
  "data": {
    "title": "Harga Emas Hari Ini Naik",
    "author": "Nama Penulis",
    "publishedAt": "17 Mei 2026",
    "content": "Isi berita lengkap...",
    "cover": "https://img.com/foto.webp",
    "tags": "#Harga Emas #emas"
  },
  "timestamp": "2026-05-17T10:00:00.000Z"
}
# Ambil berita terbaru
curl -X GET "https://logam-mulia-api.iamutaki.workers.dev/api/news/investor-id"
# Ambil detail berita (url dari response list)
curl -X GET "https://logam-mulia-api.iamutaki.workers.dev/api/news/investor-id/detail?url=https://investor.id/market/439371/..."

Contoh Penggunaan

# Ambil harga terbaru
curl -X GET "https://logam-mulia-api.iamutaki.workers.dev/api/prices/anekalogam"
# Force refresh / lewati cache harian
curl -X GET "https://logam-mulia-api.iamutaki.workers.dev/api/prices/anekalogam?refresh=true"
# History (default: page=1, length=20)
curl -X GET "https://logam-mulia-api.iamutaki.workers.dev/api/prices/anekalogam/history"
# History dengan pagination
curl -X GET "https://logam-mulia-api.iamutaki.workers.dev/api/prices/anekalogam/history?page=1&length=20"
# History dengan filter berat
curl -X GET "https://logam-mulia-api.iamutaki.workers.dev/api/prices/anekalogam/history?weight=10"
# History dengan filter materialType
curl -X GET "https://logam-mulia-api.iamutaki.workers.dev/api/prices/galeri24/history?materialType=ANTAM"
# History dengan filter gabungan
curl -X GET "https://logam-mulia-api.iamutaki.workers.dev/api/prices/galeri24/history?materialType=ANTAM&weight=1"

Parameter Query (History)

ParamTipeKeterangan
pageintNomor halaman pagination.
lengthintJumlah item per halaman (maks. 1000).
weightintFilter berdasarkan berat (mis. 1, 5, 10).
materialstringFilter berdasarkan jenis logam (mis. gold, silver).
materialTypestringFilter berdasarkan tipe material (mis. ANTAM, UBS, GALERI 24).

Tech Stack

Roadmap & Sumber Berikutnya

Kami punya daftar panjang website yang akan diintegrasikan ke dalam API ini. Daftar lengkapnya beserta status pengerjaan dapat dilihat di sini:

Migrasi dari Vercel ke Cloudflare Worker

API ini sebelumnya berjalan di Vercel, namun saat ini deployment Vercel berstatus paused (tidak lagi melayani request). Karena itu, seluruh endpoint dipindahkan ke Cloudflare Worker agar tetap aktif dan dapat diakses publik.

Vercel deployment paused - alasan migrasi ke Cloudflare Worker

Status:

  • https://logam-mulia-api.vercel.app/ - inactive
  • https://logam-mulia-api.iamutaki.workers.dev/ - active

API ini gratis dan open source. Jika proyek ini membantu pekerjaan atau produk Anda, pertimbangkan untuk mendukung pengembangan.

Kontribusi

Kontribusi dalam bentuk apa pun sangat kami hargai! Anda dapat membantu dengan cara:

  1. Memberi star pada repository ini.
  2. Menambahkan sumber baru dari waiting-list.md - tinggal pilih item yang masih [ ], lalu kirim pull request.
  3. Melaporkan bug atau memberi saran melalui Issues.
  4. Memperbaiki dokumentasi atau contoh penggunaan.

Sebelum mengirim PR, mohon pastikan kode lulus test lokal (npm run test) dan ikuti style yang sudah ada di repo. Terima kasih banyak atas waktu dan kontribusi Anda - proyek ini berkembang berkat dukungan komunitas!

Lisensi

Proyek ini dirilis di bawah lisensi MIT.