Logam Mulia APIlogammulia.com ↗
Retrieve current and historical gold and silver prices from Logam Mulia (ANTAM), Indonesia's state-owned refinery. Daily prices, charts, and store locations.
What is the Logam Mulia API?
This API exposes 5 endpoints covering gold and silver price data from Logam Mulia (ANTAM), Indonesia's state-owned precious metals refinery. The get_full_price_table endpoint returns the complete daily price table across all product categories — Emas Batangan, Perak Murni, and collectible items — while dedicated endpoints deliver per-gram pricing, day-over-day price changes, historical chart data, and a directory of BELM boutique store locations across Indonesia.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/73879726-db6f-4977-9bad-7dd00b9ed308/get_full_price_table' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace logammulia-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Logam Mulia Gold Price API — fetch today's gold prices, history, and store locations."""
from parse_apis.logam_mulia_gold_price_api import LogamMulia, UpstreamError
client = LogamMulia()
# Fetch the 1-gram gold price (convenience accessor)
try:
gold = client.goldprices.fetch()
print(f"Gold 1g base: Rp {gold.price_per_gram:,}")
print(f"Gold 1g with tax: Rp {gold.price_with_tax:,}")
except UpstreamError as exc:
print(f"Upstream error: {exc}")
# Get today's price change vs previous trading day
change = client.pricechanges.fetch()
print(f"Today: Rp {change.today:,}, Yesterday: Rp {change.yesterday:,}")
print(f"Change: Rp {change.change:,} ({change.direction})")
# Fetch the full price table across all categories
table = client.pricetables.fetch()
for category_name, products in table.categories.items():
print(f"\n{category_name} ({len(products)} products):")
for product in products[:2]:
print(f" {product.weight_raw}: base Rp {product.base:,}, tax-incl Rp {product.tax:,}")
# Fetch store locations
stores = client.storelists.fetch()
for store in stores.locations[:3]:
print(f" Store {store.code}: {store.name}")
print("exercised: goldprices.fetch / pricechanges.fetch / pricetables.fetch / storelists.fetch")
Retrieves the complete daily price table from Logam Mulia covering all product categories (gold bars, silver, collectible items). Each category contains entries with weight, base price, and tax-inclusive price in Indonesian Rupiah. Prices update daily at 08:30 WIB. A single request fetches all categories; there is no filtering parameter.
No input parameters required.
{
"type": "object",
"fields": {
"categories": "object mapping category name (e.g. 'Emas Batangan', 'Perak Murni') to array of product entries, each with weight_raw (string label), weight (float grams), base (integer IDR), tax (integer IDR)"
},
"sample": {
"data": {
"categories": {
"Perak Murni": [
{
"tax": 16455750,
"base": 14825000,
"weight": 250,
"weight_raw": "250 gr"
}
],
"Emas Batangan": [
{
"tax": 1390969,
"base": 1387500,
"weight": 0.5,
"weight_raw": "0.5 gr"
},
{
"tax": 2681688,
"base": 2675000,
"weight": 1,
"weight_raw": "1 gr"
}
],
"Liontin Batik Seri III": [
{
"tax": 17560501,
"base": 17275456,
"weight": 8,
"weight_raw": "8 gr"
}
]
}
},
"status": "success"
}
}About the Logam Mulia API
Price Table and Per-Gram Pricing
get_full_price_table returns a categories object where each key is a product category name (e.g. Emas Batangan, Perak Murni) mapped to an array of product entries. Each entry includes a weight_raw string label, a base price in Indonesian Rupiah, and a tax-inclusive price reflecting the PPh 0.25% surcharge. Prices update daily at 08:30 WIB. get_gold_price_per_gram is a convenience endpoint that isolates the 1-gram gold entry from the full table, returning price_per_gram and price_with_tax as integers in IDR — useful when you only need the standard reference price without parsing the full table.
Price Changes and Historical Data
get_gold_price_change returns four fields: today (current sell price as an integer), yesterday (previous trading day's price), change (the absolute difference), and direction (a string indicating whether the price moved up or down). This lets you display a simple price ticker without computing the delta yourself. get_gold_price_chart_history returns a history array of historical sell-price data points, suitable for rendering a price trend chart over time.
Store Locations
get_store_locations returns a locations array where each object contains a code (boutique identifier) and a name field that includes the store name and city. This covers BELM (Butik Emas Logam Mulia) outlets across Indonesia and is useful for building store-finder features or filtering purchase options by region.
The Logam Mulia API is a managed, monitored endpoint for logammulia.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when logammulia.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official logammulia.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display the current 1-gram gold buy price in IDR on a personal finance dashboard using
get_gold_price_per_gram - Plot a gold price trend chart for Indonesian retail investors using the
historyarray fromget_gold_price_chart_history - Show a daily price movement indicator (up/down arrow with IDR change amount) using
get_gold_price_change - Build a product price listing page for all gold bar and silver weights using
get_full_price_table - Power a store-finder map for BELM boutique locations using the
codeandnamefields fromget_store_locations - Alert users when the gold price moves by more than a set threshold by comparing
todayandyesterdayfromget_gold_price_change - Compare tax-inclusive vs. base prices across product weights using the full price table's per-entry tax fields
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Logam Mulia have an official developer API?+
What does `get_full_price_table` return beyond gold bars?+
Perak Murni) and collectible items, not just standard gold bars. Each entry includes a weight label, a base price in IDR, and a tax-inclusive price.How current are the prices returned by the API?+
Does the API return buy-back (buyback) prices in addition to sell prices?+
Does `get_store_locations` include store hours or contact details?+
code and a name with city information. Additional details such as phone numbers, addresses, and operating hours are not included. You can fork this API on Parse and revise it to add those fields.