jdih.kemenkeu.go.id APIjdih.kemenkeu.go.id ↗
Search and retrieve Indonesian Ministry of Finance legal documents, metadata, and downloadable files via the JDIH Kemenkeu API. 4 endpoints.
curl -X GET 'https://api.parse.bot/scraper/28adf406-de91-41c1-8d27-973ab86b332a/search_documents?page=1&bentuk=Peraturan+Menteri&keyword=pajak' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for legal documents in the Indonesian Ministry of Finance database with various filters. Returns paginated results sorted by date or relevance.
| Param | Type | Description |
|---|---|---|
| teu | string | Tajuk Entri Utama (Issuing Body) filter. |
| page | integer | Page number for pagination. |
| tema | string | Topic/Theme filter. |
| label | string | Document label filter. |
| nomor | string | Document number filter. |
| order | string | Sort order: 'desc', 'asc', or 'rel'. |
| tahun | string | Year of publication filter (e.g. '2026'). |
| bentuk | string | Document type filter (e.g. 'Peraturan Menteri', 'Keputusan Menteri', 'Undang-Undang'). Use get_jenis_dokumen_options to see all accepted values. |
| status | string | Document status filter ('Berlaku', 'Tidak Berlaku'). |
| keyword | string | Search keyword to find in document titles and content. |
{
"type": "object",
"fields": {
"items": "array of document objects with fields: produk_hukum_id, slug, bentuk, no, tahun, nomor, status, judul, teu, tanggal_penetapan, tanggal_pengundangan, full_text_pdf, label, tematik",
"query": "object containing the query parameters used",
"total_results": "integer total number of matching documents"
},
"sample": {
"data": {
"items": [
{
"no": 28,
"teu": "Direktorat Jenderal Pajak",
"slug": "pmk-28-tahun-2026",
"judul": "Tata Cara Pengembalian Pendahuluan Kelebihan Pembayaran Pajak",
"label": [
"TATA CARA ",
"PENGEMBALIAN PEMBAYARAN PAJAK"
],
"nomor": "PMK 28 TAHUN 2026",
"tahun": 2026,
"bentuk": "Peraturan Menteri",
"status": "Berlaku",
"tematik": [],
"full_text_pdf": "/api/download/2F725288-4479-49F5-AD2F-06D7C795834C/2026pmkeuangan028.pdf",
"produk_hukum_id": "b7424338-8d8a-4534-9e2f-1bf267739cbf",
"tanggal_penetapan": "2026-04-29 12:00:00",
"tanggal_pengundangan": "2026-04-30 12:00:00"
}
],
"query": {
"page": "1",
"order": "desc",
"keyword": "pajak"
},
"total_results": 10000
},
"status": "success"
}
}About the jdih.kemenkeu.go.id API
The JDIH Kemenkeu API provides 4 endpoints to search, filter, and retrieve legal documents from Indonesia's Ministry of Finance legal document database. The search_documents endpoint returns paginated results with fields like judul, bentuk, status, and tanggal_penetapan, while get_document_detail exposes full metadata including linked documents and downloadable file URLs. It covers regulations, ministerial decisions, and other formal legal products issued by Indonesia's financial authority.
Search and Filter Legal Documents
The search_documents endpoint accepts multiple optional filters: bentuk (document type, e.g. Peraturan Menteri, Undang-Undang), tahun (publication year), teu (issuing body), tema (topic), nomor (document number), and label. Results are paginated and can be ordered by date (asc/desc) or relevance (rel). Each item in the response includes produk_hukum_id, slug, nomor, status, judul, and tanggal_penetapan. The query object echoes the filters applied, and total_results gives the full match count.
Document Detail and File Access
get_document_detail accepts a slug from search results and returns comprehensive metadata: teu (issuing body), unit and kode_unit (organizational unit), status, links (related document references), and a files array. Each file object includes jenis, keterangan, filename, size_kb, and a direct url for download. get_document_files targets the same slug and returns just the file list — useful when only file access is needed without reloading full document metadata.
Discover Valid Filter Values
get_jenis_dokumen_options requires no inputs and returns the full list of valid bentuk document type values along with their judul (display label) and total document count. Use this to populate filter dropdowns or verify what types exist in the database before querying search_documents with the bentuk parameter.
- Aggregate and monitor newly issued Indonesian Ministry of Finance regulations by filtering
search_documentsontahunandbentuk. - Build a compliance tracker that checks the
statusfield of specific legal documents retrieved viaget_document_detail. - Automate download pipelines for official regulation PDFs using
urlvalues fromget_document_files. - Index Indonesian financial law documents for full-text search by pulling
judul,nomor, and metadata from search results. - Enumerate all ministerial decision types and their counts using
get_jenis_dokumen_optionsto scope research queries. - Trace related legal documents using the
linksarray returned byget_document_detailto map regulatory relationships.
| 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 | 250 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 JDIH Kemenkeu have an official public developer API?+
How does pagination work in search_documents, and what does the response include?+
page parameter controls which page of results is returned. The response includes an items array of document objects, a query object reflecting the filters applied, and a total_results integer indicating the full count of matching documents across all pages.Can I retrieve the full text content of legal documents through this API?+
get_document_files and get_document_detail), but does not parse or return extracted text content from within those files. You can fork this API on Parse and revise it to add an endpoint that fetches and extracts text from the document files.What document types are available, and how do I know which bentuk values are valid?+
get_jenis_dokumen_options first — it returns every valid bentuk value with its display label (judul) and document count (total). Examples include Peraturan Menteri, Keputusan Menteri, and Undang-Undang. Pass the returned value field directly as the bentuk parameter in search_documents.Does the API support searching by the full document title or free-text keyword?+
search_documents endpoint currently filters by structured fields: bentuk, tahun, teu, tema, nomor, and label. Free-text title or keyword search is not exposed as a parameter. You can fork this API on Parse and revise it to add a keyword search parameter if the underlying source supports it.