Other data: Al-Quran, Alkitab, KBBI, plates, astronomy, food prices
Documentation index for AI agents: /llms.txt. Every page is also available as markdown: add
.mdto the URL.
Al-Quran, Alkitab, KBBI dictionary, vehicle plate codes, astronomy, food prices and dataset metadata.
Reference datasets and smaller utilities that do not fit the other groups.
All endpoints need the x-api-key header (see Authentication) and return the standard envelope. A successful request costs 2 credits.
Endpoints on this page
GET /api/v1/meta/datasets: List dataset metadataGET /api/v1/meta/datasets/{dataset}: Retrieve dataset metadataGET /api/v1/quran/list-surah: List surahGET /api/v1/quran/surah/{id}: Retrieve a surahGET /api/v1/alkitab/books: List booksGET /api/v1/alkitab/books/{testament}: List books by testamentGET /api/v1/alkitab/passage/{bookAbbr}/{chapter}: Read a chapterGET /api/v1/alkitab/verse/{bookAbbr}/{chapter}/{verse}: Read a single verseGET /api/v1/alkitab/search: Search versesGET /api/v1/kbbi/search: Search wordsGET /api/v1/kbbi/word/{word}: Look up a wordGET /api/v1/kbbi/random: Random wordsGET /api/v1/plates: List vehicle platesGET /api/v1/plates/{code}: Retrieve a plate codeGET /api/v1/astronomi/sun: Sunrise & sunsetGET /api/v1/astronomi/twilight: Twilight timesGET /api/v1/astronomi/moon: Moon phaseGET /api/v1/astronomi/moon/next: Upcoming moon phasesGET /api/v1/astronomi/gerhana: Eclipse predictionsGET /api/v1/harga-pangan: Food-price series overviewGET /api/v1/harga-pangan/harga: Monthly food pricesGET /api/v1/harga-pangan/anomali: Food-price anomaly index
Al-Quran
Complete list of 114 Al-Quran surahs with Arabic name, Latin transliteration, translation, number of verses, and revelation place. Static data sourced from quran.gading.dev.
GET /api/v1/quran/list-surah
List surah. Returns the complete list of 114 Al-Quran surahs, ordered by number.
curl "https://use.apiindonesia.id/api/v1/quran/list-surah" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": [
{
"id": 1,
"name": "الفاتحة",
"name_latin": "Al-Fatihah",
"name_arabic": "الفاتحة",
"name_translation": "Pembukaan",
"number_of_ayahs": 7,
"revelation_place": "mecca",
"revelation_order": 5,
"audio_url": "https://cdn.islamic.network/quran/audio/128/ar.alafasy/1.mp3"
}
]
}
GET /api/v1/quran/surah/{id}
Retrieve a surah. Returns the metadata of a single surah by number (1–114).
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | Surah number, 1–114. |
curl "https://use.apiindonesia.id/api/v1/quran/surah/1" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": {
"id": 1,
"name": "الفاتحة",
"name_latin": "Al-Fatihah",
"name_arabic": "الفاتحة",
"name_translation": "Pembukaan",
"number_of_ayahs": 7,
"revelation_place": "mecca",
"revelation_order": 5,
"audio_url": "https://cdn.islamic.network/quran/audio/128/ar.alafasy/1.mp3",
"is_active": 1
}
}
Alkitab (Bible)
Indonesian Bible (TB translation) — 66 books (39 Old Testament + 27 New Testament) with 31,104 verses. Data sourced from alkitab.sabda.org.
GET /api/v1/alkitab/books
List books. Returns all 66 Bible books with chapter counts and testament classification (OT/NT).
curl "https://use.apiindonesia.id/api/v1/alkitab/books" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": [
{
"id": 1,
"abbr": "Kej",
"name": "Kejadian",
"chapter_count": 50,
"testament": "PL"
},
{
"id": 40,
"abbr": "Mat",
"name": "Matius",
"chapter_count": 28,
"testament": "PB"
}
]
}
GET /api/v1/alkitab/books/{testament}
List books by testament. Filter books by testament: PL (Old Testament) or PB (New Testament).
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
testament | path | yes | string | PL or PB. |
curl "https://use.apiindonesia.id/api/v1/alkitab/books/PB" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": [
{
"id": 40,
"abbr": "Mat",
"name": "Matius",
"chapter_count": 28,
"testament": "PB"
},
{
"id": 41,
"abbr": "Mrk",
"name": "Markus",
"chapter_count": 16,
"testament": "PB"
}
]
}
GET /api/v1/alkitab/passage/{bookAbbr}/{chapter}
Read a chapter. Returns all verses in a chapter. Use book abbreviation (e.g. Gen, John, Ps) or full name.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
bookAbbr | path | yes | string | Book abbreviation or name, e.g. Kej, Yoh, Mzm. |
chapter | path | yes | integer | Chapter number. |
curl "https://use.apiindonesia.id/api/v1/alkitab/passage/Kej/1" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": {
"book": {
"id": 1,
"abbr": "Kej",
"name": "Kejadian"
},
"chapter": 1,
"total_verses": 31,
"verses": [
{
"verse_number": 1,
"title": null,
"text": "Pada mulanya Allah menciptakan langit dan bumi."
},
{
"verse_number": 2,
"title": null,
"text": "Bumi itu batal dan kosong, gelap gulita menutupi samudera raya..."
}
]
}
}
GET /api/v1/alkitab/verse/{bookAbbr}/{chapter}/{verse}
Read a single verse. Returns a single verse by book, chapter, and verse number.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
bookAbbr | path | yes | string | Book abbreviation or name. |
chapter | path | yes | integer | Chapter number. |
verse | path | yes | integer | Verse number. |
curl "https://use.apiindonesia.id/api/v1/alkitab/verse/Yoh/3/16" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": {
"book": {
"id": 43,
"abbr": "Yoh",
"name": "Yohanes"
},
"chapter": 3,
"verse_number": 16,
"title": null,
"text": "Karena begitu besar kasih Allah akan dunia ini, sehingga Ia telah mengaruniakan Anak-Nya yang tunggal, supaya setiap orang yang percaya kepada-Nya tidak bina..."
}
}
GET /api/v1/alkitab/search
Search verses. Search for a word or phrase across all 31,104 Bible verses. Supports pagination via limit and offset.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
q | query | yes | string | Search keyword, minimum 3 characters. |
limit | query | no | integer | Results per page. Defaults to 20, maximum 100. |
offset | query | no | integer | Pagination offset. Defaults to 0. |
curl "https://use.apiindonesia.id/api/v1/alkitab/search?q=Imanuel" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": [
{
"verse_number": 14,
"title": null,
"text": "Sebab itu Tuhan sendirilah yang akan memberikan kepadamu suatu pertanda: Sesungguhnya, seorang perawan akan mengandung dan melahirkan seorang anak laki-laki,...",
"abbr": "Yes",
"name": "Yesaya",
"chapter": 7
}
],
"meta": {
"total": 3,
"page": 1,
"per_page": 20,
"total_pages": 1
}
}
KBBI (Indonesian Dictionary)
Indonesian Great Dictionary (KBBI) with 62,850+ word entries. Supports word search, exact word lookup, and random words. Data sourced from github.com/dyazincahya/KBBI-SQL-database (MIT License).
GET /api/v1/kbbi/search
Search words. Search KBBI dictionary by keyword. Supports pagination.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
q | query | yes | string | Search keyword. |
page | query | no | integer | Page number (default 1). |
per_page | query | no | integer | Items per page (default 20, max 100). |
curl "https://use.apiindonesia.id/api/v1/kbbi/search?q=rumah" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": [
{
"id": 50001,
"word": "rumah",
"arti": "Nomina (kata benda)\n(1) bangunan untuk tempat tinggal manusia",
"type": 2
}
],
"meta": {
"total": 15,
"page": 1,
"per_page": 5,
"total_pages": 3
}
}
GET /api/v1/kbbi/word/{word}
Look up a word. Returns all KBBI entries for a specific word (some words have multiple entries).
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
word | path | yes | string | Word to look up, e.g. rumah. |
curl "https://use.apiindonesia.id/api/v1/kbbi/word/rumah" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": [
{
"id": 50001,
"word": "rumah",
"arti": "Nomina (kata benda)\n(1) bangunan untuk tempat tinggal manusia",
"type": 2
}
]
}
GET /api/v1/kbbi/random
Random words. Returns random words from KBBI. Useful for games or learning apps.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
count | query | no | integer | Number of words (default 1, max 20). |
curl "https://use.apiindonesia.id/api/v1/kbbi/random" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": [
{
"id": 12345,
"word": "budaya",
"arti": "Nomina (kata benda)\n(1) pikiran; akal budi",
"type": 2
},
{
"id": 67890,
"word": "karya",
"arti": "Nomina (kata benda)\n(1) hasil perbuatan; cipta",
"type": 2
}
]
}
Vehicle Plates
Complete list of 61 Indonesian vehicle plate codes with region and province names. Static data sourced from an open dataset.
GET /api/v1/plates
List vehicle plates. Returns all 61 vehicle plate codes, sorted by code.
curl "https://use.apiindonesia.id/api/v1/plates" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": [
{
"id": "plate_B",
"plate_code": "B",
"region": "Jakarta",
"province": "DKI Jakarta",
"cities": "Jakarta Pusat, Jakarta Utara, Jakarta Barat, Jakarta Selatan, Jakarta Timur, Kepulauan Seribu",
"is_active": 1
}
]
}
GET /api/v1/plates/{code}
Retrieve a plate code. Returns details for a single plate code.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
code | path | yes | string | Plate code, e.g. B, DK, L. |
curl "https://use.apiindonesia.id/api/v1/plates/B" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": {
"id": "plate_B",
"plate_code": "B",
"region": "Jakarta",
"province": "DKI Jakarta",
"cities": "Jakarta Pusat, Jakarta Utara, Jakarta Barat, Jakarta Selatan, Jakarta Timur, Kepulauan Seribu",
"is_active": 1
}
}
Astronomy
Astronomy data computed from public NOAA/USNO formulas.
- Sunrise and sunset, plus day length
- Twilight
- Moon phase and the upcoming moon phases
- Eclipse predictions
- Pure local computation, no external data source
- Commercially safe to use
GET /api/v1/astronomi/sun
Sunrise & sunset. Returns sunrise, sunset, solar noon, and day length for a given lat/lon and date. Handles polar night / midnight sun.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
lat | query | yes | number | Decimal latitude (-90..90), e.g. -6.2. |
lon | query | yes | number | Decimal longitude (-180..180), e.g. 106.8. |
tanggal | query | no | string | Date in YYYY-MM-DD. Defaults to today. |
tz | query | no | string | ISO timezone offset, e.g. +07:00. Defaults to +00:00. |
curl "https://use.apiindonesia.id/api/v1/astronomi/sun?lat=-6.2&lon=106.8" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": {
"date": "2025-06-21",
"latitude": -6.2,
"longitude": 106.8,
"timezone": "+07:00",
"sunrise": "06:00",
"sunset": "17:46",
"solarNoon": "11:53",
"dayLength": 42343,
"declination": 23.44,
"equationOfTime": -0.76,
"polarPhase": "normal"
},
"meta": {
"disclaimer": "Hasil dihitung dari rumus astronomi publik (NOAA/USNO). Aksen ±2 menit adalah normal untuk terbit/terbenam.",
"source": "Computed (NOAA/USNO)"
}
}
GET /api/v1/astronomi/twilight
Twilight times. Returns civil, nautical, and astronomical twilight boundaries for photography/observation.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
lat | query | yes | number | Decimal latitude. |
lon | query | yes | number | Decimal longitude. |
tanggal | query | no | string | Date in YYYY-MM-DD. Defaults to today. |
tz | query | no | string | ISO timezone offset, e.g. +07:00. |
curl "https://use.apiindonesia.id/api/v1/astronomi/twilight?lat=-6.2&lon=106.8" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": {
"civilDawn": "05:35",
"civilDusk": "18:11",
"nauticalDawn": "05:06",
"nauticalDusk": "18:40",
"astronomicalDawn": "04:37",
"astronomicalDusk": "19:09"
},
"meta": {
"disclaimer": "Hasil dihitung dari rumus astronomi publik (NOAA/USNO)...",
"source": "Computed (NOAA/USNO)"
}
}
GET /api/v1/astronomi/moon
Moon phase. Returns the moon phase (illumination, phase name, age, distance) for a given date.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
tanggal | query | no | string | Date in YYYY-MM-DD. Defaults to today. |
curl "https://use.apiindonesia.id/api/v1/astronomi/moon" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": {
"date": "2025-02-12",
"illumination": 0.98,
"phaseAngle": 178.2,
"phaseName": "Bulan Purnama",
"phaseNameEn": "Full Moon",
"age": 14.7,
"visiblePercent": 98,
"trend": "waxing",
"distanceEarthRadii": 60.3,
"julianDay": 2460713.5
},
"meta": {
"source": "Computed (NOAA/USNO)"
}
}
GET /api/v1/astronomi/moon/next
Upcoming moon phases. Returns the next major moon phases (new/first quarter/full/last quarter), up to 12 ahead.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
tanggal | query | no | string | Start date in YYYY-MM-DD. Defaults to today. |
count | query | no | integer | Number of phases (1–12). Defaults to 4. |
curl "https://use.apiindonesia.id/api/v1/astronomi/moon/next" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": [
{
"phase": "first_quarter",
"name": "Kuartil Awal",
"nameEn": "First Quarter",
"date": "2025-01-05",
"daysUntil": 4,
"phaseAngle": 90
},
{
"phase": "full",
"name": "Bulan Purnama",
"nameEn": "Full Moon",
"date": "2025-01-13",
"daysUntil": 12,
"phaseAngle": 180
}
],
"meta": {
"source": "Computed (NOAA/USNO)"
}
}
GET /api/v1/astronomi/gerhana
Eclipse predictions. Returns upcoming solar & lunar eclipses (approximation based on saros/draconic cycles). Dates & kinds are indicative.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
tanggal | query | no | string | Start date in YYYY-MM-DD. Defaults to today. |
days | query | no | integer | Horizon in days (1–1825). Defaults to 365. |
curl "https://use.apiindonesia.id/api/v1/astronomi/gerhana" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"data": [
{
"type": "lunar",
"date": "2025-03-14",
"kind": "Total",
"kindEn": "Total",
"magnitude": 0.93
},
{
"type": "solar",
"date": "2025-03-29",
"kind": "Sebagian",
"kindEn": "Partial",
"magnitude": 0.71
}
],
"meta": {
"source": "Computed (NOAA/USNO)",
"note": "Prediksi aproximasi berbasis siklus saros/draconic. Tanggal & jenis bersifat indikatif."
}
}
Food Prices & Anomaly Index (National Food Agency)
Official National Food Agency (Bapanas) food-price data.
- Monthly average consumer prices since 2021 and producer prices since 2019
- National and per-province coverage
- The latest available open price edition ends in January 2026, not real-time prices
- Price Anomaly Index (QIPA/AIPA/IFPA) to flag abnormal spikes and drops
- Source: BPN Open Data
GET /api/v1/harga-pangan
Food-price series overview. Returns a summary of every series (consumer/producer level x national/province region): commodity count, row count, and the available month range.
curl "https://use.apiindonesia.id/api/v1/harga-pangan" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"success": true,
"data": [
{
"tingkat": "konsumen",
"wilayah": "nasional",
"komoditas": 46,
"rows": 1146,
"dari": "2021-01",
"sampai": "2026-01"
},
{
"tingkat": "konsumen",
"wilayah": "provinsi",
"komoditas": 27,
"rows": 36348,
"dari": "2021-01",
"sampai": "2026-01"
}
]
}
GET /api/v1/harga-pangan/harga
Monthly food prices. Returns monthly average food prices, filterable by level, region, commodity, province, and month range. Prices are integers in rupiah; "-" in the source becomes null.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
tingkat | query | no | string | Set tingkat=konsumen or tingkat=produsen. |
wilayah | query | no | string | Set wilayah=nasional or wilayah=provinsi. |
komoditas | query | no | string | Filter by commodity name, e.g. beras premium (partial match). |
provinsi | query | no | string | Filter by province name or code, e.g. aceh or 11. |
dari | query | no | string | Start month, format yyyy-mm, e.g. 2025-01. |
sampai | query | no | string | End month, format yyyy-mm, e.g. 2026-01. |
page | query | no | integer | Page to retrieve. Defaults to 1. |
limit | query | no | integer | Items per page. Default 20, max 100. |
curl "https://use.apiindonesia.id/api/v1/harga-pangan/harga" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"success": true,
"data": [
{
"tingkat": "konsumen",
"wilayah": "nasional",
"kode_provinsi": null,
"provinsi": null,
"komoditas": "Beras Premium",
"tanggal": "2026-01",
"harga": 16080,
"harga_raw": "Rp16,080"
},
{
"tingkat": "konsumen",
"wilayah": "nasional",
"kode_provinsi": null,
"provinsi": null,
"komoditas": "Beras Medium",
"tanggal": "2026-01",
"harga": 15100,
"harga_raw": "Rp15,100"
}
],
"meta": {
"total": 36,
"page": 1,
"per_page": 3,
"total_pages": 12
}
}
GET /api/v1/harga-pangan/anomali
Food-price anomaly index. Strategic commodity price-anomaly indices (QIPA, AIPA, IFPA) with status Alert (Low/High Price) or Normal. From National Food Agency monthly releases (check the latest date in the response); useful to flag abnormal price spikes or drops.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
komoditas | query | no | string | Filter by commodity name, e.g. beras premium. |
dari | query | no | string | Start month, format yyyy-mm. |
sampai | query | no | string | End month, format yyyy-mm. |
page | query | no | integer | Page to retrieve. Defaults to 1. |
limit | query | no | integer | Items per page. Default 20. |
curl "https://use.apiindonesia.id/api/v1/harga-pangan/anomali" \
-H "x-api-key: YOUR_API_KEY"
Example response (shortened):
{
"success": true,
"data": [
{
"tanggal": "2026-08",
"komoditas": "Beras Premium",
"qipa": -1.97,
"aipa": -0.86,
"ifpa": -1.3,
"status": "Alert (Low Price)"
}
],
"meta": {
"total": 105,
"page": 1,
"per_page": 20,
"total_pages": 6
}
}
Dataset Metadata
Snapshot and provenance metadata for datasets, including source, version, item count, synchronization time, checksum, status, and warnings.
GET /api/v1/meta/datasets
List dataset metadata. Returns metadata for every registered dataset. This endpoint does not require an API key.
curl "https://use.apiindonesia.id/api/v1/meta/datasets"
Example response (shortened):
{
"success": true,
"data": [
{
"dataset": "sekolah",
"source_url": "https://example.go.id/sekolah.csv",
"source_kind": "snapshot",
"source_version": "2026-09-18",
"source_year": 2026,
"total_items": 200123,
"synced_at": "2026-09-18T01:02:03.000Z",
"schema_version": "1",
"payload_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"status": "ready",
"warnings": []
}
]
}
GET /api/v1/meta/datasets/{dataset}
Retrieve dataset metadata. Returns snapshot and provenance metadata for one dataset.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
dataset | path | yes | string | Dataset ID, e.g. sekolah. |
curl "https://use.apiindonesia.id/api/v1/meta/datasets/sekolah"
Example response (shortened):
{
"success": true,
"data": {
"dataset": "sekolah",
"source_url": null,
"source_kind": "unknown",
"source_version": null,
"source_year": null,
"total_items": 200123,
"synced_at": null,
"schema_version": null,
"payload_sha256": null,
"status": "unknown",
"warnings": [
"Backfilled from an existing table; original sync provenance is unavailable."
]
}
}