Open API 3.0

Dataset API Documentation

Dokumentasi resmi API dataset terbuka Yayasan Jaya Sanga Nusantara. Akses data pentas budaya, arsip, podcast, dan laporan dalam format JSON/CSV — tanpa autentikasi, tanpa biaya.

Official API documentation for the open cultural dataset. Access folk performance, archive, podcast, and report data in JSON/CSV — no authentication required, free of charge.

Base URL
https://jayasanganusantara.or.id/api/v1/dataset
API Version
v1.0.0
License
CC BY 4.0
OpenAPI Spec
openapi.json

Autentikasi

Authentication — tidak diperlukan untuk API publik

Public API — Tanpa Autentikasi

Seluruh endpoint dataset API bersifat publik. Tidak memerlukan API key, token, atau autentikasi. Cukup akses URL endpoint langsung untuk mendapatkan data. Data dilindungi di bawah lisensi CC BY 4.0 — Anda wajib memberikan atribusi saat menggunakan data.

All dataset API endpoints are public. No API key, token, or authentication required. Access the endpoint URL directly to retrieve data. Data is protected under CC BY 4.0 license — attribution is required when using the data.

Endpoint

4 endpoint dataset — satu untuk setiap koleksi data

GET/api/v1/dataset/LenggerEventData Pentas Budaya Rakyat

Folk Performance Event Data

Contoh request:

curl "https://jayasanganusantara.or.id/api/v1/dataset/LenggerEvent"
curl "https://jayasanganusantara.or.id/api/v1/dataset/LenggerEvent?format=csv"
curl "https://jayasanganusantara.or.id/api/v1/dataset/LenggerEvent?limit=100&search=wonosobo"
GET/api/v1/dataset/ArchiveArsip Digital Budaya Terstruktur

Cultural Advancement Archive Data

Contoh request:

curl "https://jayasanganusantara.or.id/api/v1/dataset/Archive"
curl "https://jayasanganusantara.or.id/api/v1/dataset/Archive?format=csv"
curl "https://jayasanganusantara.or.id/api/v1/dataset/Archive?limit=100&search=wonosobo"
GET/api/v1/dataset/PodcastData Episode Podcast

Podcast Episode Data

Contoh request:

curl "https://jayasanganusantara.or.id/api/v1/dataset/Podcast"
curl "https://jayasanganusantara.or.id/api/v1/dataset/Podcast?format=csv"
curl "https://jayasanganusantara.or.id/api/v1/dataset/Podcast?limit=100&search=wonosobo"
GET/api/v1/dataset/ReportData Laporan Analitis

Analytical Report Data

Contoh request:

curl "https://jayasanganusantara.or.id/api/v1/dataset/Report"
curl "https://jayasanganusantara.or.id/api/v1/dataset/Report?format=csv"
curl "https://jayasanganusantara.or.id/api/v1/dataset/Report?limit=100&search=wonosobo"

Query Parameters

Parameter opsional untuk memfilter dan memformat respons

ParameterTipeWajibDeskripsiContoh
formatstringOptionalFormat output: json (default) atau csv. CSV menghasilkan file download.csv
limitintegerOptionalJumlah maksimal record yang dikembalikan. Default: 10000, maks: 50000.100
searchstringOptionalPencarian teks bebas di seluruh field string. Case-insensitive.lengger

Catatan tentang Pencarian

Parameter search melakukan pencarian case-insensitive di seluruh field bertipe string. Misalnya, search=loanoakan mencocokkan "Loano", "loano", dan "LOANO".

Format Respons

Struktur respons JSON dan CSV

Respons JSON (default)

{
  "dataset": "LenggerEvent",
  "version": "1.0.0",
  "generatedAt": "2026-05-10T12:00:00.000Z",
  "recordCount": 219,
  "fields": [
    "id",
    "title",
    "date",
    "klasifikasi",
    "desa",
    "kecamatan",
    "komunitasBudaya",
    "artisLengger",
    "sinden",
    "..."
  ],
  "license": "CC-BY-4.0",
  "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
  "citation": "Yayasan Jaya Sanga Nusantara. (2026). Monitor Lengger ...",
  "data": [
    {
      "id": "cm3abc123",
      "title": "Bersih Desa Loano",
      "date": "2026-03-15T00:00:00.000Z",
      "klasifikasi": "Lengger",
      "desa": "Loano",
      "kecamatan": "Loano"
    }
  ]
}
FieldTipeDeskripsi
datasetstringNama dataset (LenggerEvent, Archive, Podcast, Report)
versionstringVersi API (semver)
generatedAtISO 8601Waktu respons di-generate
recordCountintegerJumlah record dalam respons
fieldsstring[]Daftar field yang tersedia
licensestringKode lisensi data
licenseUrlstringURL lengkap lisensi
citationstringTemplate sitasi untuk data
dataobject[]Array data record

Respons CSV (format=csv)

id,title,date,klasifikasi,desa,kecamatan,...
cm3abc123,"Bersih Desa Loano",2026-03-15,Lengger,Loano,Loano,...
cm3def456,"Suraan Wadaslintang",2026-03-16,"Lengger & Jaranan",Wadaslintang,Wadaslintang,...

Respons CSV dihasilkan sebagai file download dengan header Content-Disposition: attachment. Nama file: {TableName}_{YYYY-MM-DD}.csv. Field yang mengandung koma, tanda kutip, atau baris baru otomatis di-escape dengan tanda kutip ganda.

Error Codes

Kode status HTTP dan pesan error yang mungkin dikembalikan

StatusKondisiRespons
200Request berhasilJSON/CSV data
400Nama tabel tidak valid{ error: "Invalid table: X", allowedTables: [...] }
500Server error{ error: "Failed to fetch dataset" }

Data Dictionary

Deskripsi lengkap setiap field dalam 4 dataset — Codebook / Data Dictionary

GETLenggerEvent

Data Pentas Budaya Rakyat · Folk Performance Event Data

FieldTipeDeskripsiContoh
idstring (CUID)ID unik acaracm3abc123xyz
titlestringJudul/nama acaraBersih Desa Loano
descriptionstring | nullDeskripsi acaraAcara bersih desa...
datestring (ISO 8601)Tanggal pentas2026-03-15T00:00:00.000Z
locationstring | nullLokasi acaraBalai Desa Loano
dusunstring | nullDusun/padukuhanDusun Krajan
desastring | nullNama desaLoano
kecamatanstring | nullNama kecamatanLoano
kabupatenstring | nullNama kabupatenWonosobo
provinsistring | nullNama provinsiJawa Tengah
komunitasBudayastring | nullKomunitas budaya (menggunakan separator `;`)Sido Mukti;Mudo Ngesti
artisLenggerstring | nullNama penari/artis Lengger (menggunakan separator `;`)Sri Lestari;Dewi Rahayu
sindenstring | nullNama sinden/penyanyi (menggunakan separator `;`)Bu Wagi;Bu Darmi
klasifikasistring | nullJenis pertunjukan (menggunakan separator `&` dan `,` untuk multi-klasifikasi)Lengger & Jaranan
statusstring | nullStatus acaracompleted
categorystring | nullKategori acaraBersih Desa
createdAtstring (ISO 8601)Waktu pembuatan record2026-03-15T08:30:00.000Z
updatedAtstring (ISO 8601)Waktu update terakhir2026-03-15T10:00:00.000Z

GETArchive

Arsip Digital Budaya Terstruktur · Cultural Advancement Archive Data

FieldTipeDeskripsiContoh
idstring (CUID)ID unik arsipcm3def456
titlestringJudul arsipDokumentasi Bersih Desa Loano
typestringTipe arsip: video, shorts, film, postingan, terbitan (dan legacy: foto, dokumen, artikel)video
descriptionstring | nullDeskripsi arsipVideo dokumentasi...
fileUrlstring | nullURL file arsip (PDF, gambar, dll)https://blob.vercel-storage.com/...
thumbnailUrlstring | nullURL thumbnail/gambar previewhttps://blob.vercel-storage.com/...
youtubeUrlstring | nullURL YouTube (video/shorts)https://www.youtube.com/live/abc123
datestring (ISO 8601) | nullTanggal arsip2026-03-15T00:00:00.000Z
locationstring | nullLokasiWonosobo
tagsstring | nullTag/kata kuncilengger;bersih desa;wonosobo
publishedbooleanStatus publikasitrue
publishedAtstring (ISO 8601) | nullWaktu publikasi2026-03-15T10:00:00.000Z
lenggerEventIdstring | nullID acara LenggerEvent terkait (foreign key)cm3abc123
createdAtstring (ISO 8601)Waktu pembuatan record
updatedAtstring (ISO 8601)Waktu update terakhir

GETPodcast

Data Episode Podcast · Podcast Episode Data

FieldTipeDeskripsiContoh
idstring (CUID)ID unik episode
titlestringJudul episodeEp. 50 - Lengger di Era Digital
descriptionstring | nullDeskripsi episode
episodeNumberintegerNomor episode50
youtubeUrlstring | nullURL YouTube episodehttps://www.youtube.com/live/xyz789
durationstring | nullDurasi episode45:30
coverUrlstring | nullURL gambar cover
guestsstring | nullNama tamu/undanganPak Hartono;Bu Sri
tagsstring | nullTag/kata kunci
publishedbooleanStatus publikasi
publishedAtstring (ISO 8601) | nullWaktu publikasi
createdAtstring (ISO 8601)Waktu pembuatan record
updatedAtstring (ISO 8601)Waktu update terakhir

GETReport

Data Laporan Analitis · Analytical Report Data

FieldTipeDeskripsiContoh
idstring (CUID)ID unik laporan
titlestringJudul laporanLaporan Triwulan I 2026
typestringTipe laporan: weekly, monthly, quarterly, annualquarterly
periodstring | nullPeriode laporanJanuari - Maret 2026
contentstring | nullKonten/isian laporan
summarystring | nullRingkasan laporan
fileUrlstring | nullURL file laporan (PDF)
createdAtstring (ISO 8601)Waktu pembuatan record
updatedAtstring (ISO 8601)Waktu update terakhir

Konvensi Separator / Separator Conventions

Field multi-nilai menggunakan separator berbeda:

  • ;komunitasBudaya, artisLengger, sinden — memisahkan nama individu. Contoh: Sido Mukti;Mudo Ngesti = 2 komunitas budaya
  • & ,klasifikasi — memisahkan bentuk pertunjukan dalam satu acara. Contoh: Topeng Ireng & Warok = 1 acara dengan 2 bentuk pertunjukan

Contoh Penggunaan

Contoh request dan integrasi dalam berbagai bahasa pemrograman

cURL

# Ambil data pentas dalam format JSON
curl "https://jayasanganusantara.or.id/api/v1/dataset/LenggerEvent"

# Download data pentas dalam format CSV
curl "https://jayasanganusantara.or.id/api/v1/dataset/LenggerEvent?format=csv" -o lengger.csv

# Cari pentas di kecamatan tertentu
curl "https://jayasanganusantara.or.id/api/v1/dataset/LenggerEvent?search=Loano"

# Ambil 50 episode podcast terbaru
curl "https://jayasanganusantara.or.id/api/v1/dataset/Podcast?limit=50"

JavaScript / TypeScript

// Fetch data pentas budaya
const response = await fetch(
  'https://jayasanganusantara.or.id/api/v1/dataset/LenggerEvent?limit=100'
)
const { data, recordCount, citation } = await response.json()

console.log(`Loaded ${recordCount} events`)
console.log(`Citation: ${citation}`)

// Process events
for (const event of data) {
  console.log(`${event.title} - ${event.klasifikasi} - ${event.desa}`)
}

// Get klasifikasi distribution
const klasifikasi = data.reduce((acc, e) => {
  if (e.klasifikasi) {
    e.klasifikasi.split(/\s*[&,]\s*/).forEach(k => {
      acc[k.trim()] = (acc[k.trim()] || 0) + 1
    })
  }
  return acc
}, {})

Python

import requests
import pandas as pd

# Fetch data pentas budaya
response = requests.get(
    "https://jayasanganusantara.or.id/api/v1/dataset/LenggerEvent",
    params={"limit": 1000}
)
data = response.json()

print(f"Loaded {data['recordCount']} events")
print(f"Citation: {data['citation']}")

# Convert to pandas DataFrame
df = pd.DataFrame(data['data'])

# Klasifikasi distribution
df['klasifikasi'].str.split(r'\s*[&,]\s*').explode().value_counts()

# Download CSV directly
csv_response = requests.get(
    "https://jayasanganusantara.or.id/api/v1/dataset/LenggerEvent",
    params={"format": "csv"}
)
with open("lengger_data.csv", "w") as f:
    f.write(csv_response.text)

R

library(jsonlite)
library(dplyr)

# Fetch data pentas budaya
data <- fromJSON("https://jayasanganusantara.or.id/api/v1/dataset/LenggerEvent?limit=1000")

cat("Loaded", data$recordCount, "events\n")
cat("Citation:", data$citation, "\n")

# Convert to data frame
df <- as.data.frame(data$data)

# Klasifikasi frequency
df %>%
  count(klasifikasi, sort = TRUE) %>%
  head(10)

Sitasi & Lisensi

Citation template and licensing information for academic use

Template Sitasi / Citation Template

Yayasan Jaya Sanga Nusantara. (2026). Monitor Lengger — Data Pentas Budaya Rakyat Kabupaten Wonosobo [Dataset]. jayasanganusantara.or.id. Licensed under CC BY 4.0.

Template sitasi otomatis disertakan dalam setiap respons API (field citation). Tanggal akses otomatis ditambahkan sesuai waktu request.

Lisensi: CC BY 4.0

Seluruh data didistribusikan di bawah lisensiCreative Commons Attribution 4.0 International (CC BY 4.0). Anda bebas untuk membagikan dan mengadaptasi data untuk tujuan apapun, termasuk komersial, dengan syarat memberikan atribusi yang sesuai.

Dibolehkan: Share, copy, redistribute, adapt, remix, transform, build upon, commercial use
Syarat: Must give appropriate credit, provide link to license, indicate changes made

FAIR Compliance

Bagaimana API ini memenuhi prinsip FAIR (Findable, Accessible, Interoperable, Reusable)

F

Findable

  • Schema.org/Dataset JSON-LD markup di halaman /data
  • Google Dataset Search terindex
  • OpenAPI 3.0 specification tersedia
  • Sitemap.xml mencantumkan halaman dataset
A

Accessible

  • API publik tanpa autentikasi
  • Format JSON (machine-readable) dan CSV (spreadsheet)
  • CORS headers untuk cross-origin access
  • Caching headers (1 jam) untuk performa
I

Interoperable

  • REST API dengan standar HTTP
  • OpenAPI 3.0 specification
  • JSON-LD structured data (Schema.org)
  • Field naming konsisten (camelCase)
R

Reusable

  • Lisensi CC BY 4.0 eksplisit
  • Citation template otomatis di respons
  • Data Dictionary / Codebook lengkap
  • Versioning (1.0.0) di setiap respons

Mulai Eksplorasi Data

Akses dataset terbuka pertunjukan rakyat Wonosobo langsung dari browser atau kode Anda.